一、环境准备:
1、先了解下HDP2.4
HDP2.4包含了hadoop2.7、hive1.2.1、tez0.7等等比较新的组件,具体可参考官方文档:http://zh.hortonworks.com/hdp/whats-new/。
2、搭建本地yum源
当服务器没有外网环境或者网络情况不好时,可以搭建本地yum源,先要下载hdp和ambari的相关文件,参照官方文档,需要下载下面三个文件:
http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.2.1.0/ambari-2.2.1.0-centos6.tar.gz
http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.4.0.0/HDP-2.4.0.0-centos6-rpm.tar.gz
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6/HDP-UTILS-1.1.0.20-centos6.tar.gz
其中具体的版本要根据自己的操作系统版本来选择,然后开始搭建本地yum源,可以使用tomcat或者apache,这里我使用了tomcat,目录结构如下:
http://192.168.1.101:8093/ambari-2.2.1.0
http://192.168.1.101:8093/hdp/HDP
http://192.168.1.101:8093/hdp/HDP-UTILS-1.1.0.20
这样yum本地源就搭建好了。
3、开始准备服务器环境
准备好5台服务器:
hadoop1.test.cn、hadoop2.test.cn、hadoop3.test.cn、hadoop4.test.cn、hadoop5.test.cn
操作系统为redhat 6.4,其中hadoop1.test.cn作为ambari-server,hadoop5.test.cn需要安装hive组件。
下面开始检查服务器环境:
1)jdk版本:java version "1.7.0_79",要求Oracle JDK 1.7 64-bit minimum JDK 1.7_67
2)Python 2.6.6
3)查看当前系统对最大打开文件数的限制:ulimit -n,建议最小10000,如果没有设置ulimit -n 10000
4)给每台服务器设置设置FQDN(全称域名),hostname -f查看FQDN
5)创建ambari-server即hadoop1.test.cn到其它4台服务器的免ssh登陆
6)保持各台服务器时间一致
7)关闭防火墙
8)禁用SELinux和 PackageKit,检查umask的值:
在/etc/selinux/config中设置SELINUX=disabled
在/etc/yum/pluginconf.d/refresh-packagekit.conf中设置enabled=0
在/etc/profile中设置umask 0022
9)在hadoop1.test.cn和hadoop5.test.cn安装mysql数据库,分别存放ambari-server数据和hive元数据。
二、开始安装ambari-server
1、在hadoop1.test.cn的/etc/yum.repos.d/目录创建相关repo文件:
ambari.repo:
[ambari]
name=ambari-2.2.1
baseurl=http://192.168.1.101:8093/ambari-2.2.1.0/centos6/2.2.1.0-161
path=/
enabled=1
gpgcheck=0
HDP.repo:
[HDP-2.4]
name=HDP-2.4
baseurl=http://192.168.1.101:8093/hdp/HDP/centos6/2.x/updates/2.4.0.0
path=/
enabled=1
gpgcheck=0
HDP-UTILS.repo:
[HDP-UTILS-1.1.0.20]
name=HDP-UTILS-1.1.0.20
baseurl=http://192.168.1.101:8093/hdp/HDP-UTILS-1.1.0.20/repos/centos6
path=/
enabled=1
gpgcheck=0
2、安装ambari-server包
# yum install ambari-server
3、配置ambari-server的mysql环境
CREATE USER 'ambari'@'localhost' IDENTIFIED BY 'ambari';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'localhost';
CREATE USER 'ambari'@'%' IDENTIFIED BY 'ambari';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
CREATE USER 'ambari'@'hadoop1.test.cn'IDENTIFIED BY 'ambari';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'hadoop1.test.cn';
FLUSH PRIVILEGES;
SOURCE /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;
# ambari-server steup
由于我们已经安装好了jdk和mysql数据库,所以安装时要记得自定义jdk和数据库,并选择系统已有的jdk和mysql数据库。# ambari-server start
启动完毕可以查看状态:# ambari-server status
6)打开ambari-server的web管理页面:
# ambari-server reset
然后就可以重新配置安装ambari-server了:
# ambari-server steup
三、使用ambari-server管理页面创建集群
1、使用web页面创建集群很简单,其中在选择自动和手动创建ambari-agent时,如果自动创建失败,可以试试手动创建,手动创建需要提前做好以下步骤:
2、在启动hive服务之前,需要在hive的mysql数据库做如下配置:
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java-5.1.7-bin.jar
CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost';
CREATE USER 'hive'@'%' IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
CREATE USER 'hive'@'hadoop5.test.cn'IDENTIFIED BY 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'hadoop5.test.cn';
FLUSH PRIVILEGES;