HDP大数据平台搭建,部署Mahout,spark等

2 篇文章 0 订阅
1 篇文章 0 订阅

河北科技大学-许云峰大数据团队-肖轶超出品

图片从word中直接粘贴过来有些问题,凑合着看吧,图片太多了,不想一个一个上传。等我有时间了在弄个图片的事情吧。这算个 第一版吧。我的文档可以做做到从无到有复制粘贴即可完成平台的搭建。我很有信心,因为我这么做过。是从一个新系统开始做的那种。我是在实体服务器上搭建的,虚拟机的没有时间探索了。开源的东西感觉资料都很少。我做了之后希望你们少踩坑吧

 

Hortonworks Data Platform是基于集中式体系架构(YARN)的企业级开源Apache Hadoop分发版本。HDP解决静态数据的全部需求,支持实时客户应用和提供鲁棒性分析,加快决策和创新。HDP平台集成了大部分关键的大数据处理组件,并且随着这些组件的更新而更新,用户可以根据自己的需求,选择安装HDP的版本,详见图3-40(图片来自HDP官网)。HDP版本和其集成的开源组件的版本对照表如下图所示。搭建HDP之前先部署Ambari,因为Ambari可以方便HDP的自动化安装。

 

图3-40 HDP与其他开源项目的版本关系图

此处我们选择的HDP版本为 2.6.2 ,Ambari版本为2.6.2.0。读者安装前需确定HDP和Ambari版本之间的对应关系(图3-40中包含HDP版本与Ambari版本关系)以免因为版本不匹配,造成安装和使用中的问题。各个Ambari版本对应支持的Linux系统及其版本统计图,如图3-41所示,笔者选择Centos7系统,使用的镜像版本为CentOS-7-x86_63-DVD-1708.iso。此次HDP平台的搭建,我们选择在真实的物理节点上进行,在虚拟机上的搭建过程与此略有不同。

 

图3-41各个Ambari版本对应支持的Linux系统及其版本统计图

以下安装都是使用root用户登录后操作。由于root用户权限过大,一些linux发行版并不允许root用户以图形化界面登录,但是Centos系统是允许的。此处的安装过程都是在root用户图形化界面和终端中操作的。

3.3.1 前期准备

3.3.1.1 添加读取ntfs硬盘功能

读者如果不需要读写移动硬盘或者优盘,可以跳过此步骤。

因为笔者之前已经下载好了HDP和Ambari的安装包,并且拷贝在了移动硬盘中,所以此处添加ntfs-3g功能来将HDP和Ambari的安装包拷贝到主节点中的“/root/下载”路径下,以保证笔者的安装环境和读者的安装环境保持一致。HDP和Ambari的安装包的下载地址后面我们会有提及。读者安装的时候最好选择没有安装过hadoop环境的系统,不然有可能会出现各种问题,比如HDP要新建很多用户,其中就有hadoop用户,可以先找三台服务器进行实验,如果成功后,再添加其他节点,如果不成功,建议重新安装centos7系统后再进行安装。使用完移动硬盘或者优盘后,安装HDP平台之前,需要先卸载掉ntfs-3g功能,因为它会出现在HDP平台安装过程的警告中。如果需要读取移动硬盘或者优盘,可以在HDP安装完以后,再安装此功能。

1、添加aliyun的epel源

在终端中输入如下指令:

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

2、yum 安装ntfs-3g

在终端中输入如下指令:

yum install ntfs-3g

安装完成ntfs-3g服务后终端显示的信息如图3-42所示。

 

图3-42 安装完成ntfs-3g服务后终端显示的信息

3、判断 yum 安装ntfs-3g是否成功

在终端中输入如下指令:

yum list installed | grep ntfs-3g

ntfs-3g安装成功的测试结果如图3-43所示。

 

图3-43 ntfs-3g安装成功的测试结果

3.3.1.2 为所有节点配置静态IP

因为服务器每次开机可能会改变IP,所以三台都要配置静态IP。三台机器的配置文件略有不同,即配置文件中的IP地址、 IPADDR参数不同。此处我们以其中的一台服务器举例。

1、在网络设置中查看本机正在使用的网卡及IP

如图3-44中显示正在使用的网卡为em2。

 

图3-44 查看本机正在使用的网卡

我们也可以在终端输入ifconfig查看当前服务器的IP地址,如图3-45所示,当前服务器正在使用的网卡为em1,em1的IP地址为192.168.10.237。(图3-44和图3-45并非同一台服务器的网卡信息)

 

图3-45 查看em1的IP地址

2、修改 ifcfg-em1文件

在终端中输入如下指令:

cd /etc/sysconfig/network-scripts/

gedit ifcfg-em1    #此处应修改em1为读者自己的网卡号

原配置文件如下:

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=dhcp

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=em1

UUID=868d312a-e0e8-4a06-a1cc-fb0a67116e37

DEVICE=em1

ONBOOT=no

按照如下修改配置文件:

需要修改的参数

BOOTPROTO=static  #修改ip为静态

ONBOOT=yes  #设置为开机启动

需要添加的参数

IPADDR=192.168.10.201  #每台服务需要年设置成不同的IP,第二台服务器的结尾可以是202,第三台服务器的结尾可以是203

NETMASK=255.255.255.0  #子网掩码

GATEWAY=192.168.10.1 #默认网关

保存文件。

3、修改/etc/sysconfig/network文件

在终端中输入如下指令:

gedit /etc/sysconfig/network

然后在文件的末尾下添加以下语句:

NETWORKING=yes

GATEWAY=192.168.10.1

DNS1=119.29.29.29

DNS2=182.254.116.116

保存文件。

4、重启网卡

在终端中输入如下指令:

systemctl restart network.service

输入ifconfig  查看现在的IP地址,输出结果如图3-46所示。

 

图3-46 重启网卡后显示的信息

可以看到em1 的IP地址已经变为192.168.10.201,此时,可以打开浏览器测试是否可以联网。

其他两台服务器静态IP的配置与此类似,只要换成不同的IP即可,我们设置namenode的IP为192.18.10.201。2个datanode的IP分别为192.168.10.202和192.168.10.203。

3.3.1.3 所有节点配置ssh免密码登录本机

1、安装SSH server

执行命令:yum install openssh-server

安装的过程中会让用户输入两次“y”,最后安装后的界面如图3-47所示。

 

图3-47 安装SSH server成功后显示的信息

2、使用ssh服务免密码登录本机

执行命令:ssh localhost

此时会有如下提示(SSH首次登录提示)如图3-48所示,输入“yes”,然后需要用户输入一次root用户的密码。

 

图3-48 ssh登录本机

但这样登录是需要每次都输入密码的。因为如果不修改为免密码登录的话,启动Hadoop会让我们输入很多次密码,所以我们需要配置成SSH无密码登录。

首先退出刚才的SSH,就回到了我们原先的终端窗口,然后利用ssh-keygen 生成密钥,并将密钥加入到授权中:

exit                    # 退出刚才的ssh localhost

cd ~/.ssh/              # 若没有该目录,请先执行一次ssh localhost

ssh-keygen -t rsa       # 然后会有3次提示用户输入,因为要设置成免密码登录的方式,所以都直接按回车键即可。

cat id_rsa.pub >>authorized_keys  # 加入授权

配置SSH无密码登录界面,如图3-49所示。

 

图3-49 配置SSH无密码登录

此时再执行ssh localhost 命令,SSH无密码登录成功,如图3-50所示,输入exit,退出。

 

图3-50 SSH无密码登录成功

如果没有成功,需要先删除 ./ssh内的文件,然后重新配置SSH登录。命令如下:

cd ~/.ssh

然后输入ls ,我们可以看到~/.ssh一共有四个文件:

id_rsa

id_rsa.pub 

known_hosts

authorized_keys

然后输入:

rm -r ~/.ssh

系统会提示 rm:是否进入目录"/root/.ssh"?

接下来全部都输“y”,即可全部删除~/.ssh内的文件。

3.3.1.4 修改每个节点的host和FQDN

为了以后能够采用“ssh + 主机名”的方式来访问其余节点,要保证每个节点上的hosts文件下有各个ip和主机名对应的映射。

1、设置主机名

每个节点都要设置,执行如下命令:

gedit /etc/sysconfig/network

将以下内容添加到文件中:

HOSTNAME=c205-001  #但HOSTNAME的参数不同,三台服务器分别为c205-001,c205-002,c205-003

保存退出后,重启网卡,执行如下命令:

systemctl restart network.service

2、修改host文件

终端中输入命令:

gedit /etc/hosts

修改之前的内容如下:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

删掉之前的内容,替换的内容如下:

192.168.10.201  c205-001.hadoop   c205-001

192.168.10.202  c205-002.hadoop   c205-002

192.168.10.203  c205-003.hadoop   c205-003

保存后关闭。

3、修改/etc/hostname

终端中输入命令:

gedit /etc/hostname

之前的内容为:

localhost.localdomain

替换为我们想要的hostname,即分别为c205-001,c205-002,c205-003。

保存退出后,重启网卡,执行如下命令:

systemctl restart network.service

4、测试使用“ssh + 主机名”方式登录是否成功

例如在主节点上进行测试。如果没有出现如下返回的内容则是因为还没有更新好,可以输入几次hostnamectl和systemctl restart network.service指令,就会出现正确的返回内容。

输入:hostname  

返回:c205-001

输入:hostname -f

返回:c205-001.hadoop

输入:hostnamectl

返回:

 Static hostname: c205-001

Icon name: computer-server

Chassis: server

Machine ID: e78dc180677d4c84be5facbd517668d4

Boot ID: 0fb80e52aad340bcab99cb49a371ca0d

 Operating System: CentOS Linux 7 (Core)

CPE OS Name: cpe:/o:centos:centos:7

Kernel: Linux 3.10.0-693.el7.x86_64

Architecture: x86-64

3.3.1.5 实现主节点免密码登录从节点

1、将主节点的公钥文件拷贝到从节点上

此时会让你输入一次“yes”和密码,执行之前要保证从节点已经开机,否则会出现不能复制到从节点的问题。

终端中执行如下命令:

scp ~/.ssh/id_rsa.pub  root@c205-002:~

scp ~/.ssh/id_rsa.pub  root@c205-003:~

结果如图3-51所示。

 

图3-51 将主节点的公钥文件拷贝到从节点上

2、将主节点的公钥追加到授权文件中

在两个从节点中执行如下命令:

cat  ~/id_rsa.pub >>  ~/.ssh/authorized_keys

chmod 600 ~/.ssh/authorized_keys

rm ~/id_rsa.pub

结果如图3-52所示。

 

图3-52 将主节点的公钥追加到授权文件中

在主节点中使用”ssh + 主机名”的方式,实现主节点到从节点无密码访问。

终端中执行如下命令:                               

ssh c205-002

登录成功后,如图3-53所示。第一次这样登录的时候会让你输入一次“yes”,但是不需要输入密码。以后ssh登录都不需要再输入“yes”和密码了。

 

图3-53使用”ssh + 主机名”的方式登录

输入exit,退出登录

3.3.1.6 在所有节点上开启NTP 服务

安装或更新NTP,终端中执行如下命令:

yum  installntp

系统会提示两次输入“y”,安装或更新NTP结果如图3-53所示。

 

图3-53安装或更新NTP

 

接下来将ntp服务设置为开机自启动。

在终端中依次输入:

systemctl is-enabled ntpd

systemctl enable ntpd

systemctl start ntpd

结果如图3-54所示。

 

图3-54 ntp服务设置为开机自启动

3.3.1.7 关闭所有节点的防火墙

关闭节点防火墙,在所有节点的终端中执行如下命令:

systemctl disable firewalld

systemctl stop firewalld

结果如图3-55 所示。

 

 

图3-55 关闭防火墙

3.3.1.8 所有节点关闭SELinux

1、查看SELinux状态

在终端中输入如下指令:

sestatus

结果如图3-56所示。

 

图3-56 查看SELinux状态

如果SELinux status参数为enabled(SELinux status: enabled),即为开启状态。

2、关闭SELinux

需要注意的是,修改配置文件后需要重启机器。

在终端中修改配置文件,执行如下指令:

gedit  /etc/sysconfig/selinux

配置文件如图3-57所示。

 

图3-57 SELinux配置文件

将selinux参数由enforcing修改为disabled,执行如下命令:

SELINUX=disabled

修改完成后保存,退出。

若是服务器不能现在关机,可以选择临时关闭,不用重启机器,执行如下命令:

setenforce 0

3.3.2 在主节点上制作本地源

1、安装 Apache HTTP 服务

在终端中输入如下命令:

yum install httpd

安装的过程中会输入一次“y”,结果如图3-58所示。

 

 

 

图3-58 安装 Apache HTTP 服务

因为已经关闭了防火墙,所以就不用设置允许 http 服务(永久)通过防火墙了。

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

在终端中输入如下命令:

systemctl start httpd.service

systemctl enable httpd.service

结果如图3-59所示。

 

图3-59 添加 Apache 服务到系统层

3、安装本地制作相关工具

在终端中输入如下命令:

yum install yum-utils create repo

安装的过程中系统会输入一次“y”,结果如图3-60所示。

 

图3-60 安装本地制作相关工具

4、下载HDP 2.6.2 和Ambari-2.6.2.0对应centos7的安装资源

Ambari-2.6.2.0 tar包下载地址:

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

Ambari Repo File 文件链接:

http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.2.0/ambari.repo

HDP-2.6.5.0 tar包下载地址:

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

HDP-UTILS 2.6.5.0 tar包下载地址:

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

HDP Repo File 文件链接:

http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.5.0/hdp.repo

5、将下载的压缩包解压到/var/www/html/ambari目录

在httpd网站根目录(httpd网站根目录默认为/var/www/html/)下,创建目录ambari,然后将三个文件都解压到/var/www/html/ambari/路径下。

在终端中输入如下命令:

cd /var/www/html

mkdirambari

利用图形化界面将下载好的三个文件在/root/下载/路径下解压。Ambari-2.6.2.0解压后最外层文件夹名需命名为ambari,HDP-2.6.5.0文件解压后最外层文件夹名需命名为HDP,HDP-UTILS 2.6.5.0解压后,最外层文件夹名需命名为HDP-UTILS。然后将三个命名好的文件夹放在/var/www/html/ambari/路径下。

修改/var/www/html/ambari文件夹及其内部文件的权限为root可读写,以防HDP安装的过程中出现不能读取的情况。

6、验证httpd网站是否被访问

用浏览器直接访问下面的地址:

http://192.168.10.201/ambari/

此处请读者注意将192.168.10.201修改为自己的集群主节点的IP地址,否则会出现在浏览器中不能访问的现象。图3-61为访问成功的界面。

 

图3-61 访问httpd网址的结果

7、修改HDP Repo File

修改hdp.repo,在终端中执行如下指令:

cd /root/下载

gedithdp.repo

初始配置如下:

#VERSION_NUMBER=2.6.3.0-235

[HDP-2.6.3.0]

name=HDP Version - HDP-2.6.3.0

baseurl=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.3.0

gpgcheck=1

gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.3.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

[HDP-UTILS-1.1.0.21]

name=HDP-UTILS Version - HDP-UTILS-1.1.0.21

baseurl=http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7

gpgcheck=1

gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.3.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

修改其中的URL为本地的地址,修改后的配置如下:

#VERSION_NUMBER=2.6.3.0-235

[HDP-2.6.3.0]

name=HDP Version - HDP-2.6.3.0

baseurl=http://192.168.10.201/ambari/HDP/centos7/2.6.3.0-235/

gpgcheck=1

gpgkey=http://192.168.10.201/ambari/HDP/centos7/2.6.3.0-235/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

[HDP-UTILS-1.1.0.21]

name=HDP Utils Version - HDP-UTILS-1.1.0.21

baseurl=http://192.168.10.201/ambari/HDP-UTILS

gpgcheck=1

gpgkey=http://192.168.10.201/ambari/HDP-UTILS/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

修改成功后保存并退出

8、修改Ambari Repo File

在终端中执行如下指令:

cd /root/下载

geditambari.repo

初始文件如下:

#VERSION_NUMBER=2.6.0.0-267

[ambari-2.6.0.0]

name=ambari Version - ambari-2.6.0.0

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

gpgcheck=1

gpgkey=http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.0.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

修改其中的URL为本地的地址,修改后的配置如下:

#VERSION_NUMBER=2.6.0.0-267

[ambari-2.6.0.0]

name=ambari Version - ambari-2.6.0.0

baseurl=http://192.168.10.201/ambari/ambari/centos7/2.6.0.0-267/

gpgcheck=1

gpgkey=http://192.168.10.201/ambari/ambari/centos7/2.6.0.0-267/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

保存后退出。

执行如下两行命令,将修改过的源放到/etc/yum.repos.d/下面。

cp /root/下载/hdp.repo  /etc/yum.repos.d/

cp /root/下载/ambari.repo  /etc/yum.repos.d/

然后查看一下该路径下是否有该文件,在终端中执行如下指令:

cd /etc/yum.repos.d/

ls

结果如图3-62所示。

 

图3-62 查看/etc/yum.repos.d/路径下的文件

9、清理并更新软件源

在主节点的终端中依次输入如下命令:

yum clean all

yum list update

yum makecache

yum repolist

结果如图3-63所示。

 

图3-63清理并更新软件源后的结果

3.3.3 主节点上安装MYSQL数据库

1、下载mysql的repo源

CentOS 7.2的yum源中默认没有mysql,要先下载mysql的repo源。

在终端中执行如下指令:

cd /opt

mkdirmysql

cd  mysql

wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

2、安装mysql57-community-release-el7-8.noarch.rpm包

在终端中执行如下指令:

rpm -ivhmysql57-community-release-el7-8.noarch.rpm  --nodeps --force

3、安装MYSQL

在终端中执行如下指令:

yum install mysql-server

安装的时候会输入2次“y”

结果如图3-64所示。

 

图3-64安装mysql-server

4、启动MYSQL

查看MySQL服务是否已启动,在终端中执行如下指令:

service mysqld status

结果如图3-65所示。

 

图3-65安装mysql服务

启动服务,在终端中执行如下指令:

systemctl start mysqld

结果如图3-66所示。

 

图3-66启动mysql服务

5、重置root密码

MySQL5.7会在安装后为root用户生成一个随机密码,而不是像以往版本的空密码。可以在安全模式修改root登录密码或者用随机密码登录修改密码。

下面用随机密码方式:

MySQL为root用户生成的随机密码,通过mysqld.log文件可以查找到。

执行如下命令:

grep 'temporary password' /var/log/mysqld.log

如图3-67中的随机密码为gpupLo%3W=Ia

 

图3-67查看数据库的随机密码

修改root用户密码:(MySQL的密码策略比较复杂,过于简单的密码会被拒绝)。

在终端中执行如下指令:

mysql -u root -p

然后输入刚才的随机密码,点击回车。

结果如图3-68所示

 

图3-68修改root用户密码

设置密码,在终端中执行如下指令:

mysql> SET PASSWORD FOR 'root'@'localhost'= "此处填写你的密码";

退出mysql数据库,在终端中执行如下指令:

mysql> exit

用root新密码登录,在终端中执行如下指令:

mysql -u root -p此处填写你的密码(注意:-p和密码之间没有空格,以后不再赘述此注意事项)

退出mysql数据库,在终端中执行如下指令:

mysql> exit

6、开放3306端口

用root密码登录,在终端中执行如下指令:

mysql -u root -p此处填写你的密码

登录后依次输入如下命令:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '此处填写你的密码' WITH GRANT OPTION;

FLUSH PRIVILEGES;

exit;

因为已经关闭了防火墙,所以此处不需要再开启防火墙mysql 3306端口的外部访问。

7、创建ambari数据库及用户

Centos系统登录root用户执行下面语句。

首先用root密码登录mysql,在终端中执行如下指令:

mysql -u root -p此处填写你的密码

create database ambari character set utf8 ;

CREATE USER 'ambari'@'%'IDENTIFIED BY '此处填写你的密码';

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

FLUSH PRIVILEGES;

use ambari

exit

8、如果要安装Hive,创建Hive数据库和用户

首先用root密码登录mysql,在终端中执行如下指令:

mysql -u root -p此处填写你的密码

create database hive character set utf8 ;

CREATE USER 'hive'@'%'IDENTIFIED BY '此处填写你的密码';

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

FLUSH PRIVILEGES;

exit;

9、如果要安装Oozie,创建Oozie数据库和用户

首先用root密码登录mysql,在终端中执行如下指令:

mysql -u root -p此处填写你的密码

create database oozie character set utf8 ;

CREATE USER 'oozie'@'%'IDENTIFIED BY '此处填写你的密码';

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

FLUSH PRIVILEGES;

exit;

10、安装mysqljdbc驱动

在终端中执行如下指令:

yum install mysql-connector-java

安装的过程会让用户输入一次“y”,结果如图3-68所示。

 

图3-68安装mysqljdbc驱动

 

3.3.4 为所有节点安装JDK

笔者使用的JDK版本为 "1.8.0_131",请读者自行到官网下载JDK文件。笔者的下载路径为/root/下载/

1、新建java8文件夹

在终端中输入如下命令:

cd  /opt

mkdir java8

2、将tar.gz文件拷贝到java8目录下

终端中输入如下命令:

cp /root/下载/jdk-8u131-linux-x64.tar.gz  /opt/java8  #此处可以修改为想要安装的其他路径,但是不建议放在/目录下,有可能会报错。

3、解压JDK文件

进入/opt/java8文件夹。在终端中输入如下命令:

cd /opt/java8

解压文件,在终端中输入如下命令:

tar -zxvf jdk-8u131-linux-x64.tar.gz

4、配置java环境

在终端中输入如下命令:

       gedit ~/.bashrc

       然后在文档的末尾加入

#java

export JAVA_HOME=/opt/java8/jdk1.8.0_131

export PATH=$JAVA_HOME/bin:$PATH

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

然后点击ctrl+s保存后关闭文件

为了使配置文件立即生效,在终端输入如下命令:

source ~/.bashrc

5、测试是否安装成功

终端中输入如下命令:

java -version

出现如下信息:

java version "1.8.0_131"

Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

则表示安装成功。如果没有出现这些信息,请尝试关闭当前终端窗口,然后重新打开一个终端窗口进行测试。

3.3.5 所有节点修改Python的配置文件

在终端中执行如下指令:

gedit /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=platform_default参数修改为verify=disable

保存退出。

3.3.6 安装Ambari-2.6.2.0

在终端中输入如下命令:

cd /etc/yum.repos.d/

yum install ambari-server

输入2次“y”

结果如图3-68所示。

 

图3-68安装Ambari-2.6.2.0

 

输入命令:

ambari-server setup

系统会提示输入“n”,但是要输入“y”.

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

然后,系统会提示

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

按回车键

接下来,会让用户检查JDK版本

Checking JDK...

[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

因为我们自己安装了java环境,所以我们输入:3

然后系统会提示用户输入自己所安装的java环境的路径

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/java8/jdk1.8.0_131

此处我们的JDK路径为/opt/java8/jdk1.8.0_131

输入后点击回车。

然后,系统会提示:

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

输入:y

接下来,系统会提示:

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

此处我们安装了MySQl数据库,所以选择3,数据库的密码我们设置为 “此处填写你的密码”,密码需要输入两次,其他的设置如果和括号中默认的设置相同,就直接回车,如果不同,就输入自己想要配置。比如Database Password 你可以不用bigdata,那么就在Enter Database Password(bigdata):后输入我们想要设置的密码。

Enter choice (1): 3

Hostname (localhost):

Port (3306):

Database name (ambari):

Username (ambari):

Enter Database Password (bigdata):

Re-enter password:

然后系统会提示警告:

WARNING: Before starting Ambari Server, you must run the following DDL against the database to create the schema: /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

Proceed with configuring remote database connection properties [y/n] (y)?

此处输入y

然后系统提示:

Extracting system views...

Adjusting ambari-server permissions and ownership...

Ambari Server 'setup' completed successfully.

将Ambari数据库脚本导入到数据库.如果使用自己定义的数据库,必须在启动Ambari服务之前导入Ambari的sql脚本,在终端中输入如下命令:

mysql -u ambari -p

输入密码此处填写你的密码

use ambari

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

exit

最后如图3-69所示。

 

图3-69将Ambari数据库脚本导入到数据库

接下来输入命令:

ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar
系统在终端中返回如下信息:

Using python  /usr/bin/python2

Setup ambari-server

Copying /usr/share/java/mysql-connector-java.jar to /var/lib/ambari-server/resources

JDBC driver was successfully initialized.

Ambari Server 'setup' completed successfully.

在启动ambari-server之前,将主节点的私钥文件拷贝到主节点的/root下,在终端中执行如下指令:

cp ~/.ssh/id_rsa   /root

将主节点下/etc/yum.repos.d的hdp.repo文件复制到两个从节点/etc/yum.repos.d文件夹下,在终端中执行如下指令:

scp /etc/yum.repos.d/hdp.reporoot@c205-002:/etc/yum.repos.d/

scp /etc/yum.repos.d/hdp.reporoot@c205-003:/etc/yum.repos.d/

结果如图3-70所示。

 

图3-70将主节点的私钥文件拷贝到主节点的/root下

其他每个节点要执行的命令和注意事项:

打开终端,在终端中执行如下指令:

cd

yum  install git git-core

yum install gcc -y

注意:安装之前一定要拔掉优盘!不然有可能会报错。

3.3.7 启动ambari-server并使用HDP部署分布式计算环境

1、启动ambari-server

首先每个节点都切换到英文,然后重新登录root用户。

登录之后,系统会提示是否更新文件夹的名字,选择不更新。由于更新之后文件的路径会有变化,所以不推荐更新文件夹的名字。接下来,在主节点上启动ambari-server,终端中输入如下命令:

ambari-server start

结果如图3-71所示。

 

图3-71启动ambari-server

 

2、HDP部署分布式计算环境

打开浏览器输入http://c205-001:8080

因为我们已经配置了hosts文件,所以直接输入c205-001:8080就可以进入到ambari的登录界面,也可以通过输入http://192.168.10.201:8080来进入ambari的登录界面。

默认的用户名和密码都是admin,登录界面如图3-72所示。

 

图3-72 浏览器访问http://c205-001:8080

输入用户名和密码后点“sign in",登录后的界面如图3-73 所示。

 

图3-73 Ambari登录成功后的界面

点击“Launch Install Wizard”按钮,如图3-74所示,给集群取一个名字。

 

图3-74 输入集群的名字

笔者给集群命名为clusterc205,然后点击“Next”

然后选择HDP2.6,在Advanced Repository Options中我们选择redhat7,因为centos7是基于redhat7的,如图3-75所示。

 

图3-75 选择HDP的版本

将redhat7后的两个网址作替换,

http://192.168.10.201/ambari/HDP/centos7/2.6.3.0-235

http://192.168.10.201/ambari/HDP-UTILS

替换后如图3-76所示:

这是为了让HDP使用本地文件安装,免于在线安装,因为在线安装成功的几率很小,对网速要求很高,一旦网络出现问题,就会导致整个文件下载失败,HDP整个文件6G以上,下载需要的时间比较长,读者需要保持耐心。

若出现一直卡在此处的情况,返回查看/var/www/html/ambari文件夹及其内部文件的权限是否为root可读写。

替换完链接地址之后点击“Next”。

 

图3-76 替换链接地址

Target Hosts填写要求Enter a list of hosts using the Fully Qualified Domain Name (FQDN)

所以应填写如下内容:

c205-001.hadoop

c205-002.hadoop

c205-003.hadoop

勾选“Provide your SSH Private Keyto automatically register hosts”选项,如图3-77所示,SSH User Account选择为root,(注意:Perform manual registration on hostsand do not use SSH 的选项不要选择,这样ambari会自动的安装ambari-agent到从节点。如果自己已经在从节点安装好了ambari-agent可以选择此项。)点击图中的“浏览”按钮,选择“root”下的“id_rsa”文件。

 

 

 

图3-77选择SSH Private Key

然后点击图3-77中的“Register and Comfirm”按钮,结果如图3-78所示。

 

图3-78 ComfirmHoste

注册(Register)完成后,在“Next”按钮的上侧,会出现一行英文提醒,点击“Click here to see the check results”

然后将里面的警告全部解决。例如:

需要主节点卸载ntfs-3g:

yum remove ntfs-3g

可能有部分节点需要重新启动ntpd等:

systemctl is-enabled ntpd

systemctl enable ntpd

systemctl start ntpd

解除这些警告后,点击Return Checks 后Host Checks会显示全部都是对勾,没有感叹号,如图3-79所示,然后点击“Close”。

 

图3-79 解除所有警告

接下来开始选择想要安装的服务,此处笔者只选择了部分需要的服务,如图3-80和3-81所示。然后点击“Next”。

 

图3-80 选择想要安装的服务

 

图3-81 选择想要安装的服务(接图3-80)

因为数据库安装在c20-001上,所以Hive Metastore和HiveServer2的安装位置选择c205-001,如图3-82所示,然后点击“next”。

 

图3-82 选择Hive Metastore和HiveServer2的安装位置

Assign Slaves and Clients的选择,如图3-83和3-84所示。

 

图3-83 Assign Slaves and Clients的选择

 

图3-84 Assign Slaves and Clients的选择(接图3-83)

如果HDFS和YARN服务中有红色的警告,去掉HDFS和YARN中的/home,警告就会消失,如图3-85所示。

 

图3-85去掉HDFS和YARN服务中警告后的结果

Hive安装的时候需要设置数据库的相关信息,选择已有的MySQL数据库,然后输入之前为Hive设置的密码。

接着按照如图3-86所示进行选择,将页面拉到底部,点击“Next”,进行下一步的配置。然后点击“Hive”的“Advanced”,“Hive Database”选择“Existing MySQL Database”。

 

图3-86 Hive的设置

输入之前MySQL数据库安装时Hive数据库的用户名和密码等信息,点击“Test Connection”,显示连接成功。结果如图3-87所示。

 

图3-87 连接数据库成功

将页面拉到底部,点击"Next ",进行Review的配置。如图3-88所示。

 

图3-88 Review界面

 

点击"Deploy "后,会出现进度条,如图3-89所示。

 

图3-89准备开始部署

进度条结束后,HDP开始部署。界面如图3-90和3-91所示。[海川1] [xy2] 

 

图3-90 HDP开始部署

每个节点的部署进度是不同的,这是由于每个节点部署的服务和机器性能不同造成的,整个部署过程的时间是比较长的,部署完成的时间取决于服务器的性能,部署进度较慢,也不需要担心。部署过程在网络没有问题的前提下很少出现错误。笔者这一步大概花费了3个小时的时间。

 

 

图3-91 HDP部署过程过半

HDP部署完成,如图3-92所示。

 

图3-92 HDP部署完成

    注意:不需要使用分布式计算环境的时候,可以用STOP ALL 来停止所有服务,如图3-93所示。不要在完成停止所有服务之前,直接关闭服务器,这样的行为和服务器突然断电都很有可能造成文件损坏,很难修复,有时候只能用重装来解决,这样做的代价会很大。

 

图3-93用Stop ALL 来停止所有服务

我们可以使用“Stop All”和“Start All”来关闭和开启集群的服务,关闭集群的服务后,可以关闭集群的服务器,正常开启集群后,再次“Start All”来开启所有服务,所有的警告都会在服务全部开启后自动消失。但是如果集群突然断电,有些服务可能会难以正常开启,只能够通过重装系统和HDP平台来解决。所以,使用完集群后可以选择停止所有服务,然后关闭集群的服务器。

通过Add Service可以为集群添加服务。[海川3] [xy4] 比如为这个集群添加Mahout,Spark等服务,当然,这些服务不一定要在每个节点上都添加,我们在添加的过程中,可以选择哪些节点添加服务。

如图3-94所示,可以通过Add Hosts为集群添加新节点,也就是添加新的服务器到集群中。但是一定要和集群现在的服务器系统保持一致,比如,至少都需要是centos7 ,更细致的版本可以稍有差别,但不可以是centos6或者Ubuntu的系统。

 

图3-94通过Add Hosts可以为集群添加新节点

安装完成之后切换到中文,HDP平台也是可以正常使用的。由于现在的系统语言是英文,采用yum install 指令安装软件的时候,默认是在国外的服务器选择安装源,但是国内的网络不能随意的访问外网,所以会显示安装失败。

切换回中文后,因为之前安装HDP和Ambari改变了系统的源,所以如果安装软件显示失败的话,在终端中执行如下指令:

yum install epel-release --nogpgcheck

3.3.8 集群以及已安装服务的相关信息

Admin Name : admin

Cluster Name : clueter1

Total Hosts : 3 (3 new)

Repositories:

redhat7 (HDP-2.6): http://192.168.10.201/ambari/HDP/centos7/2.6.3.0-235

redhat7 (HDP-UTILS-1.1.0.21): http://192.168.10.201/ambari/HDP-UTILS

Services(已安装的服务):

HDFS

DataNode : 2 hosts

NameNode : c205-001.hadoop

NFSGateway : 0 host

SNameNode : c205-002.hadoop

YARN + MapReduce2

App Timeline Server : c205-002.hadoop

NodeManager : 1 host

ResourceManager : c205-002.hadoop

Tez

Clients : 3 hosts

Hive

Metastore : c205-001.hadoop

HiveServer2 : c205-001.hadoop

WebHCatServer : c205-001.hadoop

Database : Existing MySQL / MariaDB Database

Pig

Clients : 3 hosts

ZooKeeper

Server : 3 hosts

Ambari Metrics

Metrics Collector : c205-003.hadoop

Grafana : c205-001.hadoop

SmartSense

Activity Analyzer : c205-001.hadoop

Activity Explorer : c205-001.hadoop

HST Server : c205-001.hadoop

Spark

Livy Server : 1 host

History Server : c205-001.hadoop

Thrift Server : 1 host

Spark2

Livy for Spark2 Server : 1 host

History Server : c205-001.hadoop

Thrift Server : 1 host

Mahout

Clients : 3 hosts

Slider

Clients : 3 hosts


 [海川1]两图之间加点内容

 [xy2]已修改

 [海川3]扩充点内容

 [xy4]已修改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值