温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。


Fayson的github:https://github.com/fayson/cdhproject


提示:代码块部分可以左右滑动查看噢


1.文档编写目的




本文档主要描述在 CENTOS7.2操作系统部署 HDP的过程。


  • 内容概述

1.集群服务器配置,包括安装操作系统、关闭防火墙、同步服务器时钟等; 

2.外部数据库安装 

3.安装Ambari管理器; 

4.安装HDP集群; 

5.集群完整性检查,包括 HDFS 文件系统、MapReduce、Hive 等是否可以正常运行。 


  • 测试环境

1.操作系统版本:CENTOS7.2

2.Ambari 版本:ambari-2.6.1.5

3.HDP 版本:HDP2.6.4

4.采用 root 对集群进行部署 


2.前置准备

2.1.hostname及 hosts配置




集群中各个节点之间能互相通信使用静态IP 地址。IP 地址和主机名通过/etc/hosts 配置,主机名/etc/hostname 进行配置。

以 ambari 节点(192.168.0.234)为例:


1.hostname配置,/etc/hostname 文件如下:


ip-192-168-0-234

(可左右滑动)


或者你可以通过命令修改立即生效 


[root@ip-192-168-0-234 ~]# hostnamectl set-hostname ip-192-168-0-234

(可左右滑动)


注意:这里修改 hostname 跟 REDHAT6 的区别


2.hosts配置,/etc/hosts文件如下:


127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.0.234 ip-192-168-0-234
192.168.0.235 ip-192-168-0-235
192.168.0.236 ip-192-168-0-236
192.168.0.237 ip-192-168-0-237

(可左右滑动)


以上两步操作,在集群中其它节点做相应配置。


2.2.禁用SELinux




在所有节点执行setenforce 命令,此处使用批处理 shell 执行:


[root@ip-192-168-0-234 ~]$ sh batch_cmd.sh node.list "setenforce 0"

(可左右滑动)


集群所有节点修改/etc/selinux/config文件如下:


SELINUX=disabled
SELINUXTYPE=targeted

(可左右滑动)


2.3.禁用防火墙




集群所有节点执行sudo systemctl stop 命令,此处通过shell 批量执行命令如下:


[root@ip-192-168-0-234 ~]$ sh  batch_cmd.sh node.list "systemctl stop firewalld"
[root@ip-192-168-0-234 ~]$ sh batch_cmd.sh node.list "systemctl disable firewalld"
[root@ip-192-168-0-234 ~]$ sh batch_cmd.sh node.list "systemctl status firewalld"

(可左右滑动)


如何在Centos7.2安装HDP2.6_ambari


2.4.配置服务器的免密登陆




1.在集群每台节点生成密钥对,执行命令

ssh-keygen -t rsa -P "" -f /root/.ssh/id_rsa

(可左右滑动)


这里使用批量执行脚本:


如何在Centos7.2安装HDP2.6_hdfs_02


2.配置192.168.0.234对集群其他所有节点的免密登陆,将192.168.0.234节点的公钥导入到authorized_keys文件中,使用批量脚本执行:


首先将192.168.0.234的公钥拷贝到其他所有节点的/root目录下:


如何在Centos7.2安装HDP2.6_mysql_03


然后将/root/id_rsa.pub导入到authorized_keys文件中:


如何在Centos7.2安装HDP2.6_mysql_04


验证免密登陆:


如何在Centos7.2安装HDP2.6_ambari_05


2.5.集群时钟同步




配置 ntp 时间同步, 将192.168.0.234机器作为本地 ntp  服务器,其他 3  台机器与其保持同步,配置片段:


1.192.168.0.234使用如下配置


[root@ip-192-268-0-234 ~]$ sudo vim /etc/ntp.conf
server 127.127.1.0
fudge 127.127.1.0 stratum 10

(可左右滑动)


2.集群其它节点:在注释下增加如下配置:


[root@ip-192-268-0-234 ~]$ sudo vim /etc/ntp.conf
server 192.168.0.234

(可左右滑动)


3.重启所有机器的 ntp 服务


[root@ip-192-268-0-234 ~]$ sh batch_cmd.sh node.list "systemctl restart ntpd”

(可左右滑动)


4.验证时钟同步,在所有节点执行 ntpq -p 命令,如下使用脚本批量执行:


如何在Centos7.2安装HDP2.6_mysql_06


2.6.配置操作系统repo




1.挂载操作系统iso文件


[root@ip-192-168-0-234 ~]$ mkdir /media/DVD1
[root@ip-192-168-0-234 ~]$ mount -o loop CentOS-7-x86_64-DVD-1611.iso /media/DVD1/

(可左右滑动)


2.配置操作系统repo


[root@ip-192-168-0-234 ~]$ vim /etc/yum.repos.d/local_os.repo
[local_iso]
name=CentOS-$releasever - Media
baseurl=file:///media/DVD1
gpgcheck=0
enabled=1

(可左右滑动)


2.7.安装httpd服务




1.安装httpd服务


[root@ip-192-168-0-234 ~]$ yum -y install httpd

(可左右滑动)


2.启动httpd服务


[root@ip-192-168-0-234 ~]$ systemctl start httpd

(可左右滑动)


3.安装完 httpd 后,重新制作操作系统 repo,换成 http 的方式方便其它服务器也可以访问


[root@ip-192-168-0-234 ~]$ mkdir /var/www/html/iso
[root@ip-192-168-0-234 ~]$ scp -r /media/DVD1/* /var/www/html/iso/

(可左右滑动)


如何在Centos7.2安装HDP2.6_mysql_07


2.8.安装MySQL数据库




1.在192.168.0.234节点安装mysql数据库:


如何在Centos7.2安装HDP2.6_mysql_08


2.启动并配置数据库:

启动mariadb,执行systemctl start mariadb


如何在Centos7.2安装HDP2.6_mysql_09


配置mariadb,执行/usr/bin/mysql_secure_installation命令,并设置root密码:


如何在Centos7.2安装HDP2.6_hdfs_10


创建ambari数据库,执行命令create database ambari


如何在Centos7.2安装HDP2.6_mysql_11


创建ambari用户并设置密码和权限


MariaDB [ambari]> CREATE USER 'ambari'@'%' IDENTIFIED BY 'bigdata';
Query OK, 0 rows affected (0.01 sec)
MariaDB [ambari]> GRANT ALL PRIVILEGES ON ambari.* TO 'ambari'@'%';
Query OK, 0 rows affected (0.00 sec)
MariaDB [ambari]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

(可左右滑动)


如何在Centos7.2安装HDP2.6_hdfs_12


3.创建Hive数据库及用户


如何在Centos7.2安装HDP2.6_hdfs_13


3.安装Ambari

3.1.配置Ambari和HDP本地yum源




1.准备好ambari和HDP的安装包,并解压到/var/www/html目录下:


如何在Centos7.2安装HDP2.6_ambari_14

如何在Centos7.2安装HDP2.6_hdfs_15


2.配置repo文件

Ambari的repo:


如何在Centos7.2安装HDP2.6_mysql_16


HDP的repo:


如何在Centos7.2安装HDP2.6_hdfs_17


HDP-UTILS的repo:


如何在Centos7.2安装HDP2.6_ambari_18


HDP-GPL的repo


如何在Centos7.2安装HDP2.6_mysql_19


2.使用浏览器查看yum源是否可用


如何在Centos7.2安装HDP2.6_hdfs_20

如何在Centos7.2安装HDP2.6_hdfs_21

如何在Centos7.2安装HDP2.6_hdfs_22

如何在Centos7.2安装HDP2.6_mysql_23


3.2.安装Ambari




1.在192.168.0.234节点上执行yum install ambari-server -y命令:


如何在Centos7.2安装HDP2.6_ambari_24


3.3.安装jdk




如果选择客户端安装JDK则需要执行以下步骤,如果服务器可以访问外面,并选择自动安装JDK,则可以略过以下步骤。


1.将jdk上传至192.168.0.234节点的/usr/java/目录,并解压


如何在Centos7.2安装HDP2.6_mysql_25


2.执行tar -zxvf jdk-8u111-linux-x64.tar.gz命令进行解压:


如何在Centos7.2安装HDP2.6_ambari_26


3.将解压好的jdk拷贝至其他节点,使用批量执行脚本


如何在Centos7.2安装HDP2.6_ambari_27


3.4.安装mysql驱动




1.上传mysql驱动包至/usr/share/java目录


[root@ip-192-168-0-234 ~]# ll /usr/share/java/
total 940
-rw-r--r--. 1 root root 960372 Nov 9 23:37 mysql-connector-java-5.1.34.jar
[root@ip-192-168-0-234 ~]# cd /usr/share/java/
[root@ip-192-168-0-234 java]# ll
total 940
-rw-r--r--. 1 root root 960372 Nov 9 23:37 mysql-connector-java-5.1.34.jar

(可左右滑动)


如何在Centos7.2安装HDP2.6_mysql_28


2.方便起见,将mysql驱动拷贝至其他节点的相同目录


如何在Centos7.2安装HDP2.6_mysql_29


3.设置mysql驱动,执行命令:


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

(可左右滑动)


如何在Centos7.2安装HDP2.6_ambari_30


3.5.初始化Ambari




执行命令ambari-server setup


如何在Centos7.2安装HDP2.6_hdfs_31

如何在Centos7.2安装HDP2.6_hdfs_32


界面中黄色标记的是需要操作的步骤:

1:按回车继续

2:按回车继续

4:输入数字3,选客户端安装jdk,如果服务器可以访问外网,则可以选1,自动下载jdk1.8,默认下载的安装目录是/usr/java/default

5:输入安装的java目录,所有服务器保持一致

6:输入“y“,进行数据库的高级配置

7:输入“3“,选择mysql/mariadb数据库

8:设置数据库的配置参数:host,port,database,username,password

9:按回车继续

执行完以上操作后,可以看到ambari-server setup完成。


3.6.初始化ambari数据库




1.初始化ambari数据库,在192.168.0.234服务器上执行以下命令:


[root@ip-192-168-0-234 ~]# mysql -uroot -p -Dambari < /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

(可左右滑动)


2.查看是否初始化完成:


如何在Centos7.2安装HDP2.6_ambari_33


3.7.启动ambari-server




1.执行ambari-server start命令:


如何在Centos7.2安装HDP2.6_mysql_34


3.8.访问ambari的web界面




用浏览器访问http://192.168.0.234:8080,用户名和密码默认都是admin


如何在Centos7.2安装HDP2.6_ambari_35

如何在Centos7.2安装HDP2.6_ambari_36


4.安装HDP

4.1.点击“Launch Install Wizard“




如何在Centos7.2安装HDP2.6_ambari_37


4.2.输入集群名,然后点“Next“




如何在Centos7.2安装HDP2.6_mysql_38


4.3.选择HDP版本




这里使用HDP2.6,并配置HDP的Repository,这里使用的Local Repository:


如何在Centos7.2安装HDP2.6_hdfs_39


4.4.输入安装的主机,并输入Ambari节点SSH的私钥




如何在Centos7.2安装HDP2.6_hdfs_40


4.5.确认主机




如何在Centos7.2安装HDP2.6_mysql_41


4.6.等待安装完成,然后点击“Next“




如何在Centos7.2安装HDP2.6_mysql_42


这里需要注意,主机注册成功后会对主机进行前置检查,如果有警告,需要进行检查并按要求进行相应的修改。


4.7.选择安装的服务




这里为了加快安装只选了常用的几个服务:

如何在Centos7.2安装HDP2.6_ambari_43


4.8.分配服务Master角色




实际部署时需按规划设计进行分配:

如何在Centos7.2安装HDP2.6_mysql_44



4.9.工作节点角色分配




如何在Centos7.2安装HDP2.6_ambari_45


4.10.修改服务默认配置




如何在Centos7.2安装HDP2.6_hdfs_46


4.11.查看服务安装




如何在Centos7.2安装HDP2.6_mysql_47


4.12.进入服务安装




如何在Centos7.2安装HDP2.6_ambari_48

如何在Centos7.2安装HDP2.6_hdfs_49


进行安装的过程中如果出现缺少libtirpc-devel包,请参照“5安装问题->问题一“解决。


4.13.安装完成




点击“Complete“进入主页:


如何在Centos7.2安装HDP2.6_hdfs_50


5.组件功能验证

5.1.HDFS功能验证




[root@ip-192-168-0-234 test]# hdfs dfs -mkdir /test
mkdir: Permission denied: user=root, access=WRITE, inode="/test":hdfs:hdfs:drwxr-xr-x
[root@ip-192-168-0-234 test]# sudo -u hdfs hdfs dfs -mkdir /test
[root@ip-192-168-0-234 test]# sudo -u hdfs hdfs dfs -chown root:root /test
[root@ip-192-168-0-234 test]# hdfs dfs -put a.txt /test
[root@ip-192-168-0-234 test]# hdfs dfs -cat /test/a.txt

(可左右滑动)


如何在Centos7.2安装HDP2.6_hdfs_51


5.2.Hive功能验证




创建Hive表并插入测试数据,执行以下命令:


CREATE TABLE table_date2(s1 STRING, s2 STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ",";
INSERT INTO TABLE table_date2 values('2015-10-26 16:23:00','test');

(可左右滑动)


如何在Centos7.2安装HDP2.6_ambari_52

如何在Centos7.2安装HDP2.6_hdfs_53


5.3.MapReduce任务验证




hadoop jar /usr/hdp/2.6.4.0-91/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 5 5

(可左右滑动)


如何在Centos7.2安装HDP2.6_hdfs_54

如何在Centos7.2安装HDP2.6_ambari_55


6.安装问题




问题一:出现缺少libtirpc-devel包,导致无法安装服务:



如何在Centos7.2安装HDP2.6_hdfs_56


1.下载libtirpc-devel和libtirpc两个包,下载地址:

​http://mirror.centos.org/centos/7/os/x86_64/Packages/libtirpc-0.2.4-0.10.el7.x86_64.rpm​

​http://mirror.centos.org/centos/7/os/x86_64/Packages/libtirpc-devel-0.2.4-0.10.el7.x86_64.rpm​



如何在Centos7.2安装HDP2.6_hdfs_57


2.然后做成yum源,进行升级安装两个包


如何在Centos7.2安装HDP2.6_ambari_58


3.执行createrepo命令:


如何在Centos7.2安装HDP2.6_hdfs_59


4.创建repo文件,并分发到其他节点


如何在Centos7.2安装HDP2.6_hdfs_60

如何在Centos7.2安装HDP2.6_mysql_61


5.升级libtirpc


如何在Centos7.2安装HDP2.6_ambari_62


6.安装libtirpc-devel


如何在Centos7.2安装HDP2.6_mysql_63



提示:代码块部分可以左右滑动查看噢


为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。



推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

如何在Centos7.2安装HDP2.6_ambari_64

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操