1、Ambari介绍
Apache Ambari项目旨在通过开发用于配置,管理和监控Apache Hadoop集群的软件来简化Hadoop管理.
Ambari提供了一个由RESTful API支持的直观,易用的Hadoop管理Web Ul。
Ambari使系统管理员能够:
提供Hadoop集群
Ambari提供了跨任意数量的主机安装Hadoop服务的分步向导
Ambari处理集群的Hadoop服务配置
管理Hadoop集群
Ambari提供集中管理,用于在整个集群中启动,停止和重新配置Hadoop服务监控Hadoop集群
Ambari提供了一个仪表板,用于监控Hadoop集群的运行状况和状态
Ambari利用Ambari指标系统进行指标收集
Ambari利用Ambari Alert Framework进行系统警报,并在需要您注意时通知您(例如,节点出现故障剩余磁盘空间不足等)。
Ambari使应用程序开发人员和系统集成商能够
使用Ambari RESTfulAPI轻松将Hadoop配置,管理和监控功能集成到自己的应用程序中
2、架构
Ambari本身是一个分布式架构软件,主要由两部分组成:Ambari Server和Ambari Agent。用户通过Ambari Server通知Ambari Agent安装对应的软件,Agent会定时发送各个机器每个软件模块的状态给Server,最终这些状态信息会呈现给Ambari的GU1,方便用户了解到集群中各组件状态,做出相应的维护策略。
官网有部署文档
3、环境准备
3.1、硬件环境
系统
centos7.6 数量:7台
硬件 CPU:1G MEM : 2G Disk:越大越好,最低不能低于所采集的数据量
3.2、ip分配
3.3、多机互信
[root@localhost ~]# ssh-keygen -t rsa -f /root/.ssh/id_rsa -N ' '
因为sshd_config文件中有公钥认证规定 authorized_keys
修改公钥
[root@localhost ~]# cd /root/.ssh
[root@localhost .ssh]# Is
id_rsa id_rsa.pub known_hosts
[root@localhost .ssh]# cp id_rsa.pub authorized_keys
[root@localhost .ssh]# Is
authorized_keys id_rsa id_rsa.pub known_hosts
[root@localhost .ssh]# rm -rf known_hosts
删除known_hosts是因为里面存储的是主机域名信息
用for循环把公钥复制到其他服务器
[root@localhost ~]# for i in 10 20 30 40 50 60;
do
scp -r /root/.ssh 192.168.122.$i:/root;
done
3.4、主机名及主机域名解析
[root@localhost ~]# hostnamectl set-hostname ambari-server .a.com
[root@localhost ~]# hostnamectl set-hostname hd1.a.com
域名解析在/etc/hosts文件中需要配置域名 最好加上一个名称
3.5、时间同步、firewalld、selinux状态
1、时间同步
编辑定时任务,每个小时时同步一次windows主机的时间
crontab -e
0 */1 * * * ntpdate time.windows.com
2、firewalld
查看所有节点防火墙的状态
[root@localhost ~]# firewall-cmd --state
not running
3、selinux
查看所有节点selinux的状态
getenforce
Disabled
3.6、安装jdk
[root@ambari-server ~]# cp -r jdk1.8.0_191 /usr/local/jdk
[root@ambari-server ~]# for i in hd{1..6};
do
scp -r jdk1.8.0_191 $i:/usr/local/jdk;
done
修改环境变量
#查看文件中新增的两条信息
[root@localhost ~]# tail -2 /etc/profile
export JAVA_HOME=/usr/local/jdk
export PATH=${JAVA_HOME}/bin:$PATH
[root@localhost ~]# source /etc/profile
最后安装数据库就行
3.7、创建ambari数据库
agent把数据汇报server,存在数据库里面。还有hadoop集群状态和监控数据
给服务器授权访问ambri数据库,%是授权所有节点不包括本机访问数据库
数据库都是安装在ambari服务器上的
验证必须登录主机ambari-server.a.com上
3.8、安装数据库连接工具
[root@localhost ~]#yum -y install mysql-connector-java
3.9、安装httpd
安装http是为了在本地部署ambari
[root@localhost ~]# yum install httpd
[root@localhost ~]# systemctl enable httpd
ambari的部署资源最少也是10个G,必须df -h 查看磁盘空间够不够
资源是从跳板机拷贝到ambari服务器
宿主机上面准备好的HDP源及Ambari源复制到/var/www/html
解压已获取软件资源至/var/www/html及/var/www/html
[root@localhost ~]#tar xf ambari-2.6.1.0-centos7.tar,gz -C /var/www/html
[root@localhost ~]#tar xf HDP-2.6.4.0-centos7-rpm.tar.gz -C /var/www/html
[root@localhost ~]#tar xf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/ww/html
[root@localhost ~]#tar xf HDP-GPL-2.6.4.0-centos7-rpm.tar.gz -C /var/www/html
3.10、安装yum源
第一步:拷贝本地的repo,也可以用官网的
ambari.repo是安装agent和server的
第二步:分别配置ambari.repo和hdp.repo,只需要修改ambari-server域名即可
第三步:把repo配置拷贝到其他节点
第四步、部署ambari
直接在ambari-server安装yum -y ambari-server
其他节点安装ambari-agent即可
初始化ambari-server
初始化前导入ambari-server
初始化ambari-server
初始化失败可以重新初始化ambari-server reset
启动ambari-server
如果8080端口是开启的一般来说不会报错,还可以设置开机自启动:chkconfig ambari-server on
访问ambari也是通过8080端口,用户名和密码都是admin
ambari-agent配置及启动
ambari-agent启动前必须查看openssl的版本是否过低,rpm -qa |grep openssl 必须在1.0.2以上
禁用https验证方式(所有agent主机)
把配置文件上传到其他服务器
修改ambari-agent配置文件的【security】选项
scp上传本地配置文件到其他服务器
启动所有的ambari-agent
4、部署hadoop
第一步:创建hadoop集群
第二步:选择安装hadoop集群的包组
第三步:配置yum源
把乌班图等无关的yum源remove,因为centos是redhat的复刻版本(红帽发行6个月之后就会复刻一版centos)
cat /etc/yum.repos.d/hdp.repo
第四步:配置安装选项
使用完全合格域名部署 hadoop集群
配置ssh私钥免密
第五步:注册并确认部署hadoop集群的主机信息
installing状态是在安装hadoop-agent
registering状态是在注册hadoop-server
success才是成功部署hadoop集群
第六步:选择文件系统和勾选服务
zookeeper和Ambari Metrics都是监控集群的
第七步:选主、从服务器并配置
选主
选从
第八步:服务器配置
设置密码
最后点击deploy部署
5、验证
所有已安装hdfs客户端的主机均可进行验证
切换用户 hdfs调用yarn框架中的jar包进行词频统计测试hadoop集群是否可用