Ambari 是一种基于 Web 的工具,支持 Apache Hadoop 集群的供应、管理和监控。Ambari已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper、Sqoop和Hcatalog等。
开始之前
从新安装的系统,没有任何配置开始。以两台节点配置安装(master节点 和 slave节点)
ambari 支持在线安装和离线安装,由于在线安装过慢,采用离线安装的方式
下载安装资源
HDP 资源
wget http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.1.0/HDP-2.6.1.0-centos7-rpm.tar.gz
wget http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7/HDP-UTILS-1.1.0.21-centos7.tar.gz
ambari 资源
wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.0.0/ambari-2.6.0.0-centos7.tar.gz
其他版本参考以下下载地址:
双节点
关闭防火墙
systemctl disable firewalld
systemctl stop firewalld
关闭SELinux
临时
setenforce 0
永久关闭
vi /etc/sysconfig/selinux
SELINUX=disabled
配置主机名、IP 映射
vi hosts
192.168.0.128 master master.hadoop
192.168.0.129 slave slave.hadoop
master节点
hostnamectl set-hostname master
slave节点
hostnamectl set-hostname slave
互相 ping 测试联通性
master节点
ping slave.hadoop
slave节点
ping master.hadoop
配置本地源
master节点
安装 Apache HTTP 服务
yum install httpd -y
systemctl start httpd
systemctl enable httpd
解压下载的压缩包
mkdir /opt/HDP-UTILS-1.1.0.21
tar -zxvf HDP-UTILS-1.1.0.21-centos7.tar.gz -C /opt/HDP-UTILS-1.1.0.21
tar -zxvf HDP-2.6.1.0-centos7-rpm.tar.gz -C /opt
tar -zxvf ambari-2.6.0.0-centos7.tar.gz -C /opt
放置资源位置
mkdir /var/www/html/HDP-2.6.1.0/
mv /opt/HDP/centos7/* /var/www/html/HDP-2.6.1.0/
mv /opt/HDP-UTILS-1.1.0.21 /var/www/html/
mkdir /var/www/html/ambari/
mv /opt/ambari/centos7/2.6.0.0-267 /var/www/html/ambari/
配置 ambari、HDP、HDP-UTILS 本地源
cp /var/www/html/ambari/2.6.0.0-267/ambari.repo /etc/yum.repos.d/
vi ambari.repo
#VERSION_NUMBER=2.6.0.0-267
[ambari-2.6.0.0]
name=ambari Version - ambari-2.6.0.0
baseurl=http://master/ambari/2.6.0.0-267/
gpgcheck=1
gpgkey=http://master/ambari/2.6.0.0-267/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
repo文件复制给 slave 节点
scp /etc/yum.repos.d/ambari.repo root@slave:/etc/yum.repos.d/
双节点
更新 yum 源
yum clean all
yum makecache
安装集群所需环境
安装 ntp 时间同步服务
master节点
yum install ntp -y
vi /etc/ntp.conf
注释以下四行:
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
添加以下两行:
server 127.127.1.0
fudge 127.127.1.0 stratum 10
开启ntpd
systemctl start ntpd
systemctl enable ntpd
slave节点
yum install ntpdate -y
systemctl enable ntpdate
ntpdate master.hadoop
禁用Transparent Huge Pages(内存大页)
双节点
[root@master ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
[root@master ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
[root@master ~]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
[root@master ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
安装Java JDK
ambari 需要 jdk7 或 jdk8 本例采用 jdk-8u77 (1.8.0_77)
双节点
mkdir /usr/jdk64
tar -zxvf jdk-8u77-linux-x64.tar.gz -C /usr/jdk64
编辑环境变量:
vi /etc/profile
首行添加两行:
export JAVA_HOME=/usr/jdk64/jdk1.8.0_77/
export PATH=$JAVA_HOME/bin:$PATH
验证:
source /etc/profile
java -version
安装 MariaDB 数据库
master节点
yum install ambari-server -y
yum install mariadb mariadb-server mysql-connector-java -y
systemctl enable mariadb
systemctl start mariadb
安全配置向导
mysql_secure_installation
Enter current password for root (enter for none):
Set root password? [Y/n] y # 是否设置root用户密码,输入y并回车或直接回车
New password: # 设置root用户的密码 为bigdata
Re-enter new password: # 再次输入一遍
Password updated successfully!
Reloading privilege tables..
... Success!
Remove anonymous users? [Y/n] y # 是否删除匿名用户,生产环境建议删除
... Success!
Disallow root login remotely? [Y/n] n # 是否禁止root远程登录
... skipping.
Remove test database and access to it? [Y/n] y # 是否删除test数据库
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reload privilege tables now? [Y/n] y # 是否重新加载权限表
... Success!
Thanks for using MariaDB!
创建 ambari 数据库
mysql -uroot -pbigdata
create database ambari;
grant all privileges on ambari.* to 'ambari'@'localhost' identified by 'bigdata';
grant all privileges on ambari.* to 'ambari'@'%' identified by 'bigdata';
use ambari;
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
quit;
安装 Ambari
master节点
vi /etc/profile
export buildNumber=2.6.0.0
启动 ambari-server 安装向导
ambari-server setup
安装向导:
Customize user account for ambari-server daemon [y/n] (n)? n # 自定义ambari服务器后台程序的用户帐户
[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
[2] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7
[3] Custom JDK
==============================================================================
Enter choice (1): 3 # 输入选项
Path to JAVA_HOME: /usr/jdk64/jdk1.8.0_77/ # 输入JAVA安装路径
Enter advanced database configuration [y/n] (n)? y # 输入高级数据库配置
Choose one of the following options:
[1] - PostgreSQL (Embedded)
[2] - Oracle
[3] - MySQL / MariaDB
[4] - PostgreSQL
[5] - Microsoft SQL Server (Tech Preview)
[6] - SQL Anywhere
[7] - BDB
==============================================================================
Enter choice (1): 3 # 选择数据库
Hostname (localhost): # 主机名,回车默认
Port (3306): # 数据库端口,回车默认
Database name (ambari): # 数据库名,回车默认
Username (ambari): # 用户名,回车默认
Enter Database Password (bigdata): # 数据库密码,回车默认
Proceed with configuring remote database connection properties [y/n] (y)? y # 继续配置远程数据库连接属性
Adjusting ambari-server permissions and ownership...
Ambari Server 'setup' completed successfully.
配置驱动
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar
启动 ambari-server 服务
ambari-server start
安装 ambari-agent
双节点
yum install ambari-agent -y
vi /etc/ambari-agent/conf/ambari-agent.ini
[server]
hostname=master.hadoop
重启
ambari-agent restart
tail -f /var/log/ambari-agent/ambari-agent.log # 持续查看日志文件
重启成功后,在浏览器输入默认 Ambari 地址:http://master:8080
出现登录界面,默认账户:admin、密码:admin
安装 HDP 配置集群
登录成功点击 Launch Install Wizard
按钮进行集群配置
设置集群名称,接着下一步
选择版本
设置 HDP 安装源
设置集群信息
点击 Register and Confirm 后会显示警告,提示需要提前安装 ambari-agent ,之前已经安装过了,直接下一步。
主机检查
选择要安装的服务
最低需要 HDFS
YARN+MapReduce2
Ambari Metrics
服务分配 Master
分配 Slaves 和 Clients
自定义服务
需要填入密码 这里为 000000 到下一步
安装开始并进行测试
全部绿色就 ok 了