Ambari
一、项目简介
Ambari也是Apache的顶级项目。主要用来创建、管理、监视Hadoop集群(如Hive,Hbase,Sqoop,Zookeeper等)
项目地址:http://incubator.apache.org/ambari/
Ambari自身也是一个分布式架构的软件,主要由两部分组成:Ambari Server和Ambari Agent。用户通过Ambari Server通知Ambari Agent安装对应的软件;Agent会定时地发送各个机器每个软件模块的状态给Ambari Server,最终这些状态信息会呈现在Ambari的GUI,方便用户了解到集群的各种状态,并进行相应的维护。
类似功能的商业软件是ClouderaManager。
二、Ambar安装
目前网上能找到两个发行版,一个是Apache的Ambari,另一个是Hortonworks。
测试环境
CentOS7
准备四台机器
机器 | 主机名 | IP |
机器1 | master.whr.com | 192.10.200.81 |
机器2 | slave1.whr.com | 192.10.200.85 |
机器3 | slave2.whr.com | 192.10.200.87 |
机器4 | slave3.whr.com | 192.10.200.88 |
设置主机名命令,每台分别运行,指定自己的主机名
hostnamectl --static set-hostname master.whr.com
设置hosts示例,每台都要设置
vi /etc/hosts
192.10.200.81 master.whr.com
192.10.200.85 slave1.whr.com
192.10.200.87 slave2.whr.com
192.10.200.88 slave3.whr.com
1.SSH配置
参考:
每台都要运行
vi /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
master运行
#groupadd hadoop
#useradd -d /home/hadoop -g hadoop hadoop
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
service sshd restart
scp ~/.ssh/id_rsa.pub root@slave1.whr.com:~/.ssh
scp ~/.ssh/id_rsa.pub root@slave2.whr.com:~/.ssh
scp ~/.ssh/id_rsa.pub root@slave3.whr.com:~/.ssh
slave运行
mkdir ~/.ssh
chmod 700 ~/.ssh
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
rm -r ~/id_rsa.pub
master测试
ssh slave1.whr.com
exit
ssh slave2.whr.com
exit
ssh slave3.whr.com
exit
2.其它准备工作
server
yum install createrepo -y
3.安装数据库
MySql或Postgre,这里安装Postgre,安装过程:
- 新建数据库 ambari
- 账号 ambari
- 密码 bigdata
4.获取Ambari
到http://s3.amazonaws.com/public-repo-1.hortonworks.com/index.html选定一个ambari版本,并复制对应的repo地址。
master操作
wget http://s3.amazonaws.com/public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.4.2.0/ambari.repo
yum clean all
yum list|grep ambari
yum install ambari-server
//如果报No more mirrors to try 就 yum makecache运行一次重新装
wget ftp://mirror.switch.ch/pool/4/mirror/scientificlinux/7.2/x86_64/updates/security/postgresql-libs-9.2.15-1.el7_2.x86_64.rpm;
rpm -ivh postgresql-libs-9.2.15-1.el7_2.x86_64.rpm
# 其中一步指定账号要用root
ambari-server setup #按提示进行操作
ambari-server start
slave操作
wget http://s3.amazonaws.com/public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.4.2.0/ambari.repo
#yum clean all
yum list|grep ambari
yum install ambari-agent -y
#yum install ambari-log4j -y
之后打开http://192.10.200.81:8080
默认账号/密码:admin/admin
armari-setup参数
ambari-server setup -s
--database=embedded|oracle|mysql|postgres
--databasehost=Hostname of database server
--databaseport=Database port
--databasename=Database/Schema/Service name or ServiceID
--databaseusername=Database user login
--databasepassword=Database user password
5.WEBUI 开始安装
- Launch Install Wizard
- Get Started 指定集群名
- Select Version选择HDP版本
- 选择使用公共资源库
- Install Options
- Target Hosts要指定Hosts列表,hostname要是Fully Qualified Domain Name(FQDN)。
- Host Registration Information 要选择使用私钥,并上传master的私钥。
- Confirm Hosts
让它全变绿
后面地个warnings也点开把提示的问题解决掉。 - Choose Services 选择集群中需要安装的服务
我选择了这些:
Ambari Metrics , SmartSense , Slider - Assign Masters 给各节点组件分配资源
- Assign Slaves and Clients配置从节点和客户端
- Customize Service服务的自定义配置
把有红标记的点开处理一下,一般都是浏览器自动填充的密码不正确。 - Review提供一个总结的安装列表
- Install,Start and Test
6.NameNode升级HA
- 如果启动了HBase的话,我们要先关闭HBase服务
- HDFS->Service Actions -> Enable NameNode HA
- Get Started 指定service ID
- Select Hosts 选择作为备用NameNode以及作为JournalNode的host
- Create Checkpoint,在NameNode所在的hosts执行:
sudo su hdfs -l -c 'hdfs dfsadmin -safemode enter'
sudo su hdfs -l -c 'hdfs dfsadmin -saveNamespace'
- Configure Components
- Manual Steps Required,执行
sudo su hdfs -l -c 'hdfs namenode -initializeSharedEdits'
- Start Components
- Manual Steps Required,在NameNode上执行
sudo su hdfs -l -c 'hdfs zkfc -formatZK'
在备用NameNode上执行
sudo su hdfs -l -c 'hdfs namenode -bootstrapStandby'
- Finalize HA Setup
参考文档:
https://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari/
http://www.linuxidc.com/Linux/2016-12/138142.htm
https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.5.0