简介
Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的供应、管理和监控。Ambari已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeper、Sqoop和Hcatalog等。
Apache Ambari 支持HDFS、MapReduce、Hive、Pig、Hbase、Zookeper、Sqoop和Hcatalog等的集中管理。也是5个顶级hadoop管理工具之一。Ambari能够安装安全的(基于Kerberos)Hadoop集群,以此实现了对Hadoop 安全的支持,提供了基于角色的用户认证、授权和审计功能,并为用户管理集成了LDAP和Active Directory。
Apache Ambari 是开源的。
本次安装的Ambari的版本为
2.7.3.0
,官方参考文档。Ambari 2.7.3 supports only HDP-3.1.0 and HDF-3.2.0
Ambari只能管理一个集群。
环境准备
节点准备
本次准备4个节点
名称 | IP | 系统 | CPU | 内存 | 磁盘 |
---|---|---|---|---|---|
master | 10.186.63.57 | centos7.5 | 4 | 8G | 60G |
node01 | 10.186.63.112 | centos7.5 | 4 | 8G | 60G |
node02 | 10.186.63.119 | centos7.5 | 4 | 8G | 60G |
node03 | 10.186.63.174 | centos7.5 | 4 | 8G | 60G |
系统初始化(所有节点)
初始化系统安装更新及常用软件1
2yum update -y
yum install wget zip unzip gcc* openssl ntpdate lrzsz vim -y
安装Ambari需要的应用有:yum、rpm、scp、curl、unzip、tar、wget、gcc*、openssl、python
。
部分应用系统已经自带不用安装。
修改打开最大文件数(所有节点)
建议的最大文件数配置为大于等于10000,运行命令检查1
2ulimit -Sn
ulimit -Hn
如果数值小于10000,运行以下命令配置1
ulimit -n 10000
配置主机名和hosts解析(所有节点)
配置主机名1
hostnamectl set-hostname master
其他节点命令相同
修改hosts解析,编辑文件/etc/hosts,增加如下内容。1
2
3
410.186.63.57 master
10.186.63.112 node01
10.186.63.119 node02
10.186.63.174 node03
时间同步(所有节点)
添加定时任务1
echo "0 */1 * * * /usr/sbin/ntpdate 10.186.61.39" >> /var/spool/cron/root
10.186.61.39为内网中一台时间服务器,也可以使用其他地址。
修改时区1
2mv /etc/localtime /etc/localtime.bak
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
SSH免密登录
在master节点上安装ambari server,在其他节点安装ambari agent,server端控制agent端通过ssh,所以在此处配置ssh免密登录。
server端执行1
ssh-keygen
在根目录会生成以下两个文件1
2.ssh/id_rsa
.ssh/id_rsa.pub
添加公钥到所有的节点
授权1
2chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
连接测试1
ssh root@node01
修改网络配置
1 | vim /etc/sysconfig/network |
增加以下两行1
2NETWORKING=yes
HOSTNAME=<fully.qualified.domain.name>
个人认为第二行不用加
关闭防火墙(所有节点)
1 | systemctl stop firewalld.service |
关闭SELinux(所有节点)
1 | sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config |
安装MySQL JDBC驱动(所有节点)
1 | wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz |
或者1
yum install mysql-connector-java -y
配置JDK(所有节点)
1 | rpm -ivh jdk-8u211-linux-x64.rpm |
也可以不用安装,参考步骤配置ambari server。
安装Mysql
在master节点上安装,也可以在其他节点。
版本要求:5.5及其以后版本。
数据库使用mysql数据库,具体安装步骤参考:
Mysql自动安装脚本
Mysql安装
创建需要用到的数据库及数据库用户并配置赋权1
2
3
4
5CREATE DATABASE ambari DEFAULT CHARACTER SET utf8;
CREATE USER 'ambari'@'%' IDENTIFIED BY 'francis';
GRANT ALL PRIVILEGES ON ambari.* TO 'ambari'@'%' WITH GRANT OPTION;
commit;
flush privileges;
暂时只创建ambari的数据库,其他数据库根据需求自行创建。
配置本地源
网络情况比较好,我就是不配置!
因为ambari 和 hdp 安装文件比较大,如果在线安装的话会很慢,所以最好选择本地源。
(可以在集群可以访问的任何机器上制作本地源)
安装制作本地源工具
1 | yum install yum-utils createrepo |
创建一个HTTP服务器
1 | yum install httpd -y |
为Web服务器创建目录
1 | mkdir -p /var/www/html/hdp/HDP-UTILS |
下载系统对应的最新版相关安装包
其中包括Ambari、HDP、HDP-UTILS,由于HDP-GPL较小只有几百k,所以没有配置为本地源。
下载
1 | wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.3.0/ambari-2.7.3.0-centos7.tar.gz |
下载地址见官方文档:https://docs.hortonworks.com/HDPDocuments/Ambari-2.7.3.0/bk_ambari-installation/content/ch_using-local-repos.html1
2
3tar -zxvf ambari-2.7.3.0-centos7.tar.gz -C /var/www/html
tar -zxvf HDP-3.1.0.0-centos7-rpm.tar.gz -C /var/www/html/hdp/
tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/hdp/HDP-UTILS/
解决在浏览器访问http://10.186.63.57/hdp/HDP/centos7/2.7.3.0 为空白
原因:该目录下index.xml使用了 https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js 国内访问不了谷歌,将index.xml注释掉即可1
2cd /var/www/html/hdp/HDP/centos7/3.1.0.0-91
mv index.xml index.xml.bak
此时应该可以在浏览器访问下面的地址了,可以验证一下
http://10.186.63.57/ambari/centos7/2.7.3.0-3
http://10.186.63.57/hdp/HDP/centos7/3.1.0.0-91
http://10.186.63.57/hdp/HDP-UTILS
配置ambari、HDP、HDP-UTILS的本地源
1 | cp /var/www/html/ambari/centos7/2.7.3.0-3/ambari.repo /etc/yum.repos.d/ |
将每个repo里的baseurl和gpgkey的地址修改为本地的1
vim /etc/yum.repos.d/ambari.repo
1 | #VERSION_NUMBER=2.7.3.0-3 |
1 | vim /etc/yum.repos.d/hdp.repo |
1 | #VERSION_NUMBER=3.1.0.0-91 |
1 | yum clean all |
(可选)如果您的环境中配置了多个存储库,请在集群中的所有节点上部署以下插件
1 | yum install yum-plugin-priorities -y |
1 | [main] |
安装Ambari
配置yum源(所有节点)
1 | wget -nv http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.3.0/ambari.repo -O /etc/yum.repos.d/ambari.repo |
安装ambari server
master节点操作1
yum install ambari-server -y
配置ambari server
1 | # ambari-server setup |
选择JDK步骤,因为我们已经安装了JDK环境,可以选择2。
配置的结果保存在/etc/ambari-server/conf
,主要是文件/etc/ambari-server/conf/ambari.properties
,可以打开文件去验证。
启动ambari server
1 | # ambari-server start |
访问http://10.186.63.57:8080
,默认用户admin,密码为admin。
安装大数据库平台过程
进入web页面,一切按照提示进行即可,以下截图为提示步骤!
此处如果没有配置本地源,可以直接NEXT,如果配置了本地源可以选择使用Use Local Repository
。
此处选择添加节点,已经配置过hosts,所以可以直接写hostname。密钥即为在master生成的id_rsa文件。
此处选择要安装的服务,根据自己的需求安装即可。
其中SmartSense为必选项,其他需要添加服务根据提示。
写文档时中选择了HDFS、Zookeeper、Ambari Metrics、Smart Sense服务。
以下截图为安装完成后,整个界面的概览。
到此,安装Ambari过程已结束。