CentOS 7.2 安装 Ambari 2.2.2 + HDP 2.4.2 搭建Hadoop集群
1.安装环境说明
安装前先安装好 CentOS 7.2, jdk-8u91, mysql5.7.13
2.操作系统环境准备
2.1 配置SSH免密码登录
主节点里root用户登录执行如下步骤
ssh-keygen cd ~/.ssh/ cat id_rsa.pub >>authorized_keys chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
先在从节点登录root执行命令
mkdir ~/.ssh/
分发主节点里配置好的authorized_keys到各从节点
scp /root/.ssh/authorized_keys [email protected]:/root/.ssh/authorized_keys
2.2 创建ambari系统用户和用户组
只在主节点操作
添加ambari安装、运行用户和用户组,也可以不创建新用户,直接使用root或者系统其他账号
adduser ambari passwd ambari
2.3 开启NTP服务
所有集群上节点都需要操作
Centos 7 命令
yum install ntp systemctl is-enabled ntpd systemctl enable ntpd systemctl start ntpd
Centos 6 命令
yum install ntpd chkconfig --list ntpd chkconfig ntpd service ntpd start
2.4 检查DNS和NSCD
所有节点都要设置
ambari在安装时需要配置全域名,所以需要检查DNS。为了减轻DNS的负担, 建议在节点里用 Name Service Caching Daemon (NSCD)
vi /etc/hosts 172.31.83.171 SY-001 SY-001.Hadoop 172.31.83.172 SY-002 SY-002.hadoop 172.31.83.173 SY-003 SY-003.hadoop
每台节点里配置FQDN,如下以主节点为例
vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=SY-001.hadoop
2.5 关闭防火墙
所有节点都要设置
Centos 7 命令
systemctl disable firewalld systemctl stop firewalld
Centos 6 命令
chkconfig iptables off /etc/init.d/iptables stop
2.6 关闭SELinux
所有节点都要设置
查看SELinux状态:
sestatus
如果SELinux status参数为enabled即为开启状态
SELinux status: enabled
临时关闭,不用重启机器:
setenforce 0
修改配置文件需要重启机器:
vi /etc/sysconfig/selinux SELINUX=disabled
3.制作本地源
制作本地源只需在主节点上进行即可
3.1 相关准备工作
3.1.1安装 Apache HTTP 服务器
安装HTTP 服务器,允许 http 服务通过防火墙(永久)
yum install httpd firewall-cmd --add-service=http firewall-cmd --permanent --add-service=http
添加 Apache 服务到系统层使其随系统自动启动
systemctl start httpd.service systemctl enable httpd.service
3.1.2 安装本地源制作相关工具
yum install yum-utils createrepo
3.2 下载安装资源
下载 Ambari 2.2.2 , HDP 2.4.2 的安装资源,本次安装是在Centos 7 上,只列出centos7的资源,其他系统的请现在对用系统的资源
Ambari 2.2.2 下载资源
OS | Format | URL |
---|---|---|
CentOS 7 | Base URL | http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.2.2.0 |
CentOS 7 | Repo File | http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.2.2.0/ambari.repo |
CentOS 7 | Tarball md5 asc | http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.2.2.0/ambari-2.2.2.0-centos7.tar.gz |
HDP 2.4.2 下载资源
OS | Repository Name | Format | URL |
---|---|---|---|
CentOS 7 | HDP | Base URL | http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.4.2.0 |
CentOS 7 | HDP | Repo File | http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.4.2.0/hdp.repo |
CentOS 7 | HDP | Tarball md5 asc | http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.4.2.0/HDP-2.4.2.0-centos7-rpm.tar.gz |
CentOS 7 | HDP-UTILS | Base URL | http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos7 |
CentOS 7 | HDP-UTILS | Repo File | http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos7/HDP-UTILS-1.1.0.20-centos7.tar.gz |
下载上面列表的中的压缩包,
需要下载的压缩包如下:
Ambari 2.2.2 http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.4.0.0/HDP-2.4.0.0-centos7-rpm.tar.gz HDP 2.4.2 http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.2.2.0/ambari-2.2.2.0-centos7.tar.gz HDP-UTILS 1.1.0 http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos7/HDP-UTILS-1.1.0.20-centos7.tar.gz
在httpd网站根目录,默认是即/var/www/html/,创建目录ambari,
并且将下载的压缩包解压到/var/www/html/ambari目录
cd /var/www/html/ mkdir ambari cd /var/www/html/ambari/ tar -zxvf ambari-2.2.2.0-centos7.tar.gz tar -zxvf HDP-2.4.2.0-centos7-rpm.tar.gz tar -zxvf HDP-UTILS-1.1.0.20-centos7.tar.gz
验证httd网站是否可用,可以使用links 命令或者浏览器直接访问下面的地址:
links http://172.31.83.171/ambari/
结果如下:
3.3 配置ambari、HDP、HDP-UTILS的本地源
首先下载上面资源列表中的相应repo文件,修改其中的URL为本地的地址,相关配置如下:
ambari.repo
#VERSION_NUMBER=2.2.2.0-460 [Updates-ambari-2.2.2.0] name=ambari-2.2.2.0 - Updates baseurl=http://172.31.83.171/ambari/AMBARI-2.2.2.0/centos7/2.2.2.0-460 gpgcheck=1 gpgkey=http://172.31.83.171/ambari/AMBARI-2.2.2.0/centos7/2.2.2.0-460/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins enabled=1 priority=1
hdp.repo
#VERSION_NUMBER=2.4.2.0-258 [HDP-2.4.2.0] name=HDP Version - HDP-2.4.2.0 baseurl=http://172.31.83.171/ambari/HDP/centos7/2.x/updates/2.4.2.0 gpgcheck=1 gpgkey=http://172.31.83.171/ambari/HDP/centos7/2.x/updates/2.4.2.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins enabled=1 priority=1 [HDP-UTILS-1.1.0.20] name=HDP Utils Version - HDP-UTILS-1.1.0.20 baseurl=http://172.31.83.171/ambari/HDP-UTILS-1.1.0.20/repos/centos7 gpgcheck=1 gpgkey=http://172.31.83.171/ambari/HDP/centos7/2.x/updates/2.4.2.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins enabled=1 priority=1
将上面的修改过的源放到/etc/yum.repos.d/下面
yum clean all yum list update yum makecache yum repolist
3.4 安装Mysql数据库
Ambari安装会将安装等信息写入数据库,建议使用自己安装的Mysql数据库,也可以不安装而使用默认数据库PostgreSQL
MySQL数据库安装过程请参考下面文章:
安装完成后创建ambari数据库及用户,登录root用户执行下面语句:
create database ambari character set utf8 ; CREATE USER 'ambari'@'%'IDENTIFIED BY 'Ambari-123'; GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%'; FLUSH PRIVILEGES;
如果要安装Hive,再创建Hive数据库和用户 再执行下面的语句:
create database hive character set utf8 ; CREATE USER 'hive'@'%'IDENTIFIED BY 'Hive-123'; GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%'; FLUSH PRIVILEGES;
如果要安装Oozie,再创建Oozie数据库和用户 再执行下面的语句:
create database oozie character set utf8 ; CREATE USER 'oozie'@'%'IDENTIFIED BY 'Oozie-123'; GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%'; FLUSH PRIVILEGES;
安装mysql jdbc 驱动
yum install mysql-connector-java
3.5 安装JDK
安装解压版JDK,先到官网下载jdk-8u91-linux-x64.tar.gz
,再执行下面命令:
tar -zxvf jdk-8u91-linux-x64.tar.gz -C /opt/java/ vim /etc/profile export JAVA_HOME=/opt/java/jdk1.8.0_91 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar PATH=$PATH:$HOME/bin:$JAVA_HOME/bin source /etc/profile
4.进行安装Ambari
4.1 安装Ambari2.2.2
4.1.1安装Ambari
yum install ambari-server
4.1.2配置Ambari
ambari-server setup
下面是配置执行流程,按照提示操作
1.检查SELinux是否关闭,如果关闭不用操作
Using Python /usr/bin/python Setup ambari-server Checking SELinux... SELinux status is 'disabled'
2.提示是否自定义设置。输入:y
Customize user account for ambari-server daemon [y/n] (n)? y
3.ambari-server 账号。输入:ambari
Enter user account for ambari-server daemon (root):ambari Adjusting ambari-server permissions and ownership...
4.检查防火墙,如果关闭则不用操作
Checking firewall status... Redirecting to /bin/systemctl status iptables.service
5.设置JDK。输入:3
Checking JDK... Do you want to change Oracle JDK [y/n] (n)? y [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
6.如果上面选择3自定义JDK,则需要设置JAVA_HOME。输入:/opt/java/jdk1.8.0_91
WARNING: JDK must be installed on all hosts and JAVA_HOME must be valid on all hosts. WARNING: JCE Policy files are required for configuring Kerberos security. If you plan to use Kerberos,please make sure JCE Unlimited Strength Jurisdiction Policy Files are valid on all hosts. Path to JAVA_HOME: /opt/java/jdk1.8.0_91 Validating JDK on Ambari Server...done. Completing setup...
7.数据库配置。选择:y
Configuring database... Enter advanced database configuration [y/n] (n)? y
8.选择数据库类型。输入:3
Configuring database... ============================================================================== Choose one of the following options: [1] - PostgreSQL (Embedded) [2] - Oracle [3] - MySQL [4] - PostgreSQL [5] - Microsoft SQL Server (Tech Preview) [6] - SQL Anywhere ============================================================================== Enter choice (3): 3
9.设置数据库的具体配置信息,根据实际情况输入,如果和括号内相同,则可以直接回车。
Hostname (localhost): Port (3306): Database name (ambari): Username (ambari): Enter Database Password (Ambari-123):
10.提示必须安装MySQL JDBC,回车结束ambari配置
WARNING: Before starting Ambari Server, you must copy the MySQL JDBC driver JAR file to /usr/share/java. Press <enter> to continue.
11.将Ambari数据库脚本导入到数据库
如果使用自己定义的数据库,必须在启动Ambari服务之前导入Ambari的sql脚本
用Ambari用户(上面设置的用户)登录mysql mysql -u ambari -p use ambari source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
4.1.3启动Amabri
执行启动命令,启动Ambari服务
ambari-server start
成功启动后在浏览器输入Ambari地址:
http://sy-001.hadoop:8080/
出现登录界面,默认管理员账户登录, 账户:admin 密码:admin
登录成功后出现下面的界面,至此Ambari的安装成功
4.2 安装安装HDP 2.4.2 配置集群
点击上面登录成功页面的Launch Install Wizard 按钮进行集群配置
4.2.1设置集群名称
4.2.2设置HDP 安装源
选择HDP2.4 ,并且设置Advanced Repository Options 的信息,本次使用本地源,所以修改对用系统的安装源为本地源地址。
4.2.3设置集群机器