版本说明: 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权限:
# 切换到root用户
[root@host-10-0-68-82 ~]# su - root
[root@host-10-0-68-82 ~]# visodu
此时会进入到/etc/sudoers文件的编辑页面,增加如下配置即可:
paas ALL=(ALL) NOPASSWD: ALL
# 一下这一行一定要注释掉,以免覆盖掉hadoop用户的所属组(所属wheel组)
#wheel ALL=(ALL)
2.2 修改主机名
[paas@node1 ~]$ sudo hostnamectl set-hostname node1
2.3 修改hosts文件(三台主机的hosts文件均修改为下图所示)
# 添加主机ip与主机名映射
vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.68.82 node1
10.0.68.83 node2
10.0.68.102 node3
10.0.68.114 node4
三、关闭防火墙和selinux
3.1 防火墙设置
# 禁止防火墙开机自启动
sudo systemctl disable firewalld
# 关闭防火墙
sudo systemctl stop firewalld
# 查看防火墙状态
sudo systemctl status firewalld
3.2 禁用selinux
- 检查selinux的运行状态
getenforce
返回不是disabled
说明开着呢
- 临时禁用(不需要重启电脑)
sudo setenforce 0
- 永久禁用
sudo vim /etc/selinux/config
将SELINUX=permissive
设置为SELINUX=disabled
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
3.3 umask设置
umask用于设置在linux上创建新文件或者文件夹时授予的默认权限或者基本权限。大多数linux的发行版将022设置为默认的umask权限,umask值022授予新文件或文件夹755权限。umask值027授予新文件或者文件夹750权限。
- 查看当前umask值
[paas@node1 ~]$ umask
- 设置umask值为022
[paas@node1 ~]$ sudo vim /etc/profile
最后一样添加:umask 0022
- 是环境变量生效
[paas@node1 ~]$ sudo source /etc/profile
3.4 文件描述符的配置
检查文件描述符的限制数
[paas@node1 ~]$ ulimit -Sn
65536
[paas@node1 ~]$ ulimit -Hn
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 连接一下自己,验证是否成功
五、安装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
export JAVA_HOME=/opt/jdk1.8.0_161
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
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)
# 移动安装包到/data/www/html目录下
[paas@node1 html]$ sudo mv ~/ambari-2.7.5.0-centos7.tar.gz /data/www/html
[paas@node1 html]$ sudo mv ~/HDP-3.1.5.0-centos7-rpm.tar.gz /data/www/html
[paas@node1 html]$ sudo mv ~/HDP-GPL-3.1.5.0-centos7-gpl.tar.gz /data/www/html
[paas@node1 html]$ sudo mv ~/HDP-UTILS-1.1.0.22-centos7.tar.gz /data/www/html
# 解压安装包
[paas@node1 html]$ sudo tar -zxvf ./ambari-2.7.5.0-centos7.tar.gz
[paas@node1 html]$ sudo tar -zxvf ./HDP-3.1.5.0-centos7-rpm.tar.gz
[paas@node1 html]$ sudo tar -zxvf ./HDP-GPL-3.1.5.0-centos7-gpl.tar.gz
[paas@node1 html]$ sudo tar -zxvf ./HDP-UTILS-1.1.0.22-centos7.tar.gz
# 清理安装包
[paas@node1 html]$ sudo rm -r ./ambari-2.7.5.0-centos7.tar.gz
[paas@node1 html]$ sudo rm -r ./HDP-3.1.5.0-centos7-rpm.tar.gz
[paas@node1 html]$ sudo rm -r ./HDP-GPL-3.1.5.0-centos7-gpl.tar.gz
[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的目录中去
#
[paas@node1 html]$ cd /etc/yum.repos.d/
[paas@node1 yum.repos.d]$ sudo vim ambari.repo
增加如下内容:
[ambari-repo]
name=ambari
baseurl=http://node1/ambari/centos7/2.7.5.0-72/
gpgcheck=0
enabled=1
执行以下命令进行验证:[paas@node1 yum.repos.d]$ yum repolist
九、安装Ambari-server
9.1 安装Ambari-server
执行命令:sudo yum -y install ambari-server
9.2 创建Ambari数据库资源
Ambari在运行的时候需要使用Mysql进行存储数据,所以需要对Ambari进行单独创建用户以及数据库,进入mysql:[paas@node1 data]$ mysql -uroot -p
执行如下命令:
mysql> set global validate_password_policy=0;
mysql> set global validate_password_mixed_case_count=0;
mysql> set global validate_password_number_count=3;
mysql> set global validate_password_special_char_count=0;
mysql> set global validate_password_length=3;
mysql> create database ambari character set utf8 collate utf8_general_ci;
mysql> create user 'ambari'@'%' identified by '123456';
mysql> grant all on ambari.* to 'ambari'@'%';
mysql> flush privileges;
mysql> use ambari;
mysql> source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
mysql> exit;
9.3 配置Ambari-Server
执行如下命令开始设置Ambari-Server:[paas@node1 data]$ sudo ambari-server setup
这里会检测selinux的状态,某些情况下如果没有关闭的话,会直接退出的,这里选择y,回车继续:
这里会询问,是否使用自定义的账号进行运行ambari-server,选择y,回车继续:
这里选择pass账号(这里也可以不选择,默认就是root,或者直接回车,那就是使用root账号了),继续回车:
这里提示选择jdk的安装方式,选择2,自定义安装
这里需要填写自定义安装的jdk的安装目录,输入后回车:
这里提示是否选择下载安装LZO包,选择y,继续回车:
这里紧接着配置数据库,提示是否需要进入数据库高级配置,选择y,继续回车:
这里会提示使用什么数据库来存储Ambari的元数据信息,这里选择3,并配置根据提示填写相应的信息,继续回车:
然后这里会提示,填写mysql的驱动程序包位置,根据实际目录进行填写,回车
至此Ambari-Server安装完成
9.4 Ambari-Server的启动
[paas@node1 data]$ sudo ambari-server start
启动日志在目录:/var/log/ambari-server/ambari-server.log
9.5 Ambari的访问
此时可以直接在页面进行访问,浏览器输入地址:http://node1:8080
账号:admin
密码:admin
十、通过Ambari部署Hadoop集群
10.1 点击上一步 “LUNCH INSTALL WIZARD”
10.1 给集群起名称,点击NEXT
10.3 组件版本选择,点击NEXT
这里填写本地的安装的仓库地址,分别是:[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 配置集群主机信息
- Target Hosts
这里需要把部署的主机名都填写进去,一行一个,也可以先填写一个,后续在按个添加。这里所说的集群节点指的是Ambari集群的结点,也就是说,这里填写的节点是受Ambari进行管理的
- Host Registration Information
这里选择自动注册主机,因为这里已经做了paas用户下的免密了,这里需要把Ambari-Server那台机器的paas的用户的私钥拷贝过来,执行如下命令进行查看:[paas@node1 data]$ cat ~/.ssh/id_rsa
最后配置完成之后如下图所示:
点击右下角 【注册】
10.5 确认主机信息
这里可以点击 【Click here to see the warnings.】这里的告警可以忽略
如果看到这里为成功,则点击下一步
10.6 选择安装服务
上一步选择下一步之后,会提示是否忽略警告,选择OK进入
这一步要选择需要安装的服务,当然这里可以不选,后面安装好之后在进行选择安装。所以这里我暂时只安装Hadoop相关的服务
注意:在Ambari里,Hadoop被当做多个服务例如HDFS、YARN等,如果选择的服务依赖于其他服务的话,界面会提示,此时只需要点击确定后,自动勾选,然后下一步即可