CentOS 7.4 安装 Ambari 2.6.0 + HDP 2.6.3 搭建Hadoop集群

 

1.安装环境说明

三台机器安装好CentOS-7-x86_64-Minimal-1708.iso

下载地址:https://www.centos.org/download/

最好在安装时设置好IP和HOSTNAME

三台机器的IP和HOSTNAME下载如下

主 192.168.31.11 SY-001.hadoop

从 192.168.31.12 SY-002.hadoop

从 192.168.31.13 SY-003.hadoop

每个节点设置hos

  1. [root@SY-001 ~]# vi /etc/hosts

  2. 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

  3. ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

  4. 192.168.31.11 SY-001 SY-001.hadoop

  5. 192.168.31.12 SY-002 SY-002.hadoop

  6. 192.168.31.13 SY-003 SY-003.hadoop
    ​​

每个节点关闭DHCP 设置为静态IP

  1. [root@SY-001 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33

  2. TYPE=Ethernet

  3. PROXY_METHOD=none

  4. BROWSER_ONLY=no

  5. BOOTPROTO=static

  6. DEFROUTE=yes

  7. IPV4_FAILURE_FATAL=no

  8. IPV6INIT=yes

  9. IPV6_AUTOCONF=yes

  10. IPV6_DEFROUTE=yes

  11. IPV6_FAILURE_FATAL=no

  12. IPV6_ADDR_GEN_MODE=stable-privacy

  13. NAME=ens33

  14. UUID=87a7a287-0360-476a-996c-a60012f7b087

  15. DEVICE=ens33

  16. ONBOOT=yes

  17. IPADDR=192.168.31.11

  18. PREFIX=24

  19. GATEWAY=192.168.31.1

  20. DNS1=192.168.31.1

  21. IPV6_PRIVACY=no

2.操作系统环境准备

2.1 配置SSH免密码登录

主节点里root用户登录执行如下步骤

  1. [root@SY-001 ~]# ssh-keygen

  2. [root@SY-001 ~]# cd ~/.ssh/

  3. [root@SY-001 ~]# cat id_rsa.pub >>authorized_keys

  4. [root@SY-001 ~]# chmod 600 ~/.ssh

  5. [root@SY-001 ~]# chmod 600 ~/.ssh/authorized_keys

先在从节点登录root执行命令

  1. [root@SY-002 ~]# mkdir ~/.ssh/

  2. [root@SY-003 ~]# mkdir ~/.ssh/

分发主节点里配置好的authorized_keys到各从节点

  1. [root@SY-001 ~]# scp /root/.ssh/authorized_keys root@192.168.31.12:/root/.ssh/authorized_keys

  2. [root@SY-001 ~]# scp /root/.ssh/authorized_keys root@192.168.31.13:/root/.ssh/authorized_keys

2.2 创建ambari系统用户和用户组

只在主节点操作

添加ambari安装、运行用户和用户组,也可以不创建新用户,直接使用root,我是直接用的root

  1. [root@SY-001 ~]# adduser ambari

  2. [root@SY-001 ~]# passwd ambari

2.3 开启NTP服务

所有节点都需要操作

  1. [root@SY-001 ~]# yum install ntp

  2. [root@SY-001 ~]# systemctl is-enabled ntpd

  3. [root@SY-001 ~]# systemctl enable ntpd

  4. [root@SY-001 ~]# systemctl start ntpd

2.4 检查DNS和NSCD

所有节点都要设置

ambari在安装时需要配置全域名,所以需要检查DNS。为了减轻DNS的负担, 建议在节点里用 Name Service Caching Daemon (NSCD)

  1. [root@SY-001 ~]# vi /etc/hosts

  2. 192.168.131.11 SY-001 SY-001.hadoop

  3. 192.168.131.12 SY-002 SY-002.hadoop

  4. 192.168.131.13 SY-003 SY-003.hadoop

每台节点里配置FQDN,如下以主节点为例

  1. [root@SY-001 ~]# vi /etc/sysconfig/network

  2. NETWORKING=yes

  3. HOSTNAME=SY-001.hadoop

2.5 关闭防火墙

所有节点都要设置

  1. [root@SY-001 ~]# systemctl disable firewalld

  2. [root@SY-001 ~]# systemctl stop firewalld

2.6 关闭SELinux

所有节点都要设置

查看SELinux状态:

  1. [root@SY-001 ~]# sestatus

  2. SELinux status:                 enabled

  3. [root@SY-001 ~]# sestatus

  4. SELinux status:                 disabled

临时关闭,不用重启机器:

[root@SY-001 ~]# setenforce 0

修改配置文件需要重启机器:

  1. [root@SY-001 ~]# vi /etc/sysconfig/selinux

  2. SELINUX=disabled

3.制作本地源

制作本地源只需在主节点上进行即可

3.1 相关准备工作

3.1.1安装 Apache HTTP 服务器

安装HTTP 服务器,允许 http 服务通过防火墙(永久)

  1. [root@SY-001 ~]# yum install httpd

  2. [root@SY-001 ~]# firewall-cmd --add-service=http

  3. [root@SY-001 ~]# firewall-cmd --permanent --add-service=http

添加 Apache 服务到系统层使其随系统自动启动

  1. [root@SY-001 ~]# systemctl start httpd.service

  2. [root@SY-001 ~]# systemctl enable httpd.service

3.1.2 安装本地源制作相关工具

[root@SY-001 ~]# yum install yum-utils createrepo

3.2 下载安装资源

下载 Ambari 2.6.0 , HDP 2.6.3 的安装资源,本次安装是在CentOS 7 上,只列出CentOS 7的资源,其他系统的请现在对用系统的资源

Ambari 2.6.0 下载资源

 

RedHat 7

CentOS 7

Oracle Linux 7

Base URLhttp://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.0.0
Repo Filehttp://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.0.0/ambari.repo
Tarballhttp://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.0.0/ambari-2.6.0.0-centos7.tar.gz

HDP 2.6.3 下载资源

 

RedHat 7

CentOS 7

Oracle Linux 7

HDP-2.6.3.0HDPVersion Definition File (VDF)http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.3.0/HDP-2.6.3.0-235.xml
Base URLhttp://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.3.0
Repo Filehttp://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.3.0/hdp.repo
Tarballhttp://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.3.0/HDP-2.6.3.0-centos7-rpm.tar.gz
HDP-UTILSBase URLhttp://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7
Tarballhttp://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7/HDP-UTILS-1.1.0.21-centos7.tar.gz

下载上面列表的中的压缩包, 
需要下载的压缩包如下:

  1. Ambari 2.6.0

  2. http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.0.0/ambari-2.6.0.0-centos7.tar.gz

  3. HDP 2.6.3

  4. http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.3.0/HDP-2.6.3.0-centos7-rpm.tar.gz

  5. HDP-UTILS 1.1.0.21

  6. http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7/HDP-UTILS-1.1.0.21-centos7.tar.gz

在httpd网站根目录,默认是即/var/www/html/,创建目录ambari, 
并且将下载的压缩包解压到/var/www/html/ambari目录
HDP-UTILS需要先建立一个HDP-UTILS文件夹并将HDP-UTILS-1.1.0.21-centos7.tar.gz放到HDP-UTILS目录下再解压

  1. [root@SY-001 ~]# cd /var/www/html/

  2. [root@SY-001 html]# mkdir ambari

  3. [root@SY-001 html]# cd /var/www/html/ambari/

  4. [root@SY-001 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

  5. [root@SY-001 ambari]# wget http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.3.0/HDP-2.6.3.0-centos7-rpm.tar.gz

  6. [root@SY-001 ambari]# wget http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7/HDP-UTILS-1.1.0.21-centos7.tar.gz

  7. [root@SY-001 ambari]# tar -zxvf ambari-2.6.0.0-centos7.tar.gz

  8. [root@SY-001 ambari]# tar -zxvf HDP-2.6.3.0-centos7-rpm.tar.gz

  9. [root@SY-001 ambari]# mkdir HDP-UTILS

  10. [root@SY-001 ambari]# mv HDP-UTILS-1.1.0.21-centos7.tar.gz /var/www/html/ambari/HDP-UTILS/

  11. [root@SY-001 ambari]# tar -zxvf HDP-UTILS-1.1.0.21-centos7.tar.gz

验证httpd网站是否可用,用浏览器直接访问下面的地址,如果能看到目录列表就表示成功:

http://192.168.31.1/ambari/

3.3 配置ambari、HDP、HDP-UTILS的本地源

首先下载上面资源列表中的相应repo文件,修改其中的URL为本地的地址,相关配置如下:

ambari.repo

  1. [root@SY-001 yum.repos.d]# vi ambari.repo 

  2. #VERSION_NUMBER=2.6.0.0-267

  3. [ambari-2.6.0.0]

  4. name=ambari Version - ambari-2.6.0.0

  5. baseurl=http://192.168.31.11/ambari/ambari/centos7/2.6.0.0-267

  6. gpgcheck=1

  7. gpgkey=http://192.168.31.11/ambari/ambari/centos7/2.6.0.0-267/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

  8. enabled=1

  9. priority=1

hdp.repo

  1. [root@SY-001 yum.repos.d]# vi hdp.repo 

  2. #VERSION_NUMBER=2.6.3.0-235

  3. [HDP-2.6.3.0]

  4. name=HDP Version - HDP-2.6.3.0

  5. baseurl=http://192.168.31.11/ambari/HDP/centos7/2.6.3.0-235

  6. gpgcheck=1

  7. gpgkey=http://192.168.31.11/ambari/HDP/centos7/2.6.3.0-235/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

  8. enabled=1

  9. priority=1

  10.  
  11. [HDP-UTILS-1.1.0.21]

  12. name=HDP Utils Version - HDP-UTILS-1.1.0.21

  13. baseurl=http://192.168.31.11/ambari/HDP-UTILS

  14. gpgcheck=1

  15. gpgkey=http://192.168.31.11/ambari/HDP-UTILS/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

  16. enabled=1

  17. priority=1

将上面的修改过的源放到/etc/yum.repos.d/下面

  1. [root@SY-001 yum.repos.d]# yum clean all

  2. [root@SY-001 yum.repos.d]# yum list update

  3. [root@SY-001 yum.repos.d]# yum makecache

  4. [root@SY-001 yum.repos.d]# yum repolist

3.4 安装Mysql数据库

Ambari安装会将安装等信息写入数据库,建议使用MariaDB数据库,也可以不安装而使用默认数据库PostgreSQL

  1. [root@SY-001 ~]# yum install mariadb-server

  2. [root@SY-001 ~]# systemctl start mariadb

  3. [root@SY-001 ~]# systemctl enable mariadb

  4. #数据库初始化设置

  5. [root@SY-001 ~]# mysql_secure_installation

  6. #首先是设置密码,会提示先输入密码

  7. Enter current password for root (enter for none):<–初次运行直接回车

  8. #设置密码

  9. Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车

  10. New password: <– 设置root用户的密码

  11. Re-enter new password: <– 再输入一次你设置的密码

  12. #其他配置

  13. Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车

  14. Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,

  15. Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车

  16. Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车

  17. #初始化MariaDB完成,接下来测试登录,输入密码能正常登陆就完成了

  18. [root@SY-001 ~]# mysql -uroot -p

安装完成后创建ambari数据库及用户,登录数据库root用户执行下面语句:

  1. [root@SY-001 ~]# mysql -uroot -p

  2. create database ambari character set utf8 ;

  3. CREATE USER 'ambari'@'%'IDENTIFIED BY 'Ambari-123';

  4. GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';

  5. FLUSH PRIVILEGES;

如果要安装Hive,再创建Hive数据库和用户 再执行下面的语句:

  1. create database hive character set utf8 ;

  2. CREATE USER 'hive'@'%'IDENTIFIED BY 'Hive-123';

  3. GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';

  4. FLUSH PRIVILEGES;

如果要安装Oozie,再创建Oozie数据库和用户 再执行下面的语句:

  1. create database oozie character set utf8 ;

  2. CREATE USER 'oozie'@'%'IDENTIFIED BY 'Oozie-123';

  3. GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%';

  4. FLUSH PRIVILEGES;

安装mysql jdbc 驱动

[root@SY-001 ~]# yum install mysql-connector-java

ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar

3.5 安装JDK

Java SE Development Kit 8u152下载地址:http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html
下载解压版jdk-8u152-linux-x64.tar.gz,再执行下面命令:

  1. [root@SY-001 ~]# tar -zxvf jdk-8u152-linux-x64.tar.gz -C /opt/java/

  2. [root@SY-001 ~]# vi /etc/profile

  3. export JAVA_HOME=/opt/java/jdk1.8.0_152

  4. export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

  5. PATH=$PATH:$HOME/bin:$JAVA_HOME/bin

  6. source /etc/profile

4.进行安装Ambari

4.1 安装Ambari2.6.0

4.1.1安装Ambari

[root@SY-001 ~]# yum install ambari-server

4.1.2配置Ambari

[root@SY-001 ~]# ambari-server setup

下面是配置执行流程,按照提示操作

1.检查SELinux是否关闭,如果关闭不用操作

  1. Using python /usr/bin/python

  2. Setup ambari-server

  3. Checking SELinux...

  4. SELinux status is 'disabled'

2.提示是否自定义设置。输入:y

Customize user account for ambari-server daemon [y/n] (n)? y

3.ambari-server 账号。输入:ambari

  1. Enter user account for ambari-server daemon (root):ambari

  2. Adjusting ambari-server permissions and ownership...

4.检查防火墙,如果关闭则不用操作

  1. Checking firewall status...

  2. Redirecting to /bin/systemctl status iptables.service

5.设置JDK。输入:3

  1. Checking JDK...

  2. Do you want to change Oracle JDK [y/n] (n)? y

  3. [] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8

  4. [] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7

  5. [] Custom JDK

  6. ==============================================================================

  7. Enter choice (1): 3

6.如果上面选择3自定义JDK,则需要设置JAVA_HOME。输入:/opt/java/jdk1.8.0_152

  1. WARNING: JDK must be installed on all hosts and JAVA_HOME must be valid on all hosts.

  2. 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.

  3. Path to JAVA_HOME: /opt/java/jdk1.8.0_152

  4. Validating JDK on Ambari Server...done.

  5. Completing setup...

7.数据库配置。选择:y

  1. Configuring database...

  2. Enter advanced database configuration [y/n] (n)? y

8.选择数据库类型。输入:3

  1. Configuring database...

  2. ==============================================================================

  3. Choose one of the following options:

  4. [1] - PostgreSQL (Embedded)

  5. [2] - Oracle

  6. [3] - MySQL

  7. [4] - PostgreSQL

  8. [5] - Microsoft SQL Server (Tech Preview)

  9. [6] - SQL Anywhere

  10. ==============================================================================

  11. Enter choice (3): 3

9.设置数据库的具体配置信息,根据实际情况输入,如果和括号内相同,则可以直接回车。

  1. Hostname (localhost):

  2. Port (3306):

  3. Database name (ambari):

  4. Username (ambari):

  5. Enter Database Password (Ambari-123):

10.提示必须安装MySQL JDBC,回车结束ambari配置

  1. WARNING: Before starting Ambari Server, you must copy the MySQL JDBC driver JAR file to /usr/share/java.

  2. Press <enter> to continue.

    find / -name mysql-connector-java

ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/maven-fragments/mysql-connector-java

11.将Ambari数据库脚本导入到数据库

如果使用自己定义的数据库,必须在启动Ambari服务之前导入Ambari的sql脚本

  1. #用Ambari用户(上面设置的用户)登录mysql

  2. mysql -u ambari -p

  3. use ambari;

  4. source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

4.1.3启动Amabri

执行启动命令,启动Ambari服务

[root@SY-001 ~]# ambari-server start

成功启动后在浏览器输入Ambari地址:

http://192.168.31.1:8080/

出现登录界面,默认管理员账户登录, 账户:admin 密码:admin

以下图片用的别人的图片,版本较低,仅供参考

image
登录成功后出现下面的界面,至此Ambari的安装成功 
image

4.2 安装安装HDP 2.6.3 配置集群

点击上面登录成功页面的Launch Install Wizard 按钮进行集群配置

4.2.1设置集群名称 
image

4.2.2设置HDP 安装源

选择HDP2.6 ,并且设置Advanced Repository Options 的信息,本次使用本地源,所以修改对用系统的安装源为本地源地址。

image

4.2.3设置集群机器 
image

4.2.4 Host 确认

确认前面配置集群中hosts列表 中的机器是否都可用,也可以移除相关机器,集群中机器Success后进行下一步操作。 
image

4.2.5 选择要安装的服务 
image

4.2.6各个服务Master配置 
image

4.2.6 服务的Slaves 和 Clients节配置 
image

4.2.7 服务的客制化配置 
image

4.2.8 显示配置信息 
image

4.2.9开始安装

安装各个服务,并且完成安装后会启动相关服务,安装过程比较长,如果中途出现错误,请根据具体提示或者log进行操作。 
image

安装过程可以随时查看每个节点的安装进度及日志 
image
全部安装成功界面如下 
image

4.2.10安装完成 
image
image

5、Hadooop开启高可用(现在安装好Hadoop是不支高可用的,下面准备开启Hadoop高可用)

 

1、开启高可用开关

2、设置高可用名称(如果hbase是启动的话请关闭在开启HA高可用)

3、选择服务安装在那台主机上

4、按照提示操作,最后显示如下表示HA安装成功

5、Hbase高可用会显示如下图

问题排查

  1. ambari注册主机的时候,ambari-agent出现如下错误:
NetUtil.py:96 - EOF occurred in violation of protocol (_ssl.c:579)
NetUtil.py:97 - SSLError: Failed to connect. Please check openssl library versions.

解决方案 在ambari-agent的配置文件ambari-agent.ini 在 [security]增加一项

[security]
force_https_protocol=PROTOCOL_TLSv1_2
  1. bootstrap、stack-recommendations 目录找不到 解决方案 进入/var/run/ambari-server,手动创建bootstrap文件夹,并对其添加owner为ambari,即命令:chown ambari bootstrap,然后重新启动ambari-server restart

n. anmbari 参考

http://blog.51cto.com/tryingstuff/2066561

https://blog.csdn.net/mawenwu1983/article/details/78983275

Centos 7安装 ambari通过Ambari部署系统时,ambari-agent注册失败,在/var/log/ambari-agent的log中可以看到日志显示:

ERROR 2018-03-08 15:02:25,223 NetUtil.py:88 - [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:579) 
ERROR 2018-03-08 15:02:25,223 NetUtil.py:89 - SSLError: Failed to connect. Please check openssl library versions.

从字面上看为openssl版本的问题,实际是因为python版本的问题。 
在python 2.7.5及以上版本时,增加了certificate verification,正是因为这个特性导致ambari-agent无法连接server。

解决方法: 
修改/etc/python/cert-verification.cfg配置文件: 
# cat /etc/python/cert-verification.cfg

# Possible values are:
# 'enable' to ensure HTTPS certificate verification is enabled by default
# 'disable' to ensure HTTPS certificate verification is disabled by default
# 'platform_default' to delegate the decision to the redistributor providing this particular Python version

# For more info refer to https://www.python.org/dev/peps/pep-0493/
[https]
verify=platform_default ###(这是默认配置)

 

修改为verify=disable,然后重启ambari agent,就可以正常注册。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值