Ambari是什么?
Ambari跟Hadoop等开源软件一样,也是 Apache Software Foundation 中的一个项目。并且是顶级项目。就Ambari的作用来说。就是创建、管理、监视、Hadoop的集群,但是这里的Hadoop是广义,指的是Hadoop整个生态圈(例如 Hive,Hbase,Sqoop,Zookeeper 等),而并不仅是特指Hadoop。用一句话来说,Ambari就是为了让Hadoop以及相关的大数据软件更容易使用的一个工具。
说道这里大家应该明白什么人需要Ambari了。那些苦苦话费几天去安装、调试Hadoop的初学者是最能体会到Ambari的方便之处的。而且,Ambari现在所支持的平台组件越来越多,例如流行的Spark,Storm等计算框架,以及资源调度平台YARN等,我们都能轻松地通过Ambari来进行部署。
Ambari自身也是一个分布式架构的软件,主要由两部分组成:Ambari Server和Ambari Agent。简单来说,用户Ambari Server和Ambari Agent安装对应软件;Agent会定时发送给各个机器每个软件模块和状态给Ambari Server。最终这些状态信息会呈现Ambari的GUI,方便用户了解到集群的各种状态,并进行相应的维护。
Ambari的安装
硬件环境
准备centos7:7台机器
下面开始安装
1.将7台机器的放过墙全部关闭
systemctl stop firewalld;systemctl dosable firewalld
2.创建密钥,并更名。
ssh-keygen -t rsa -f /root/.ssh/id_rsa -N ' '
cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
3.编辑hosts文件,并将配置文件复制到root下
vim /etc/hosts
192.168.122.1 node1.abc.com 192.168.122.2 node2.abc.com 192.168.122.3 node3.abc.com 192.168.122.4 node4.abc.com 192.168.122.5 node5.abc.com 192.168.122.6 node6.abc.com 192.168.122.7 node7.abc.com
cp /etc/hosts ./hosts
node2.abc.com node3.abc.com node4.abc.com node5.abc.com node6.abc.com node7.abc.com
4.推送密钥,使用for循环
for i in `cat /etc/hosts` ; do scp -r /root/.ssh $i:/root ; done
5.修改每台主机名便于识别
hostnamectl set-hostname node1.abc.com
6.创建ambari源,并拷贝到其余的机器
vim /etc/yum.repo.d/ambari.repo #VERSION_NUMBER=2.2.2.0-460 [Updates-ambari-2.2.2.0] name=ambari-2.2.2.0 - Updates baseurl=http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.2.2.0 gpgcheck=1 gpgkey=http://public-repo-1.hortonworks.com/ambari/centos7/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins enabled=1 priority=1
for i in `cat /etc/hosts` do scp ambari.repo $i:/etc/yum.repos.d/; done
7.创建JDK目录,获取JDK压缩包并解压,拷贝到指定目录中
mkdir /usr/local/jdk
tar xf jdk(因版本的原因,简称jdk)
cd jdk
cp -r * /usr/local/jdk
8.设置环境变量,并拷贝变量文件和JDK目录给其他服务器
vim /etc/profile
JAVA_HOME=/usr/local/jdk PATH=$PATH:$JAVA_HOME/bin export JAVA_HOME PATH
for i in `cat /etc/hosts` ;do scp -r /usr/local/jdk $i:/usr/local/ , scp -r /etc/profile $i:/etc/ done
9.在所有机器上执行
source /etc/profie
10.执行完第九条命令以后回到第一台并执行下面的命令,安装mariabd,并启动,修改密码和登录
yum -y install mariadb mariadb-server systemctl enable mariadb;systemctl start mariadb mysqladmin -uroot password"abc123" mysql -uroot -p
11.安装软件
yum -y install ambari-agent ambari-server postgresql postgresql-libs postgresql-server
其余六台执行
yum -y install ambari-agent-2.6.6.0.0.rmp
12.登录Mysql数据库,创建库和表
msql -uroot -p"abc123" shou databases; create database ambari; use ambari; source /var/lib/ambari-server/resources/Ambari-DDL-SQLServer-CREATE.sql; show tables;
13.在第一台执行安装java,并执行配置
yum -y install mysql-connector-java
ambari-server setup
java -version
14.当第一台执行玩setup命令,7台机启动agent,并查看是否启动8080端口
ambari-agent start
ss -antup : grep ":8080"
大数据与云计算可谓是如今数据中心中最火的两项技术领域,几乎所有的 IT 服务商都想在这两项技术中有所建树。相信 Ambari 可以帮助一些 Hadoop 的初学者。长远看来,大数据的发展离不开云计算,云计算中 IaaS 可谓已经很成熟,并且价格低廉。这时候许多公司将目光聚集在了 PaaS。大数据的流行更是加速了相关 PaaS 产品的发展,而 Ambari 的出现必然可以拉近 IaaS 和 PaaS 的距离。也就是说有了 Ambari,或许再加上 Docker,那么快速从 IaaS 演进到 PaaS 就显得不是那么困难了。
当然这里 Ambari 要跟 IaaS 更好的切合,还有个对手那就是 Sahara。它是另一个土生土长的 OpenStack 的子项目,其目的也是为了在 Openstack 上面快速搭建 Hadoop 等集群。期望着这些项目能够快速成长,将来对大家都有所帮助。