版本说明: Ambari:2.7.3.0 HDP:3.1.0.0

一、配置说明

1.1 硬件环境

节点类型 操作系统 ip地址 主机名 说明
主节点 Centos-7 10.0.68.82 node-01
从节点 Centos-7 10.0.68.83 node-02
从节点 Centos-7 10.0.68.102 node-03
从节点 Centos-7 10.0.68.114 node-04

1.2 软件环境

软件名称 版本
JDK jdk1.8.0_151
Mysql 5.7.23
Ambari 2.7.3
HDP 3.0.1

二、修改主机名与hosts文件

2.1 赋予paas用户sodu权限

运维一般不会给我们root账号来操作,因此需要我们给paas用户赋予sodu权限:

  1. # 切换到root用户
  2. [root@host-10-0-68-82 ~]# su - root
  3. [root@host-10-0-68-82 ~]# visodu

此时会进入到/etc/sudoers文件的编辑页面,增加如下配置即可:

  1. paas ALL=(ALL) NOPASSWD: ALL
  2. # 一下这一行一定要注释掉,以免覆盖掉hadoop用户的所属组(所属wheel组)
  3. #wheel ALL=(ALL)

注意:后续操作全部用hadoop用户

2.2 修改主机名

  1. [paas@node1 ~]$ sudo hostnamectl set-hostname node1

2.3 修改hosts文件(三台主机的hosts文件均修改为下图所示)

  1. # 添加主机ip与主机名映射
  2. vim /etc/hosts
  1. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
  2. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  3. 10.0.68.82 node1
  4. 10.0.68.83 node2
  5. 10.0.68.102 node3
  6. 10.0.68.114 node4

三、关闭防火墙和selinux

3.1 防火墙设置

  1. # 禁止防火墙开机自启动
  2. sudo systemctl disable firewalld
  3. # 关闭防火墙
  4. sudo systemctl stop firewalld
  5. # 查看防火墙状态
  6. sudo systemctl status firewalld

3.2 禁用selinux

  • 检查selinux的运行状态

getenforce
返回不是disabled说明开着呢

  • 临时禁用(不需要重启电脑)

sudo setenforce 0

  • 永久禁用

sudo vim /etc/selinux/config
SELINUX=permissive设置为SELINUX=disabled

  1. # This file controls the state of SELinux on the system.
  2. # SELINUX= can take one of these three values:
  3. # enforcing - SELinux security policy is enforced.
  4. # permissive - SELinux prints warnings instead of enforcing.
  5. # disabled - No SELinux policy is loaded.
  6. SELINUX=disabled
  7. # SELINUXTYPE= can take one of three values:
  8. # targeted - Targeted processes are protected,
  9. # minimum - Modification of targeted policy. Only selected processes are protected.
  10. # mls - Multi Level Security protection.
  11. SELINUXTYPE=targeted

3.3 umask设置

umask用于设置在linux上创建新文件或者文件夹时授予的默认权限或者基本权限。大多数linux的发行版将022设置为默认的umask权限,umask值022授予新文件或文件夹755权限。umask值027授予新文件或者文件夹750权限。

  • 查看当前umask值

[paas@node1 ~]$ umask
image.png

  • 设置umask值为022

[paas@node1 ~]$ sudo vim /etc/profile
最后一样添加:umask 0022

  • 是环境变量生效

[paas@node1 ~]$ sudo source /etc/profile

3.4 文件描述符的配置

  • 检查文件描述符的限制数

    1. [paas@node1 ~]$ ulimit -Sn
    2. 65536
    3. [paas@node1 ~]$ ulimit -Hn
    4. 65536

    这里的数字如果是小于10000的话,就需要调大了

  • 调大文件描述符的限制

限制资源使用的配置文件是:/etc/security/limits.conf 和 目录/etc/security/limits.d/
limits.d 这个目录中的配置会覆盖掉 limits.conf 这个文件中的目录
[paas@node1 ~]$ sudo vim /etc/security/limits.conf
这一步完成在会后需要重启系统
[paas@node1 ~]$ sudo systemctl reboot

3.5 SSH优化

Centos7下每次ssh连接,都要连接都需要5s左右,可通过一下方式进行优化:
编辑 /etc/ssh/sshd_config
[paas@node1 ~]$ sudo /etc/ssh/sshd_config
查找 GSSAPIAuthentication设置为 no
查找UseDNS,赋值为 no (该项默认是不启用的,需要去掉注释打开)
保存并重启ssh服务
[paas@node1 ~]$ sudo systemctl restart sshd

四、配置免密登录

4.1 生成公钥和私钥:

[paas@node1 ~]$ ssh-keygen
[paas@node1 ~]$ cd .ssh
[paas@node1 ~]$ cat id_rsa.pub >> authorized_keys
[paas@node1 ~]$ chmod 700 ~/.ssh
[paas@node1 ~]$ chmod 600 ~/.ssh/authorized_keys

4.2 连接一下自己,验证是否成功

[paas@node1 ~]$ ssh node1
image.png

五、安装JDK

5.1 上传jdk包到目录下

5.2 解压jdk包

[paas@node1 opt]$ sudo tar -zxvf jdk1.8.0_161.tar.gz

5.3 创建软连接(方便后续升级修改配置文件)

[paas@node1 opt]$ sudo ln -s /opt/jdk1.8.0_161 /opt/jdk

5.4 修改环境变量

[paas@node1 opt]$ sudo vim /etc/profile

  1. export JAVA_HOME=/opt/jdk1.8.0_161
  2. export JRE_HOME=${JAVA_HOME}/jre
  3. export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
  4. export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
  5. export PATH=$PATH:${JAVA_PATH}

六、安装Mysql

转另一篇文档

七、配置时钟同步

八、搭建本地yum源

8.1 安装Apahce服务

[paas@node1 opt]$ sudo yum -y install httpd

8.2 设置Apache服务开机自启动

[paas@node1 opt]$ sudo systemctl enable httpd

8.3 启动Apache服务器

[paas@node1 opt]$ sudo systemctl start httpd

8.4 部署Ambari的本地源

  • HDP安装包上传到Apache的目录下(默认是/var/www/html,该目录可修改为自己的数据目录,也可以不修改)

我的Apache默认的目录对应的磁盘空间不够,所以对其目录进行修改为了我的数据盘下(/data/www/html)

  1. # 移动安装包到/data/www/html目录下
  2. [paas@node1 html]$ sudo mv ~/ambari-2.7.5.0-centos7.tar.gz /data/www/html
  3. [paas@node1 html]$ sudo mv ~/HDP-3.1.5.0-centos7-rpm.tar.gz /data/www/html
  4. [paas@node1 html]$ sudo mv ~/HDP-GPL-3.1.5.0-centos7-gpl.tar.gz /data/www/html
  5. [paas@node1 html]$ sudo mv ~/HDP-UTILS-1.1.0.22-centos7.tar.gz /data/www/html
  6. # 解压安装包
  7. [paas@node1 html]$ sudo tar -zxvf ./ambari-2.7.5.0-centos7.tar.gz
  8. [paas@node1 html]$ sudo tar -zxvf ./HDP-3.1.5.0-centos7-rpm.tar.gz
  9. [paas@node1 html]$ sudo tar -zxvf ./HDP-GPL-3.1.5.0-centos7-gpl.tar.gz
  10. [paas@node1 html]$ sudo tar -zxvf ./HDP-UTILS-1.1.0.22-centos7.tar.gz
  11. # 清理安装包
  12. [paas@node1 html]$ sudo rm -r ./ambari-2.7.5.0-centos7.tar.gz
  13. [paas@node1 html]$ sudo rm -r ./HDP-3.1.5.0-centos7-rpm.tar.gz
  14. [paas@node1 html]$ sudo rm -r ./HDP-GPL-3.1.5.0-centos7-gpl.tar.gz
  15. [paas@node1 html]$ sudo rm -r ./HDP-UTILS-1.1.0.22-centos7.tar.gz
  • 更改目录权限

[paas@node1 html]$ sudo chmod -R ugo+rx /data/www/html

  • 配置使用本地yum源

需要将ambari的yum源配置到yum的目录中去

  1. #
  2. [paas@node1 html]$ cd /etc/yum.repos.d/
  3. [paas@node1 yum.repos.d]$ sudo vim ambari.repo

增加如下内容:

  1. [ambari-repo]
  2. name=ambari
  3. baseurl=http://node1/ambari/centos7/2.7.5.0-72/
  4. gpgcheck=0
  5. enabled=1

执行以下命令进行验证:
[paas@node1 yum.repos.d]$ yum repolist
image.png

九、安装Ambari-server

9.1 安装Ambari-server

执行命令:sudo yum -y install ambari-server
image.png

9.2 创建Ambari数据库资源

Ambari在运行的时候需要使用Mysql进行存储数据,所以需要对Ambari进行单独创建用户以及数据库,进入mysql:
[paas@node1 data]$ mysql -uroot -p
执行如下命令:

  1. mysql> set global validate_password_policy=0;
  2. mysql> set global validate_password_mixed_case_count=0;
  3. mysql> set global validate_password_number_count=3;
  4. mysql> set global validate_password_special_char_count=0;
  5. mysql> set global validate_password_length=3;
  6. mysql> create database ambari character set utf8 collate utf8_general_ci;
  7. mysql> create user 'ambari'@'%' identified by '123456';
  8. mysql> grant all on ambari.* to 'ambari'@'%';
  9. mysql> flush privileges;
  10. mysql> use ambari;
  11. mysql> source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
  12. mysql> exit;

9.3 配置Ambari-Server

执行如下命令开始设置Ambari-Server:
[paas@node1 data]$ sudo ambari-server setup
image.png
这里会检测selinux的状态,某些情况下如果没有关闭的话,会直接退出的,这里选择y,回车继续:
image.png
这里会询问,是否使用自定义的账号进行运行ambari-server,选择y,回车继续:
image.png
这里选择pass账号(这里也可以不选择,默认就是root,或者直接回车,那就是使用root账号了),继续回车:
image.png
这里提示选择jdk的安装方式,选择2,自定义安装
image.png
这里需要填写自定义安装的jdk的安装目录,输入后回车:
image.png
这里提示是否选择下载安装LZO包,选择y,继续回车:
image.png
这里紧接着配置数据库,提示是否需要进入数据库高级配置,选择y,继续回车:
image.png
这里会提示使用什么数据库来存储Ambari的元数据信息,这里选择3,并配置根据提示填写相应的信息,继续回车:
image.png
然后这里会提示,填写mysql的驱动程序包位置,根据实际目录进行填写,回车
至此Ambari-Server安装完成

9.4 Ambari-Server的启动

[paas@node1 data]$ sudo ambari-server start
启动日志在目录:/var/log/ambari-server/ambari-server.log
image.png

9.5 Ambari的访问

此时可以直接在页面进行访问,浏览器输入地址:http://node1:8080
账号:admin
密码:admin
image.png

十、通过Ambari部署Hadoop集群

10.1 点击上一步 “LUNCH INSTALL WIZARD”

image.png

10.1 给集群起名称,点击NEXT

image.png

10.3 组件版本选择,点击NEXT

image.png
image.png
这里填写本地的安装的仓库地址,分别是:
[http://node1/HDP/centos7/3.1.5.0-152](http://node1/HDP/centos7/3.1.5.0-152)/
[http://node1/HDP-GPL/centos7/3.1.5.0-152](http://node1/HDP-GPL/centos7/3.1.5.0-152)/
[http://node1/HDP-UTILS/centos7/1.1.0.22](http://node1/HDP-UTILS/centos7/1.1.0.22/)

10.4 配置集群主机信息

image.png

  • Target Hosts

这里需要把部署的主机名都填写进去,一行一个,也可以先填写一个,后续在按个添加。这里所说的集群节点指的是Ambari集群的结点,也就是说,这里填写的节点是受Ambari进行管理的

  • Host Registration Information

这里选择自动注册主机,因为这里已经做了paas用户下的免密了,这里需要把Ambari-Server那台机器的paas的用户的私钥拷贝过来,执行如下命令进行查看:
[paas@node1 data]$ cat ~/.ssh/id_rsa
最后配置完成之后如下图所示:
image.png
点击右下角 【注册】

10.5 确认主机信息

image.png
image.png
这里可以点击 【Click here to see the warnings.】这里的告警可以忽略
image.png
如果看到这里为成功,则点击下一步

10.6 选择安装服务

上一步选择下一步之后,会提示是否忽略警告,选择OK进入
image.png
这一步要选择需要安装的服务,当然这里可以不选,后面安装好之后在进行选择安装。所以这里我暂时只安装Hadoop相关的服务
注意:在Ambari里,Hadoop被当做多个服务例如HDFS、YARN等,如果选择的服务依赖于其他服务的话,界面会提示,此时只需要点击确定后,自动勾选,然后下一步即可

10.7 分配master服务安装的位置

image.png

10.8 clien端以及datanode节点的分配

clien端规划只作为运维结点
image.png

10.9 设置管理Grafana和Activity Explorer’s Admin的密码

这里都设置为admin
image.png

10.10 配置各个服务的对应的数据目录

这里由于本地服务器的原因,所有的目录同一配置到了数据盘下面
image.png

10.11 服务运行用户信息确认

这里选择默认就可以,直接点击下一步
image.png

10.12 所有配置信息确认

image.png

10.13 配置信息再次确认

image.png

10.14 服务安装

image.png