HDP分布式环境搭建(虚拟机)

1.文档编写目的

    

    本文主要是描述使用VM+Centos7.2+Ambari2.6+HDP2.6搭建HDP大数据平台的过程。由于在个人PC虚拟机中安装的全过程,学习Hadoop生态圈各组件时,通过一些理论资料或书籍学习,过程会非常枯燥的,而且很难深入理解其中的原理,因此搭建一个学习使用的Hadoop的生态大数据环境,是非常有必要的。在综合考虑单独部署各个组件和使用发行版的Hadoop产品,我选择后者,如果乐于自己动手但不部署也是可以的。写这个博客,一方面,为了自己重新梳理HDP的安装过程,另一方面,可以为大数据入门者提供搭建基础环境的参考。搭建完成基础环境后,计划将目前hadoop生态圈的各组件产品的使用进行详细总结和分析,请持续关注。

  • 目录

①平台技术栈

②介质准备

③虚拟机及系统安装

④集群服务器配置(IP静态化、SSH免密、NTP、关闭防火墙等)

⑤配置本地yum源

⑥Java、Mysql安装配置

⑦安装Ambari 

⑧安装HDP集群 

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


2.平台技术栈

    在Hadoop的发行版中进行选择,综合对比HDP、CDH、MapR之后,选择资料和使用者较多的HDP版本。HDP是由Hortonworks公司根据开源的各组件进行开发整合,形成的发行版本,https://hortonworks.com/ 访问官方站点,可以参阅安装、使用指南等资料,在安装部署过程中,如果遇到错误,解决办法很有可能可以从官网的指南中找到。

3.介质准备

    在开始安装之前,在Hortonworks官方ambari安装指南梳理,由于考虑网络等因素,采用离线安装ambari和HDP,并根据版本兼容性下载介质:

       也可以选择在线安装,前提是网速稳定切带宽大,整个安装过程会耗时较长。


4.虚拟机系统安装

    在安装之前,对PC的硬件配置的建议:内存8G以上,最好16G;硬盘500G以上; CPU双核、i7及以上;

    (1)安装VMware

   (2)安装centos7

 拷贝生成的虚拟机文件,规划四个虚拟服务器节点,如下

(3)VMware管理个虚拟机节点,并配置修改主机名称,并根据实际运行要求,配置内存、磁盘大小,其中主节点内存、硬盘多分配一些,性能要求较高。

    





5.集群服务器配置 

    推荐使用xshell、filezilla进行连接集群服务器

(1)修改节点名称

hostnamectl set-hostname master


(2)静态化IP地址及hosts配置


  静态化IP: vi /etc/sysconfig/network-scripts/ifcfg-eno16777736

                BOOTPROTO=static #dhcp改为static

                IPADDR=192.168.8.10 #静态IP

                GATEWAY=192.168.8.2 #默认网关

                NETMASK=255.255.255.0 #子网掩码

                DNS1=10.30.20.254  #DNS 配置

                DNS2=192.168.31.1

     IP地址分配:  master:192.168.8.10

                  node1: 192.168.8.11

                  node2: 192.168.8.12

                  node3: 192.168.8.13

    配置生效: source /etc/hosts

 注:遇到的问题重启网卡:service network restart 重启之后,发现IP地址还是自动分配的,解决办法:需要关闭NetworkManager服务,命令如下:

    systemctl disable NetworkManager.service

    chkconfig network on

    systemctl stop NetworkManager

    systemctl restart network


(3)SSH免密登陆

    SSH配置:sudo vim /etc/ssh/sshd_config

        RSAAuthentication yes

        PubkeyAuthentication yes

        AuthorizedKeysFile .ssh/authorized_keys

    生成SSH秘钥:ssh -keygen -t rsa

    将pub秘钥放到认证文件中:cat id_rsa.pub >> authorized_keys


    目录权限设置:

                    sudo chmod 700 ~

                    sudo chmod 700 ~/.ssh

                    sudo chmod 600 ~/.ssh/authorized_keys

       汇集pub秘钥到master认证文件:cat ~/.ssh/id_rsa.pub | ssh master 'cat >> ~/.ssh/authorized_keys'

    

  拷贝认证文件到节点:

                scp ~/.ssh/authorized_keys node1:~/.ssh/

                scp ~/.ssh/authorized_keys node2:~/.ssh/

                scp ~/.ssh/authorized_keys node3:~/.ssh/

    重启SSH:sudo service sshd restart

    测试验证:ssh node1/node2/node3 

    详细参考:https://www.cnblogs.com/keitsi/p/5653520.html

(4)启用NTP,保证个节点时钟一致,保持彼此同步 

        yum install -y ntp

        systemctl enable ntpd


6.配置本地yum源

(1)安装apchehttpd

yum install httpd

httpd -k start

(2)上传ambari、hdp的文件并解压

cd /var/www/html/

tar -zxvf  xx.tar.gz  -C /var/www/html


(3)配置本地源repo

ambari.repo

#VERSION_NUMBER=2.6.2.0-155

[ambari-2.6.2.0]

name=ambari Version – ambari-2.6.2.0

baseurl=http://master/ambari/centos7/2.6.2.0-155

gpgcheck=1

gpgkey=http://master/ambari/centos7/2.6.2.0-155/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1


hdp.repo

[HDP-2.6]

name=HDP Version – HDP-2.6.5.0

baseurl=http://master/HDP/centos7/2.6.5.0-292

gpgcheck=1

gpgkey=http://master/HDP/centos7/2.6.5.0-292/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1


[HDP-UTILS-1.1.0.22]

name=HDP-UTILS Version – HDP-UTILS-1.1.0.22

baseurl=http://master/HDP-UTILS/centos7/1.1.0.22

gpgcheck=1

gpgkey=http://master/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1


hdp.gpl.repo

[HDP-2.6-GPL]

name=HDP-GPL Version – HDP-GPL-2.6.5.0

baseurl=http://master/HDP-GPL/centos7/2.6.5.0-292

gpgcheck=1

gpgkey=http://master/HDP-GPL/centos7/2.6.5.0-292/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1


(4)验证yum源可用性

yum clean all

yum list update

yum makecache

yum repolist


7.Java、Mysql安装配置

(1)JDK安装和配置

linux版本:http://www.oracle.com/technetwork/java/javase/downloads/index.htm查看:rpm -qa | grep java

卸载openjdk:

     rpm -e –nodeps tzdata-java-2015g-1.el7.noarch

     rpm -e –nodeps java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64

     rpm -e –nodeps java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64

     rpm -e –nodeps java-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64

     rpm -e –nodeps java-1.7.0-openjdk-headless-1.7.0.91-2.6.2.3.el7.x86_64


上传java安装文件。

   执行权限:

        chmod +x jdk-8u121-linux-x64.rpm

   安装:

        rpm -ivh jdk-8u121-linux-x64.rpm

   配置环境变量:

     vim /etc/profile

    #set java environment

        JAVA_HOME=/usr/java/jdk1.8.0_121

        JRE_HOME=/usr/java/jdk1.8.0_121/jre

        PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH              CLASSPATH=.:$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME JRE_HOME PATH CLASSPATH

    使配置文件生效:source /etc/profile

(2)mysql数据库安装

安装:https://www.cnblogs.com/pythonal/p/6141516.html

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

    mysql -uroot -p

    create database ambari character set utf8 ; 

    CREATE USER 'ambari'@'%'IDENTIFIED BY 'admin';

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

    FLUSH PRIVILEGES;


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

    create database hive character set utf8 ; 

    CREATE USER 'hive'@'%'IDENTIFIED BY 'admin';

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

    FLUSH PRIVILEGES;


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

create database oozie character set utf8 ; 

    CREATE USER 'oozie'@'%'IDENTIFIED BY 'admin';

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

    FLUSH PRIVILEGES;

    安装mysql jdbc 驱动:yum install mysql-connector-java


8.安装Ambari

(1)主节点运行安装ambari-server

yum install ambari-server -y


(2)初始化ambari

ambari-server setup

设置用户、jdk、数据库等配置,完成安装。


(3)执行数据sql

mysql -u ambari -p
use ambari
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql


(4)配置数据库驱动


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


(5)启动Ambari-server并登陆控制台

ambari-server start

控制台:http://master:8080


9.安装HDP集群 

 

(1)配置集群名称、节点、HDP版本等


(2)Ambari-Agent安装

(3)选择安装的服务、并逐步配置

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


(4)安装完成,进入监控台

启动所有服务

运行情况

10.集群完整性检查

(1)HDFS功能验证

[root@master ~]# sudo -u hdfs hdfs dfs -mkdir /test
[root@master ~]# sudo -u hdfs hdfs dfs -chown root:root /test
[root@master ~]# hdfs dfs -put a.txt /test
[root@master ~]# hdfs dfs -cat /test/a.txt

(可左右滑动)



(2)Hive功能验证

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

CREATE TABLE table_date2(s1 STRING, s2 STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ",";
INSERT INTO TABLE table_date2 values('2018-7-3 22:23:00','test');

(可左右滑动)


(3)MapRuduce任务验证


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

(可左右滑动)

后续学习Hadoop生态圈组件内容分享,请关注公众号:

image.png

Leave a Comment

电子邮件地址不会被公开。 必填项已用*标注