centos7通过Ambari2.74部署Hadoop
一、前言
服务器:建议第一台内存不少于16G,其他可以8G
软件版本:
资源链接:
链接:https://pan.baidu.com/s/17GWF0opxYl0MIm2LJNUGRg?pwd=iq4l
提取码:iq4l
二、部署前环境准备
以下操作在所有机器上执行
1.配置host解析
vim /etc/hosts
10.0.0.138 hdp01.ambari.com hdp01
10.0.0.139 hdp02.ambari.com hdp02
10.0.0.140 hdp03.ambari.com hdp03
2.调大用户文件描述符
vim /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
# 配置需要重启才能生效
ulimit -n
3.配置时间同步(生产建议使用自建时间服务器)
yum -y install ntpdate
ntpdate ntp.aliyun.com
echo '*/5 * * * * ntpdate ntp.aliyun.com 2>&1' >> /var/spool/cron/root
4.安装Java环境
tar xf jdk-8u231-linux-x64.tar.gz -C /usr/local/
cd /usr/local/
ln -sv jdk1.8.0_231/ java
vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/local/java
export CLASSPATH=$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile.d/java.sh
java -version
以下操作仅在ambari-server上执行
1.ambari免密登录节点
echo -e "\n"|ssh-keygen -t rsa -N ""
# 免密除了IP,同时对主机名也要访问一下
ssh-copy-id -i 10.0.0.138
ssh-copy-id -i 10.0.0.139
ssh-copy-id -i 10.0.0.140
echo "StrictHostKeyChecking no" >~/.ssh/config #取消第一次连接时yes确认操作
三、ambari服务部署
以下操作仅在ambari-server上执行
1.安装web服务,提供本地yum访问,此处使用Nginx
yum install nginx -y
systemctl start nginx
systemctl enable nginx
netstat -tnlp
2.部署MySQL
安装步骤参考:https://www.cnblogs.com/panwenbin-logs/p/11425652.html
安装完成后根据提示登录并修改用户密码和权限
修改root密码及登录权限
[root@hdp01 install_mysql5.7]# source ~/.bash_profile;mysql -u root --password=aJc+hjFwf6##
root@mysqldb 10:44: [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Qwer@123'; Query OK, 0 rows affected (0.00 sec) root@mysqldb 10:44: [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Qwer@123' WITH GRANT OPTION; Query OK, 0 rows affected, 1 warning (0.00 sec)
3.创建ambari yum仓库
tar xf ambari-2.7.4.0-centos7.tar.gz -C /usr/share/nginx/html
tar xf HDP-3.1.4.0-centos7-rpm.tar.gz -C /usr/share/nginx/html
tar xf HDP-GPL-3.1.4.0-centos7-gpl.tar.gz -C /usr/share/nginx/html
tar xf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /usr/share/nginx/html
vim /etc/yum.repos.d/ambari.repo
[ambari-repo]
name=ambari
baseurl=http://hdp01/ambari/centos7/2.7.4.0-118/
gpgcheck=0
enabled=1
[HDP-repo]
name=HDP
baseurl=http://hdp01/HDP/centos7/3.1.4.0-315/
gpgcheck=0
enabled=1
[HDP-GPL-repo]
name=HDP-GPL
baseurl=http://hdp01/HDP-GPL/centos7/3.1.4.0-315/
gpgcheck=0
enabled=1
[HDP-UTILS-repo]
name=HDP-UTILS
baseurl=http://hdp01/HDP-UTILS/centos7/1.1.0.22/
gpgcheck=0
enabled=1
yum repolist #确保四个仓库都正常显示
repo id repo name status
HDP-GPL-repo HDP-GPL 4
HDP-UTILS-repo HDP-UTILS 16
HDP-repo HDP 201
ambari-repo ambari 13
......
4.安装ambari-server服务
yum install ambari-server
5.创建ambari-server服务所需的MySQL数据库
CREATE DATABASE ambari DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'ambari'@'%' IDENTIFIED BY 'bigdata';
GRANT ALL ON ambari.* TO 'ambari'@'%';
FLUSH PRIVILEGES;
use ambari;
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;
exit
6.配置MySQL Java驱动
mkdir -p /usr/share/java/ #此路径为ambari要求,不要更该
cp mysql-connector-java-8.0.18.jar /usr/share/java/
7.启动ambari配置向导
8.启动ambari服务
四、通过ambari控制台安装Hadoop集群
1.登录控制台
2.启动安装向导
3.定义集群名称
4.选择安装包
5.配置系统及HDP仓库地址
6.添加集群节点(这里只添加2台,第三台做集群扩容演示用)
7.执行添加操作
8.安装Service(大数据组件)
下一步,会产生一些告警和提示,根据实际情况处理
9.选择service安装的节点,保持默认即可
10.分配slave服务和client安装到哪些主机
11. 设置相关服务密码
12.创建hive数据库及设置jdbc路径
create database hive default character set utf8mb4 COLLATE utf8mb4_general_ci; CREATE USER 'hive'@'%' IDENTIFIED BY 'bigdata'; GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'%'; FLUSH PRIVILEGES; exit;
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java-8.0.18.jar
13.配置hive数据库连接信息
14.服务目录配置
15.配置各service再系统上使用哪个用户运行,默认即可
16.service资源及配置
17.view环境显示之前的配置,如果有问题可以点击左下角BACK返回修改,没有问题就可以点击"DEPLOY"部署了
18.开始部署,大概需要半小时
部署可以查看实时进度
有些告警,可以稍后处理
19.显示摘要信息,有两个告警,没有失败的
此时整个集群就部署完毕了
20.删除SmartSense service
先停止
再删除
服务器上删除smartsense相关文件
[root@hdp01 ~]# find / -name smartsense |xargs rm -rf
21.查看告警和异常
22.查看主机服务信息
确保组件状态都是正常
五、集群扩容
1.Hosts-> actions->Add New Hosts
2.配置新节点信息,和创建集群时一样
2.选择安装的slave和client客户端
其他步骤保持默认下一步即可
五、开启namenod、resourcemanager和HBase高可用
#注意:配置期间服务不可用
1.开启namenod HA
HDFS-> actions->enable namenode HA
前提条件,高可用需要集群最少三个节点,zookeeper集群最少三个节点,如果Hbase启动,需要关闭
自定义集群ID
选择namenode及journalNode节点
根据提示在命令行创建检查点,否则下一步无法点击
[root@hdp01 ~]# sudo su hdfs -l -c 'hdfs dfsadmin -safemode enter'
Safe mode is ON
[root@hdp01 ~]# sudo su hdfs -l -c 'hdfs dfsadmin -saveNamespace'
Save namespace successful
完成后,等待NEXT变为可点击后点击下一步
部署完成后点击下一步
按照提示在命令行执行,完成后等地NEXT可点击,点击下一步
[root@hdp01 ~]# sudo su hdfs -l -c 'hdfs namenode -initializeSharedEdits'
启动组件,完成后下一步
命令行 执行初始化命令,注意两条命令不在一个机器上,完成后下一步
[root@hdp01 ~]# sudo su hdfs -l -c 'hdfs zkfc -formatZK' #这是hdp01
#这是hdp02,和上面不是一台机器,具体机器查看页面提示
[root@hdp02 ~]# sudo su hdfs -l -c 'hdfs namenode -bootstrapStandby
完成安装
安装结束,之前关闭的Hbase回自动启动,不许要手动启动,完成后部分组件需要重启,为了避免告警风暴可以先开启维护模式
重启服务
确保重启正常,并关闭维护模式
2.开启resourcemanager HA
YARN-> actions->enable resourcemanager HA
提示信息,提示操作回造成服务中断,需要计划停机时间
选择节点,由于第三台服务较少,这里选择第三台
review配置,下一步
确保全部步骤正常
3.开启HBase 高可用
启动对应节点上的服务
确认结果
至此,全部安装完毕
参考地址
ambari与HDP版本对应关系:https://supportmatrix.cloudera.com/#Hortonworks