部署指南(apache...鲲鹏大数据解决方案 部署指南(apache) 文档版本 03...
TRANSCRIPT
鲲鹏大数据解决方案
部署指南(Apache)
文档版本 03
发布日期 2020-07-24
华为技术有限公司
版权所有 © 华为技术有限公司 2021。 保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。 商标声明
和其他华为商标均为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。 注意
您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或默示的声明或保证。
由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 i
目 录
1 ZooKeeper 部署指南(CentOS 7.6).....................................................................................11.1 介绍.............................................................................................................................................................................................. 11.2 环境要求......................................................................................................................................................................................21.3 配置部署环境............................................................................................................................................................................. 31.4 部署 ZooKeeper........................................................................................................................................................................ 31.4.1 下载并解压 ZooKeeper........................................................................................................................................................31.4.2 添加 ZooKeeper 到环境变量.............................................................................................................................................. 41.4.3 修改 ZooKeeper 配置文件.................................................................................................................................................. 41.4.4 同步配置到其它节点............................................................................................................................................................ 51.5 运行验证......................................................................................................................................................................................5
2 Hadoop 集群 部署指南(CentOS 7.6)................................................................................. 62.1 介绍.............................................................................................................................................................................................. 62.2 环境要求......................................................................................................................................................................................72.3 配置部署环境............................................................................................................................................................................. 82.4 部署 ZooKeeper........................................................................................................................................................................ 82.4.1 下载并解压 ZooKeeper........................................................................................................................................................92.4.2 添加 ZooKeeper 到环境变量.............................................................................................................................................. 92.4.3 修改 ZooKeeper 配置文件.................................................................................................................................................. 92.4.4 同步配置到其它节点.......................................................................................................................................................... 102.4.5 运行验证................................................................................................................................................................................ 102.5 部署 Hadoop........................................................................................................................................................................... 112.5.1 下载并解压 Hadoop...........................................................................................................................................................112.5.2 添加 Hadoop 到环境变量................................................................................................................................................. 112.5.3 修改 Hadoop 配置文件..................................................................................................................................................... 112.5.4 同步配置到其它节点.......................................................................................................................................................... 162.5.5 启动 Hadoop 集群.............................................................................................................................................................. 162.5.6 验证 Hadoop........................................................................................................................................................................ 172.6 故障排除................................................................................................................................................................................... 18
3 Flink 部署指南(CentOS 7.6,Standalone 模式)........................................................... 193.1 介绍............................................................................................................................................................................................ 193.2 环境要求................................................................................................................................................................................... 203.3 配置部署环境...........................................................................................................................................................................21
鲲鹏大数据解决方案部署指南(Apache) 目 录
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 ii
3.4 部署 ZooKeeper...................................................................................................................................................................... 223.4.1 下载并解压 ZooKeeper..................................................................................................................................................... 223.4.2 添加 ZooKeeper 到环境变量........................................................................................................................................... 223.4.3 修改 ZooKeeper 配置文件................................................................................................................................................ 223.4.4 同步配置到其它节点.......................................................................................................................................................... 233.4.5 运行验证................................................................................................................................................................................ 233.5 部署 Hadoop........................................................................................................................................................................... 243.5.1 下载并解压 Hadoop...........................................................................................................................................................243.5.2 添加 Hadoop 到环境变量................................................................................................................................................. 243.5.3 修改 Hadoop 配置文件..................................................................................................................................................... 243.5.4 同步配置到其它节点.......................................................................................................................................................... 293.5.5 启动 Hadoop 集群.............................................................................................................................................................. 293.5.6 验证 Hadoop........................................................................................................................................................................ 303.6 部署 Flink(on yarn 模式)................................................................................................................................................ 313.6.1 下载并解压 Flink................................................................................................................................................................. 313.6.2 添加 Flink 到环境变量....................................................................................................................................................... 313.6.3 修改 Flink 配置文件........................................................................................................................................................... 323.6.4 运行验证................................................................................................................................................................................ 323.6.5 停止 Flink.............................................................................................................................................................................. 32
4 HBase 集群 部署指南(CentOS 7.6)..................................................................................334.1 介绍............................................................................................................................................................................................ 334.2 环境要求................................................................................................................................................................................... 344.3 配置部署环境...........................................................................................................................................................................354.4 部署 ZooKeeper...................................................................................................................................................................... 364.4.1 下载并解压 ZooKeeper..................................................................................................................................................... 364.4.2 添加 ZooKeeper 到环境变量........................................................................................................................................... 364.4.3 修改 ZooKeeper 配置文件................................................................................................................................................ 364.4.4 同步配置到其它节点.......................................................................................................................................................... 374.4.5 运行验证................................................................................................................................................................................ 374.5 部署 Hadoop........................................................................................................................................................................... 384.5.1 下载并解压 Hadoop...........................................................................................................................................................384.5.2 添加 Hadoop 到环境变量................................................................................................................................................. 384.5.3 修改 Hadoop 配置文件..................................................................................................................................................... 384.5.4 同步配置到其它节点.......................................................................................................................................................... 434.5.5 启动 Hadoop 集群.............................................................................................................................................................. 434.5.6 验证 Hadoop........................................................................................................................................................................ 444.6 部署 HBase.............................................................................................................................................................................. 454.6.1 下载并解压 HBase.............................................................................................................................................................. 454.6.2 添加 HBase 到环境变量.................................................................................................................................................... 454.6.3 修改 HBase 配置文件........................................................................................................................................................ 464.6.4 同步配置到其它节点.......................................................................................................................................................... 474.6.5 启动 HBase 集群................................................................................................................................................................. 47
鲲鹏大数据解决方案部署指南(Apache) 目 录
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 iii
4.6.6 (可选)停止 HBase 集群................................................................................................................................................ 474.6.7 验证 HBase........................................................................................................................................................................... 48
5 Hive 部署指南(CentOS 7.6)..............................................................................................495.1 介绍............................................................................................................................................................................................ 495.2 环境要求................................................................................................................................................................................... 505.3 配置部署环境...........................................................................................................................................................................515.4 部署 ZooKeeper...................................................................................................................................................................... 525.4.1 下载并解压 ZooKeeper..................................................................................................................................................... 525.4.2 添加 ZooKeeper 到环境变量........................................................................................................................................... 525.4.3 修改 ZooKeeper 配置文件................................................................................................................................................ 525.4.4 同步配置到其它节点.......................................................................................................................................................... 535.4.5 运行验证................................................................................................................................................................................ 535.5 部署 Hadoop........................................................................................................................................................................... 545.5.1 下载并解压 Hadoop...........................................................................................................................................................545.5.2 添加 Hadoop 到环境变量................................................................................................................................................. 545.5.3 修改 Hadoop 配置文件..................................................................................................................................................... 545.5.4 同步配置到其它节点.......................................................................................................................................................... 595.5.5 启动 Hadoop 集群.............................................................................................................................................................. 595.5.6 验证 Hadoop........................................................................................................................................................................ 605.6 部署 Hive.................................................................................................................................................................................. 615.6.1 安装 MariaDB...................................................................................................................................................................... 615.6.2 下载并解压 hive.................................................................................................................................................................. 625.6.3 添加 Hive 到环境变量........................................................................................................................................................ 625.6.4 修改 Hive 配置文件............................................................................................................................................................ 635.6.5 启动与验证 Hive..................................................................................................................................................................63
6 Kafka 部署指南(CentOS 7.6)........................................................................................... 656.1 介绍............................................................................................................................................................................................ 656.2 环境要求................................................................................................................................................................................... 666.3 配置部署环境...........................................................................................................................................................................676.4 部署 ZooKeeper...................................................................................................................................................................... 686.4.1 下载并解压 ZooKeeper..................................................................................................................................................... 686.4.2 添加 ZooKeeper 到环境变量........................................................................................................................................... 686.4.3 修改 ZooKeeper 配置文件................................................................................................................................................ 686.4.4 同步配置到其它节点.......................................................................................................................................................... 696.4.5 运行验证................................................................................................................................................................................ 696.5 部署 Kafka................................................................................................................................................................................706.5.1 下载并解压 Kafka............................................................................................................................................................... 706.5.2 添加 Kafka 到环境变量..................................................................................................................................................... 706.5.3 修改 Kafka 配置文件..........................................................................................................................................................706.5.4 运行验证................................................................................................................................................................................ 71
7 Solr 部署指南(CentOS 7.6)...............................................................................................72
鲲鹏大数据解决方案部署指南(Apache) 目 录
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 iv
7.1 介绍............................................................................................................................................................................................ 727.2 环境要求................................................................................................................................................................................... 737.3 配置部署环境...........................................................................................................................................................................747.4 部署 ZooKeeper...................................................................................................................................................................... 757.4.1 下载并解压 ZooKeeper..................................................................................................................................................... 757.4.2 添加 ZooKeeper 到环境变量........................................................................................................................................... 757.4.3 修改 ZooKeeper 配置文件................................................................................................................................................ 757.4.4 同步配置到其它节点.......................................................................................................................................................... 767.4.5 运行验证................................................................................................................................................................................ 767.5 部署 Solr................................................................................................................................................................................... 777.5.1 下载并解压 Solr................................................................................................................................................................... 777.5.2 添加 Solr 到环境变量......................................................................................................................................................... 777.5.3 拷贝 Solr 配置至相应目录................................................................................................................................................ 787.5.4 修改配置................................................................................................................................................................................ 787.5.5 同步配置到其它节点.......................................................................................................................................................... 797.5.6 上传配置至 zookeeper 集群............................................................................................................................................ 797.5.7 运行验证................................................................................................................................................................................ 79
8 Spark 集群 部署指南(CentOS 7.6)...................................................................................818.1 介绍............................................................................................................................................................................................ 818.2 环境要求................................................................................................................................................................................... 828.3 配置部署环境...........................................................................................................................................................................838.4 部署 ZooKeeper...................................................................................................................................................................... 848.4.1 下载并解压 ZooKeeper..................................................................................................................................................... 848.4.2 添加 ZooKeeper 到环境变量........................................................................................................................................... 848.4.3 修改 ZooKeeper 配置文件................................................................................................................................................ 848.4.4 同步配置到其它节点.......................................................................................................................................................... 858.4.5 运行验证................................................................................................................................................................................ 858.5 部署 Hadoop........................................................................................................................................................................... 868.5.1 下载并解压 Hadoop...........................................................................................................................................................868.5.2 添加 Hadoop 到环境变量................................................................................................................................................. 868.5.3 修改 Hadoop 配置文件..................................................................................................................................................... 868.5.4 同步配置到其它节点.......................................................................................................................................................... 918.5.5 启动 Hadoop 集群.............................................................................................................................................................. 918.5.6 验证 Hadoop........................................................................................................................................................................ 928.6 部署 Spark................................................................................................................................................................................938.6.1 下载并解压 Spark............................................................................................................................................................... 938.6.2 添加 Spark 到环境变量..................................................................................................................................................... 938.6.3 修改 Spark 配置文件.......................................................................................................................................................... 948.6.4 运行 Spark(standalone 模式)......................................................................................................................................... 948.6.4.1 同步配置到其它节点.......................................................................................................................................................948.6.4.2 启动 Spark 集群............................................................................................................................................................... 958.6.4.3 (可选)停止 Spark 集群..............................................................................................................................................95
鲲鹏大数据解决方案部署指南(Apache) 目 录
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 v
8.6.5 运行 Spark(on yarn 模式)...........................................................................................................................................958.6.5.1 安装 Scala..........................................................................................................................................................................958.6.5.2 运行在 yarn-client 上..................................................................................................................................................... 958.6.5.3 hibench 验证功能............................................................................................................................................................ 96
9 Storm 部署指南(CentOS 7.6)...........................................................................................999.1 介绍............................................................................................................................................................................................ 999.2 环境要求................................................................................................................................................................................. 1009.3 配置部署环境........................................................................................................................................................................ 1019.4 部署 ZooKeeper................................................................................................................................................................... 1019.4.1 下载并解压 ZooKeeper................................................................................................................................................... 1029.4.2 添加 ZooKeeper 到环境变量......................................................................................................................................... 1029.4.3 修改 ZooKeeper 配置文件............................................................................................................................................. 1029.4.4 同步配置到其它节点........................................................................................................................................................1039.4.5 运行验证............................................................................................................................................................................. 1039.5 部署 Storm............................................................................................................................................................................ 1049.5.1 下载并解压 Storm............................................................................................................................................................ 1049.5.2 添加 Storm 到环境变量.................................................................................................................................................. 1049.5.3 修改 Storm 配置文件.......................................................................................................................................................1049.5.4 同步配置到其它节点........................................................................................................................................................1059.5.5 运行验证............................................................................................................................................................................. 105
A 修订记录................................................................................................................................. 107
鲲鹏大数据解决方案部署指南(Apache) 目 录
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 vi
1 ZooKeeper 部署指南(CentOS 7.6)
1.1 介绍
1.2 环境要求
1.3 配置部署环境
1.4 部署ZooKeeper
1.5 运行验证
1.1 介绍
简要介绍
本文档重点介绍软件部署步骤,并不涉及软件源码编译步骤。
文档中使用的软件都是从官网下载获取,这类软件多基于x86环境编译得到,软件内如果包含非跨平台语言(如C/C++)实现的模块,直接在TaiShan服务器上使用会出现不兼容的问题,需下载对应软件源码包进行编译,然后部署。但不管软件包是在哪种环境下编译得到,部署步骤都是一致的。
建议的版本
软件 版本 获取方法
OpenJDK
jdk8u252-b09
ARM: https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gzx86: https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz
ZooKeeper
3.4.6 在ZooKeeper官网下载所需版本的软件包。
下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/
鲲鹏大数据解决方案部署指南(Apache) 1 ZooKeeper 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 1
1.2 环境要求
硬件要求
低配置:任意CPU、一根内存(不限大小)、一块硬盘(不限大小)。
具体配置视实际应用场景而定。
操作系统要求
适用于CentOS 7.4-7.6。
说明
本文以CentOS 7.6为例,介绍ZooKeeper集群部署。
集群环境规划
本章节规划以四台机器分别作为集群的节点1、节点2、节点3、节点4。各个节点数据规格如表1-1所示。
表 1-1 集群环境规划
机器名称 IP地址 硬盘数 OS & JDK
节点1 IPaddress1 系统盘:1 * 4THDD
数据盘:12 * 4THDD
CentOS 7.6 & OpenJDKjdk8u252-b09
节点2 IPaddress2
节点3 IPaddress3
节点4 IPaddress4
软件规划
集群各节点的软件规划如表1-2所示。
表 1-2 软件规划
机器名称
服务名称
节点1 -
节点2 QuorumPeerMain
节点3 QuorumPeerMain
节点4 QuorumPeerMain
鲲鹏大数据解决方案部署指南(Apache) 1 ZooKeeper 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 2
1.3 配置部署环境步骤1 依次登录节点1-4,将节点的主机名分别修改为server1、agent1、agent2、agent3。
hostnamectl set-hostname 主机名 --static
步骤2 登录所有节点,修改“/etc/hosts”文件。
在hosts文件中添加集群所有节点的“地址-主机名”映射关系。
IPaddress1 server1IPaddress2 agent1IPaddress3 agent2IPaddress4 agent3
步骤3 登录所有节点,关闭防火墙。systemctl stop firewalld.servicesystemctl disable firewalld.service
步骤4 登录所有节点,配置SSH免密登录。
1. 生成密钥,遇到提示时,按回车。ssh-keygen -t rsa
2. 在每台机器上配置SSH免密登录(包括配置自身节点的免密)。ssh-copy-id -i ~/.ssh/id_rsa.pub root@所有节点IP
步骤5 登录所有节点,安装OpenJDK jdk8u252-b09。
1. 安装OpenJDK jdk8u252-b09。
ARM:tar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz -C /usr/local
x86:tar -zxf OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz -C /usr/local
2. 添加环境变量。vim /etc/profileexport JAVA_HOME=/usr/local/jdk8u252-b09export PATH=$JAVA_HOME/bin:$PATH
3. 生效环境变量。source /etc/profile
4. 查看JDK版本。java -version
----结束
1.4 部署 ZooKeeper
1.4.1 下载并解压 ZooKeeper步骤1 下载ZooKeeper软件包。
下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/
步骤2 将zookeeper-3.4.6.tar.gz放置于agent1节点的“/usr/local”目录下,并解压。mv zookeeper-3.4.6.tar.gz /usr/localcd /usr/localtar -zxvf zookeeper-3.4.6.tar.gz
鲲鹏大数据解决方案部署指南(Apache) 1 ZooKeeper 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 3
步骤3 建立软链接,便于后期版本更换。ln -s zookeeper-3.4.6 zookeeper
----结束
1.4.2 添加 ZooKeeper 到环境变量步骤1 打开配置文件。
vim /etc/profile
步骤2 添加ZooKeeper到环境变量。export ZOOKEEPER_HOME=/usr/local/zookeeperexport PATH=$ZOOKEEPER_HOME/bin:$PATH
步骤3 环境变量生效。source /etc/profile
----结束
1.4.3 修改 ZooKeeper 配置文件步骤1 进入ZooKeeper所在目录。
cd /usr/local/zookeeper/conf
步骤2 拷贝配置文件。cp zoo_sample.cfg zoo.cfg
步骤3 修改配置文件。vim zoo.cfg
1. 修改数据目录。dataDir=/usr/local/zookeeper/tmp
2. 在 后添加如下代码,其中server.1-3是部署ZooKeeper的节点。server.1=agent1:2888:3888server.2=agent2:2888:3888server.3=agent3:2888:3888
鲲鹏大数据解决方案部署指南(Apache) 1 ZooKeeper 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 4
步骤4 保存退出,然后创建一个tmp目录作数据目录。mkdir /usr/local/zookeeper/tmp
步骤5 在tmp目录中创建一个空文件,并向该文件写入ID。touch /usr/local/zookeeper/tmp/myidecho 1 > /usr/local/zookeeper/tmp/myid
----结束
1.4.4 同步配置到其它节点
步骤1 将配置好的ZooKeeper拷贝到其它节点。scp -r /usr/local/zookeeper-3.4.6 root@agent2:/usr/localscp -r /usr/local/zookeeper-3.4.6 root@agent3:/usr/local
步骤2 登录agent2、agent3,创建软链接并修改myid内容。
● agent2:cd /usr/localln -s zookeeper-3.4.6 zookeeperecho 2 > /usr/local/zookeeper/tmp/myid
● agent3:cd /usr/localln -s zookeeper-3.4.6 zookeeperecho 3 > /usr/local/zookeeper/tmp/myid
----结束
1.5 运行验证步骤1 分别在agent1,agent2,agent3上启动ZooKeeper。
cd /usr/local/zookeeper/bin./zkServer.sh start
说明
您可以分别在agent1,agent2,agent3上停止ZooKeeper。cd /usr/local/zookeeper/bin./zkServer.sh stop
步骤2 查看ZooKeeper状态。./zkServer.sh status
----结束
鲲鹏大数据解决方案部署指南(Apache) 1 ZooKeeper 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 5
2 Hadoop 集群 部署指南(CentOS 7.6)
2.1 介绍
2.2 环境要求
2.3 配置部署环境
2.4 部署ZooKeeper
2.5 部署Hadoop
2.6 故障排除
2.1 介绍
简要介绍
本文档重点介绍软件部署步骤,并不涉及软件源码编译步骤。
文档中使用的软件都是从官网下载获取,这类软件多基于x86环境编译得到,软件内如果包含非跨平台语言(如C/C++)实现的模块,直接在TaiShan服务器上使用会出现不兼容的问题,需下载对应软件源码包进行编译,然后部署。但不管软件包是在哪种环境下编译得到,部署步骤都是一致的。
建议的版本
软件 版本 获取方法
OpenJDK
jdk8u252-b09
ARM: https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gzx86: https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz
ZooKeeper
3.4.6 在ZooKeeper官网下载所需版本的软件包。
下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/
鲲鹏大数据解决方案部署指南(Apache) 2 Hadoop 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 6
软件 版本 获取方法
Hadoop 3.1.1 在Hadoop官网下载所需版本的软件包。
下载地址:https://archive.apache.org/dist/hadoop/core/hadoop-3.1.1/
2.2 环境要求
硬件要求
低配置:任意CPU、一根内存(大小不限)、一块硬盘(大小不限)。
具体配置视实际应用场景而定。
操作系统要求
适用于CentOS 7.4-7.6。
说明
本文以CentOS 7.6为例,介绍Hadoop集群部署。
集群环境规划
本章节规划以四台机器分别作为集群的节点1、节点2、节点3、节点4。各个节点数据规格如表2-1所示。
表 2-1 集群环境规划
机器名称 IP地址 硬盘数 OS & JDK
节点1 IPaddress1 系统盘:1 * 4THDD
数据盘:12 * 4THDD
CentOS 7.6 & OpenJDKjdk8u252-b09
节点2 IPaddress2
节点3 IPaddress3
节点4 IPaddress4
软件规划
集群各节点的软件规划如表2-2所示。
表 2-2 软件规划
机器名称 服务名称
节点1 Namenode、ResourceManager
节点2 QuorumPeerMain、DataNode、NodeManager、JournalNode
鲲鹏大数据解决方案部署指南(Apache) 2 Hadoop 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 7
机器名称 服务名称
节点3 QuorumPeerMain、DataNode、NodeManager、JournalNode
节点4 QuorumPeerMain、DataNode、NodeManager、JournalNode
2.3 配置部署环境步骤1 依次登录节点1-4,将节点的主机名分别修改为server1、agent1、agent2、agent3。
hostnamectl set-hostname 主机名 --static
步骤2 登录所有节点,修改“/etc/hosts”文件。
在hosts文件中添加集群所有节点的“地址-主机名”映射关系。
IPaddress1 server1IPaddress2 agent1IPaddress3 agent2IPaddress4 agent3
步骤3 登录所有节点,关闭防火墙。systemctl stop firewalld.servicesystemctl disable firewalld.service
步骤4 登录所有节点,配置SSH免密登录。
1. 生成密钥,遇到提示时,按回车。ssh-keygen -t rsa
2. 在每台机器上配置SSH免密登录(包括配置自身节点的免密)。ssh-copy-id -i ~/.ssh/id_rsa.pub root@所有节点IP
步骤5 登录所有节点,安装OpenJDK jdk8u252-b09。
1. 安装OpenJDK jdk8u252-b09。
ARM:
tar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz -C /usr/local
x86:
tar -zxf OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz -C /usr/local
2. 添加环境变量。vim /etc/profileexport JAVA_HOME=/usr/local/jdk8u252-b09export PATH=$JAVA_HOME/bin:$PATH
3. 生效环境变量。source /etc/profile
4. 查看JDK版本。java -version
----结束
2.4 部署 ZooKeeper
鲲鹏大数据解决方案部署指南(Apache) 2 Hadoop 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 8
2.4.1 下载并解压 ZooKeeper步骤1 下载ZooKeeper软件包。
下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/
步骤2 将zookeeper-3.4.6.tar.gz放置于agent1节点的“/usr/local”目录下,并解压。mv zookeeper-3.4.6.tar.gz /usr/localcd /usr/localtar -zxvf zookeeper-3.4.6.tar.gz
步骤3 建立软链接,便于后期版本更换。ln -s zookeeper-3.4.6 zookeeper
----结束
2.4.2 添加 ZooKeeper 到环境变量
步骤1 打开配置文件。vim /etc/profile
步骤2 添加ZooKeeper到环境变量。export ZOOKEEPER_HOME=/usr/local/zookeeperexport PATH=$ZOOKEEPER_HOME/bin:$PATH
步骤3 环境变量生效。source /etc/profile
----结束
2.4.3 修改 ZooKeeper 配置文件
步骤1 进入ZooKeeper所在目录。cd /usr/local/zookeeper/conf
步骤2 拷贝配置文件。cp zoo_sample.cfg zoo.cfg
步骤3 修改配置文件。vim zoo.cfg
1. 修改数据目录。dataDir=/usr/local/zookeeper/tmp
2. 在 后添加如下代码,其中server.1-3是部署ZooKeeper的节点。server.1=agent1:2888:3888server.2=agent2:2888:3888server.3=agent3:2888:3888
鲲鹏大数据解决方案部署指南(Apache) 2 Hadoop 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 9
步骤4 保存退出,然后创建一个tmp目录作数据目录。mkdir /usr/local/zookeeper/tmp
步骤5 在tmp目录中创建一个空文件,并向该文件写入ID。touch /usr/local/zookeeper/tmp/myidecho 1 > /usr/local/zookeeper/tmp/myid
----结束
2.4.4 同步配置到其它节点
步骤1 将配置好的ZooKeeper拷贝到其它节点。scp -r /usr/local/zookeeper-3.4.6 root@agent2:/usr/localscp -r /usr/local/zookeeper-3.4.6 root@agent3:/usr/local
步骤2 登录agent2、agent3,创建软链接并修改myid内容。
● agent2:cd /usr/localln -s zookeeper-3.4.6 zookeeperecho 2 > /usr/local/zookeeper/tmp/myid
● agent3:cd /usr/localln -s zookeeper-3.4.6 zookeeperecho 3 > /usr/local/zookeeper/tmp/myid
----结束
2.4.5 运行验证
步骤1 分别在agent1,agent2,agent3上启动ZooKeeper。cd /usr/local/zookeeper/bin./zkServer.sh start
鲲鹏大数据解决方案部署指南(Apache) 2 Hadoop 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 10
说明
您可以分别在agent1,agent2,agent3上停止ZooKeeper。cd /usr/local/zookeeper/bin./zkServer.sh stop
步骤2 查看ZooKeeper状态。./zkServer.sh status
----结束
2.5 部署 Hadoop
2.5.1 下载并解压 Hadoop步骤1 下载Hadoop软件包。
下载地址:https://archive.apache.org/dist/hadoop/core/hadoop-3.1.1/
步骤2 将hadoop-3.1.1.tar.gz放置于server1节点的“/usr/local”目录,并解压。mv hadoop-3.1.1.tar.gz /usr/localcd /usr/localtar -zxvf hadoop-3.1.1.tar.gz
步骤3 建立软链接,便于后期版本更换。ln -s hadoop-3.1.1 hadoop
----结束
2.5.2 添加 Hadoop 到环境变量步骤1 编辑“/etc/profile”文件。
vim /etc/profile
步骤2 在文件底部添加环境变量,如下所示:export HADOOP_HOME=/usr/local/hadoopexport PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
步骤3 环境变量生效。source /etc/profile
----结束
2.5.3 修改 Hadoop 配置文件
说明
Hadoop所有的配置文件都在“$HADOOP_HOME/etc/hadoop”目录下,修改以下配置文件前,需要切换到“HADOOP_HOME/etc/hadoop”目录。
cd $HADOOP_HOME/etc/hadoop
修改 hadoop-env.sh修改环境变量JAVA_HOME为绝对路径,并将用户指定为root。
echo "export JAVA_HOME=/usr/local/jdk8u252-b09" >> hadoop-env.shecho "export HDFS_NAMENODE_USER=root" >> hadoop-env.sh
鲲鹏大数据解决方案部署指南(Apache) 2 Hadoop 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 11
echo "export HDFS_SECONDARYNAMENODE_USER=root" >> hadoop-env.shecho "export HDFS_DATANODE_USER=root" >> hadoop-env.sh
修改 yarn-env.sh
修改用户为root。
echo "export YARN_REGISTRYDNS_SECURE_USER=root" >> yarn-env.shecho "export YARN_RESOURCEMANAGER_USER=root" >> yarn-env.shecho "export YARN_NODEMANAGER_USER=root" >> yarn-env.sh
修改 core-site.xml
步骤1 编辑core-site.xml文件。vim core-site.xml
步骤2 添加或修改configuration标签范围内的参数。<property> <name>fs.defaultFS</name> <value>hdfs://server1:9000</value></property><property> <name>hadoop.tmp.dir</name> <value>/home/hadoop_tmp_dir</value></property><property> <name>ipc.client.connect.max.retries</name> <value>100</value></property><property> <name>ipc.client.connect.retry.interval</name> <value>10000</value></property>
须知
在节点server1上创建目录。mkdir /home/hadoop_tmp_dir
----结束
修改 hdfs-site.xml
步骤1 修改hdfs-site.xml文件。vim hdfs-site.xml
步骤2 添加或修改configuration标签范围内的参数。<property> <name>dfs.replication</name> <value>1</value></property><property> <name>dfs.namenode.name.dir</name> <value>/data/data1/hadoop/nn</value></property><property> <name>dfs.datanode.data.dir</name> <value>/data/data1/hadoop/dn,/data/data2/hadoop/dn,/data/data3/hadoop/dn,/data/data4/hadoop/dn,/data/data5/hadoop/dn,/data/data6/hadoop/dn,/data/data7/hadoop/dn,/data/data8/hadoop/dn,/data/data9/hadoop/dn,/data/data10/hadoop/dn,/data/data11/hadoop/dn,/data/data12/hadoop/dn</value>
鲲鹏大数据解决方案部署指南(Apache) 2 Hadoop 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 12
</property><property> <name>dfs.http.address</name> <value>server1:50070</value></property><property> <name>dfs.namenode.http-bind-host</name> <value>0.0.0.0</value></property><property> <name>dfs.datanode.handler.count</name> <value>600</value></property><property> <name>dfs.namenode.handler.count</name> <value>600</value></property><property> <name>dfs.namenode.service.handler.count</name> <value>600</value></property><property> <name>ipc.server.handler.queue.size</name> <value>300</value></property>
须知
节点agent1、agent2、agent3分别创建dfs.datanode.data.dir对应目录。
举例:mkdir -p /data/data{1,2,3,4,5,6,7,8,9,10,11,12}/hadoop
----结束
修改 mapred-site.xml
步骤1 编辑mapred-site.xml文件。vim mapred-site.xml
步骤2 添加或修改configuration标签范围内的参数。<property> <name>mapreduce.framework.name</name> <value>yarn</value> <final>true</final> <description>The runtime framework for executing MapReduce jobs</description></property><property> <name>mapreduce.job.reduce.slowstart.completedmaps</name> <value>0.88</value></property><property> <name>mapreduce.application.classpath</name> <value> /usr/local/hadoop/etc/hadoop, /usr/local/hadoop/share/hadoop/common/*, /usr/local/hadoop/share/hadoop/common/lib/*, /usr/local/hadoop/share/hadoop/hdfs/*, /usr/local/hadoop/share/hadoop/hdfs/lib/*, /usr/local/hadoop/share/hadoop/mapreduce/*, /usr/local/hadoop/share/hadoop/mapreduce/lib/*, /usr/local/hadoop/share/hadoop/yarn/*, /usr/local/hadoop/share/hadoop/yarn/lib/* </value>
鲲鹏大数据解决方案部署指南(Apache) 2 Hadoop 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 13
</property><property> <name>mapreduce.map.memory.mb</name> <value>6144</value></property><property> <name>mapreduce.reduce.memory.mb</name> <value>6144</value> </property> <property> <name>mapreduce.map.java.opts</name> <value>-Xmx5530m</value></property><property> <name>mapreduce.reduce.java.opts</name> <value>-Xmx2765m</value></property><property> <name>mapred.child.java.opts</name> <value>-Xmx2048m -Xms2048m</value></property><property> <name>mapred.reduce.parallel.copies</name> <value>20</value></property><property> <name>yarn.app.mapreduce.am.env</name> <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value></property><property> <name>mapreduce.map.env</name> <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value></property><property> <name>mapreduce.reduce.env</name> <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value></property>
----结束
修改 yarn-site.xml步骤1 编辑yarn-site.xml文件。
vim yarn-site.xml
步骤2 添加或修改configuration标签范围内的参数。<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> <final>true</final></property><property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value></property><property> <name>yarn.resourcemanager.hostname</name> <value>server1</value></property><property> <name>yarn.resourcemanager.bind-host</name> <value>0.0.0.0</value></property><property> <name>yarn.scheduler.maximum-allocation-mb</name> <value>65536</value></property><property>
鲲鹏大数据解决方案部署指南(Apache) 2 Hadoop 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 14
<name>yarn.nodemanager.resource.memory-mb</name> <value>102400</value></property><property> <name>yarn.nodemanager.resource.cpu-vcores</name> <value>48</value></property><property> <name>yarn.log-aggregation-enable</name> <value>true</value></property><property> <name>yarn.client.nodemanager-connect.max-wait-ms</name> <value>300000</value></property><property> <name>yarn.nodemanager.vmem-pmem-ratio</name> <value>7.1</value></property><property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value></property><property> <name>yarn.nodemanager.pmem-check-enabled</name> <value>false</value></property><property> <name>yarn.scheduler.minimum-allocation-mb</name> <value>3072</value></property><property> <name>yarn.app.mapreduce.am.resource.mb</name> <value>3072</value></property><property> <name>yarn.scheduler.maximum-allocation-vcores</name> <value>48</value></property><property> <name>yarn.application.classpath</name> <value> /usr/local/hadoop/etc/hadoop, /usr/local/hadoop/share/hadoop/common/*, /usr/local/hadoop/share/hadoop/common/lib/*, /usr/local/hadoop/share/hadoop/hdfs/*, /usr/local/hadoop/share/hadoop/hdfs/lib/*, /usr/local/hadoop/share/hadoop/mapreduce/*, /usr/local/hadoop/share/hadoop/mapreduce/lib/*, /usr/local/hadoop/share/hadoop/yarn/*, /usr/local/hadoop/share/hadoop/yarn/lib/* </value></property>
须知
节点agent1、agent2、agent3分别创建${yarn.nodemanager.local-dirs对应目录}。举例:mkdir -p /data/data{1,2,3,4,5,6,7,8,9,10,11,12}/yarn
----结束
鲲鹏大数据解决方案部署指南(Apache) 2 Hadoop 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 15
修改 slaves OR workers
步骤1 确认hadoop版本,3.x以下的版本编辑slaves文件,3.x及以上的编辑workers文件
步骤2 编辑文件(本文版本3.1.1)。vim workers
步骤3 修改workers文件,只保存所有agent节点的IP地址(可用主机名代替),其余内容均删除。agent1agent2agent3
----结束
2.5.4 同步配置到其它节点
步骤1 所有节点依次创建。mkdir -p /usr/local/hadoop-3.1.1/journaldata
步骤2 拷贝hadoop-3.1.1到agent1、agent2、agent3节点的“/usr/local”目录。scp -r /usr/local/hadoop-3.1.1 root@agent1:/usr/localscp -r /usr/local/hadoop-3.1.1 root@agent2:/usr/localscp -r /usr/local/hadoop-3.1.1 root@agent3:/usr/local
步骤3 分别登录到agent1、agent2、agent3节点,为hadoop-3.1.1建立软链接。cd /usr/localln -s hadoop-3.1.1 hadoop
----结束
2.5.5 启动 Hadoop 集群
须知
本章节下面的子章节必须按顺序操作。
步骤1 启动ZooKeeper集群。
分别在agent1,agent2,agent3节点上启动ZooKeeper。
cd /usr/local/zookeeper/bin./zkServer.sh start
步骤2 启动JournalNode。
分别在agent1,agent2,agent3节点上启动JournalNode。
说明
只在第一次进行格式化操作时,需要执行步骤2-步骤4,完成格式化后,下次启动集群,只需要执行步骤1、步骤5、步骤6。
cd /usr/local/hadoop/sbin./hadoop-daemon.sh start journalnode
鲲鹏大数据解决方案部署指南(Apache) 2 Hadoop 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 16
步骤3 格式化HDFS。
1. 在server1节点上格式化HDFS。hdfs namenode -format
2. 格式化后集群会根据core-site.xml配置的hadoop.tmp.dir参数生成目录。
本文档配置目录为“/home/hadoop_tmp”。
步骤4 格式化ZKFC。
在server1节点上格式化ZKFC。
hdfs zkfc -formatZK
步骤5 启动HDFS。
在server1节点上启动HDFS。
cd /usr/local/hadoop/sbin./start-dfs.sh
步骤6 启动Yarn。
在server1节点上启动Yarn。
cd /usr/local/hadoop/sbin./start-yarn.sh
步骤7 观察进程是否都正常启动。
说明
此操作在所有节点上执行,其中server节点应启动的进程以server1的截图为准,agent节点应启动的进程以agent1的截图为准。
jps
----结束
2.5.6 验证 Hadoop在浏览器中输入URL地址,访问Hadoop Web页面,URL格式为“http://server1:50070”。
其中,“server1”填写serber进程所在节点的IP地址。通过观察Live Nodes是否与agent数目相等(本文是3)、Dead Nodes是否为0,判断集群是否正常启动。
鲲鹏大数据解决方案部署指南(Apache) 2 Hadoop 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 17
2.6 故障排除
ZooKeeper 启动失败
问题现象:
启动ZooKeeper后,用zkServer.sh status查看zk启动状态时,提示没有启动成功,重新关闭ZooKeeper,使用zkServer.sh start-foreground启动,提示如下错误:
解决方法:
1. 修改zoo.cfg文件,将主机所在节点的ip改成0.0.0.02. 修改zoo.cfg中的datadir的配置路径下的myid文件,将“$datadir/myid和
zookeeper/tmp/myid”下的数字保持一致。
鲲鹏大数据解决方案部署指南(Apache) 2 Hadoop 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 18
3 Flink 部署指南(CentOS 7.6,Standalone模式)
3.1 介绍
3.2 环境要求
3.3 配置部署环境
3.4 部署ZooKeeper
3.5 部署Hadoop
3.6 部署Flink(on yarn模式)
3.1 介绍
简要介绍
本文档重点介绍软件部署步骤,并不涉及软件源码编译步骤。
文档中使用的软件都是从官网下载获取,这类软件多基于x86环境编译得到,软件内如果包含非跨平台语言(如C/C++)实现的模块,直接在TaiShan服务器上使用会出现不兼容的问题,需下载对应软件源码包进行编译,然后部署。但不管软件包是在哪种环境下编译得到,部署步骤都是一致的。
建议的版本
软件 版本 获取方法
OpenJDK
jdk8u252-b09
ARM: https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gzx86: https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz
鲲鹏大数据解决方案部署指南(Apache) 3 Flink 部署指南(CentOS 7.6,Standalone 模式)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 19
软件 版本 获取方法
ZooKeeper
3.4.6 在ZooKeeper官网下载所需版本的软件包。
下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/
Hadoop
3.1.1 在Hadoop官网下载所需版本的软件包。
下载地址:https://archive.apache.org/dist/hadoop/core/hadoop-3.1.1/
Flink 1.7.0 在Flink官网下载所需版本的软件包。
下载地址:https://archive.apache.org/dist/flink/flink-1.7.0/flink-1.7.0-bin-hadoop28-scala_2.11.tgz
3.2 环境要求
硬件要求
低配置:任意CPU、一根内存(大小不限)、一块硬盘(大小不限)。
具体配置视实际应用场景而定。
操作系统要求
适用于CentOS 7.4-7.6。
说明
本文以CentOS 7.6为例,介绍Flink集群部署。
集群环境规划
本章节规划以四台机器分别作为集群的节点1、节点2、节点3、节点4。各个节点数据规格如表3-1所示。
表 3-1 集群环境规划
机器名称 IP地址 硬盘数 OS & JDK
节点1 IPaddress1 系统盘:1 * 4THDD
数据盘:12 * 4THDD
CentOS 7.6 & OpenJDKjdk8u252-b09
节点2 IPaddress2
节点3 IPaddress3
节点4 IPaddress4
软件规划
集群各节点的软件规划如表3-2所示。
鲲鹏大数据解决方案部署指南(Apache) 3 Flink 部署指南(CentOS 7.6,Standalone 模式)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 20
表 3-2 软件规划
机器名称
服务名称
节点1 JobManager
节点2 QuorumPeerMain、TaskManager
节点3 QuorumPeerMain、TaskManager
节点4 QuorumPeerMain、TaskManager
3.3 配置部署环境步骤1 依次登录节点1-4,将节点的主机名分别修改为server1、agent1、agent2、agent3。
hostnamectl set-hostname 主机名 --static
步骤2 登录所有节点,修改“/etc/hosts”文件。
在hosts文件中添加集群所有节点的“地址-主机名”映射关系。
IPaddress1 server1IPaddress2 agent1IPaddress3 agent2IPaddress4 agent3
步骤3 登录所有节点,关闭防火墙。systemctl stop firewalld.servicesystemctl disable firewalld.service
步骤4 登录所有节点,配置SSH免密登录。
1. 生成密钥,遇到提示时,按回车。ssh-keygen -t rsa
2. 在每台机器上配置SSH免密登录(包括配置自身节点的免密)。ssh-copy-id -i ~/.ssh/id_rsa.pub root@所有节点IP
步骤5 登录所有节点,安装OpenJDK jdk8u252-b09。
1. 安装OpenJDK jdk8u252-b09。
ARM:tar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz -C /usr/local
x86:tar -zxf OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz -C /usr/local
2. 添加环境变量。vim /etc/profileexport JAVA_HOME=/usr/local/jdk8u252-b09export PATH=$JAVA_HOME/bin:$PATH
3. 生效环境变量。source /etc/profile
4. 查看JDK版本。java -version
----结束
鲲鹏大数据解决方案部署指南(Apache) 3 Flink 部署指南(CentOS 7.6,Standalone 模式)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 21
3.4 部署 ZooKeeper
3.4.1 下载并解压 ZooKeeper步骤1 下载ZooKeeper软件包。
下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/
步骤2 将zookeeper-3.4.6.tar.gz放置于agent1节点的“/usr/local”目录下,并解压。mv zookeeper-3.4.6.tar.gz /usr/localcd /usr/localtar -zxvf zookeeper-3.4.6.tar.gz
步骤3 建立软链接,便于后期版本更换。ln -s zookeeper-3.4.6 zookeeper
----结束
3.4.2 添加 ZooKeeper 到环境变量
步骤1 打开配置文件。vim /etc/profile
步骤2 添加ZooKeeper到环境变量。export ZOOKEEPER_HOME=/usr/local/zookeeperexport PATH=$ZOOKEEPER_HOME/bin:$PATH
步骤3 环境变量生效。source /etc/profile
----结束
3.4.3 修改 ZooKeeper 配置文件
步骤1 进入ZooKeeper所在目录。cd /usr/local/zookeeper/conf
步骤2 拷贝配置文件。cp zoo_sample.cfg zoo.cfg
步骤3 修改配置文件。vim zoo.cfg
1. 修改数据目录。dataDir=/usr/local/zookeeper/tmp
2. 在 后添加如下代码,其中server.1-3是部署ZooKeeper的节点。server.1=agent1:2888:3888server.2=agent2:2888:3888server.3=agent3:2888:3888
鲲鹏大数据解决方案部署指南(Apache) 3 Flink 部署指南(CentOS 7.6,Standalone 模式)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 22
步骤4 保存退出,然后创建一个tmp目录作数据目录。mkdir /usr/local/zookeeper/tmp
步骤5 在tmp目录中创建一个空文件,并向该文件写入ID。touch /usr/local/zookeeper/tmp/myidecho 1 > /usr/local/zookeeper/tmp/myid
----结束
3.4.4 同步配置到其它节点
步骤1 将配置好的ZooKeeper拷贝到其它节点。scp -r /usr/local/zookeeper-3.4.6 root@agent2:/usr/localscp -r /usr/local/zookeeper-3.4.6 root@agent3:/usr/local
步骤2 登录agent2、agent3,创建软链接并修改myid内容。
● agent2:cd /usr/localln -s zookeeper-3.4.6 zookeeperecho 2 > /usr/local/zookeeper/tmp/myid
● agent3:cd /usr/localln -s zookeeper-3.4.6 zookeeperecho 3 > /usr/local/zookeeper/tmp/myid
----结束
3.4.5 运行验证
步骤1 分别在agent1,agent2,agent3上启动ZooKeeper。cd /usr/local/zookeeper/bin./zkServer.sh start
鲲鹏大数据解决方案部署指南(Apache) 3 Flink 部署指南(CentOS 7.6,Standalone 模式)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 23
说明
您可以分别在agent1,agent2,agent3上停止ZooKeeper。cd /usr/local/zookeeper/bin./zkServer.sh stop
步骤2 查看ZooKeeper状态。./zkServer.sh status
----结束
3.5 部署 Hadoop
3.5.1 下载并解压 Hadoop步骤1 下载Hadoop软件包。
下载地址:https://archive.apache.org/dist/hadoop/core/hadoop-3.1.1/
步骤2 将hadoop-3.1.1.tar.gz放置于server1节点的“/usr/local”目录,并解压。mv hadoop-3.1.1.tar.gz /usr/localcd /usr/localtar -zxvf hadoop-3.1.1.tar.gz
步骤3 建立软链接,便于后期版本更换。ln -s hadoop-3.1.1 hadoop
----结束
3.5.2 添加 Hadoop 到环境变量步骤1 编辑“/etc/profile”文件。
vim /etc/profile
步骤2 在文件底部添加环境变量,如下所示:export HADOOP_HOME=/usr/local/hadoopexport PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
步骤3 环境变量生效。source /etc/profile
----结束
3.5.3 修改 Hadoop 配置文件
说明
Hadoop所有的配置文件都在“$HADOOP_HOME/etc/hadoop”目录下,修改以下配置文件前,需要切换到“HADOOP_HOME/etc/hadoop”目录。
cd $HADOOP_HOME/etc/hadoop
修改 hadoop-env.sh修改环境变量JAVA_HOME为绝对路径,并将用户指定为root。
echo "export JAVA_HOME=/usr/local/jdk8u252-b09" >> hadoop-env.shecho "export HDFS_NAMENODE_USER=root" >> hadoop-env.sh
鲲鹏大数据解决方案部署指南(Apache) 3 Flink 部署指南(CentOS 7.6,Standalone 模式)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 24
echo "export HDFS_SECONDARYNAMENODE_USER=root" >> hadoop-env.shecho "export HDFS_DATANODE_USER=root" >> hadoop-env.sh
修改 yarn-env.sh
修改用户为root。
echo "export YARN_REGISTRYDNS_SECURE_USER=root" >> yarn-env.shecho "export YARN_RESOURCEMANAGER_USER=root" >> yarn-env.shecho "export YARN_NODEMANAGER_USER=root" >> yarn-env.sh
修改 core-site.xml
步骤1 编辑core-site.xml文件。vim core-site.xml
步骤2 添加或修改configuration标签范围内的参数。<property> <name>fs.defaultFS</name> <value>hdfs://server1:9000</value></property><property> <name>hadoop.tmp.dir</name> <value>/home/hadoop_tmp_dir</value></property><property> <name>ipc.client.connect.max.retries</name> <value>100</value></property><property> <name>ipc.client.connect.retry.interval</name> <value>10000</value></property>
须知
在节点server1上创建目录。mkdir /home/hadoop_tmp_dir
----结束
修改 hdfs-site.xml
步骤1 修改hdfs-site.xml文件。vim hdfs-site.xml
步骤2 添加或修改configuration标签范围内的参数。<property> <name>dfs.replication</name> <value>1</value></property><property> <name>dfs.namenode.name.dir</name> <value>/data/data1/hadoop/nn</value></property><property> <name>dfs.datanode.data.dir</name> <value>/data/data1/hadoop/dn,/data/data2/hadoop/dn,/data/data3/hadoop/dn,/data/data4/hadoop/dn,/data/data5/hadoop/dn,/data/data6/hadoop/dn,/data/data7/hadoop/dn,/data/data8/hadoop/dn,/data/data9/hadoop/dn,/data/data10/hadoop/dn,/data/data11/hadoop/dn,/data/data12/hadoop/dn</value>
鲲鹏大数据解决方案部署指南(Apache) 3 Flink 部署指南(CentOS 7.6,Standalone 模式)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 25
</property><property> <name>dfs.http.address</name> <value>server1:50070</value></property><property> <name>dfs.namenode.http-bind-host</name> <value>0.0.0.0</value></property><property> <name>dfs.datanode.handler.count</name> <value>600</value></property><property> <name>dfs.namenode.handler.count</name> <value>600</value></property><property> <name>dfs.namenode.service.handler.count</name> <value>600</value></property><property> <name>ipc.server.handler.queue.size</name> <value>300</value></property>
须知
节点agent1、agent2、agent3分别创建dfs.datanode.data.dir对应目录。
举例:mkdir -p /data/data{1,2,3,4,5,6,7,8,9,10,11,12}/hadoop
----结束
修改 mapred-site.xml
步骤1 编辑mapred-site.xml文件。vim mapred-site.xml
步骤2 添加或修改configuration标签范围内的参数。<property> <name>mapreduce.framework.name</name> <value>yarn</value> <final>true</final> <description>The runtime framework for executing MapReduce jobs</description></property><property> <name>mapreduce.job.reduce.slowstart.completedmaps</name> <value>0.88</value></property><property> <name>mapreduce.application.classpath</name> <value> /usr/local/hadoop/etc/hadoop, /usr/local/hadoop/share/hadoop/common/*, /usr/local/hadoop/share/hadoop/common/lib/*, /usr/local/hadoop/share/hadoop/hdfs/*, /usr/local/hadoop/share/hadoop/hdfs/lib/*, /usr/local/hadoop/share/hadoop/mapreduce/*, /usr/local/hadoop/share/hadoop/mapreduce/lib/*, /usr/local/hadoop/share/hadoop/yarn/*, /usr/local/hadoop/share/hadoop/yarn/lib/* </value>
鲲鹏大数据解决方案部署指南(Apache) 3 Flink 部署指南(CentOS 7.6,Standalone 模式)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 26
</property><property> <name>mapreduce.map.memory.mb</name> <value>6144</value></property><property> <name>mapreduce.reduce.memory.mb</name> <value>6144</value> </property> <property> <name>mapreduce.map.java.opts</name> <value>-Xmx5530m</value></property><property> <name>mapreduce.reduce.java.opts</name> <value>-Xmx2765m</value></property><property> <name>mapred.child.java.opts</name> <value>-Xmx2048m -Xms2048m</value></property><property> <name>mapred.reduce.parallel.copies</name> <value>20</value></property><property> <name>yarn.app.mapreduce.am.env</name> <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value></property><property> <name>mapreduce.map.env</name> <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value></property><property> <name>mapreduce.reduce.env</name> <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value></property>
----结束
修改 yarn-site.xml步骤1 编辑yarn-site.xml文件。
vim yarn-site.xml
步骤2 添加或修改configuration标签范围内的参数。<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> <final>true</final></property><property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value></property><property> <name>yarn.resourcemanager.hostname</name> <value>server1</value></property><property> <name>yarn.resourcemanager.bind-host</name> <value>0.0.0.0</value></property><property> <name>yarn.scheduler.maximum-allocation-mb</name> <value>65536</value></property><property>
鲲鹏大数据解决方案部署指南(Apache) 3 Flink 部署指南(CentOS 7.6,Standalone 模式)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 27
<name>yarn.nodemanager.resource.memory-mb</name> <value>102400</value></property><property> <name>yarn.nodemanager.resource.cpu-vcores</name> <value>48</value></property><property> <name>yarn.log-aggregation-enable</name> <value>true</value></property><property> <name>yarn.client.nodemanager-connect.max-wait-ms</name> <value>300000</value></property><property> <name>yarn.nodemanager.vmem-pmem-ratio</name> <value>7.1</value></property><property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value></property><property> <name>yarn.nodemanager.pmem-check-enabled</name> <value>false</value></property><property> <name>yarn.scheduler.minimum-allocation-mb</name> <value>3072</value></property><property> <name>yarn.app.mapreduce.am.resource.mb</name> <value>3072</value></property><property> <name>yarn.scheduler.maximum-allocation-vcores</name> <value>48</value></property><property> <name>yarn.application.classpath</name> <value> /usr/local/hadoop/etc/hadoop, /usr/local/hadoop/share/hadoop/common/*, /usr/local/hadoop/share/hadoop/common/lib/*, /usr/local/hadoop/share/hadoop/hdfs/*, /usr/local/hadoop/share/hadoop/hdfs/lib/*, /usr/local/hadoop/share/hadoop/mapreduce/*, /usr/local/hadoop/share/hadoop/mapreduce/lib/*, /usr/local/hadoop/share/hadoop/yarn/*, /usr/local/hadoop/share/hadoop/yarn/lib/* </value></property>
须知
节点agent1、agent2、agent3分别创建${yarn.nodemanager.local-dirs对应目录}。举例:mkdir -p /data/data{1,2,3,4,5,6,7,8,9,10,11,12}/yarn
----结束
鲲鹏大数据解决方案部署指南(Apache) 3 Flink 部署指南(CentOS 7.6,Standalone 模式)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 28
修改 slaves OR workers
步骤1 确认hadoop版本,3.x以下的版本编辑slaves文件,3.x及以上的编辑workers文件
步骤2 编辑文件(本文版本3.1.1)。vim workers
步骤3 修改workers文件,只保存所有agent节点的IP地址(可用主机名代替),其余内容均删除。agent1agent2agent3
----结束
3.5.4 同步配置到其它节点
步骤1 所有节点依次创建。mkdir -p /usr/local/hadoop-3.1.1/journaldata
步骤2 拷贝hadoop-3.1.1到agent1、agent2、agent3节点的“/usr/local”目录。scp -r /usr/local/hadoop-3.1.1 root@agent1:/usr/localscp -r /usr/local/hadoop-3.1.1 root@agent2:/usr/localscp -r /usr/local/hadoop-3.1.1 root@agent3:/usr/local
步骤3 分别登录到agent1、agent2、agent3节点,为hadoop-3.1.1建立软链接。cd /usr/localln -s hadoop-3.1.1 hadoop
----结束
3.5.5 启动 Hadoop 集群
须知
本章节下面的子章节必须按顺序操作。
步骤1 启动ZooKeeper集群。
分别在agent1,agent2,agent3节点上启动ZooKeeper。
cd /usr/local/zookeeper/bin./zkServer.sh start
步骤2 启动JournalNode。
分别在agent1,agent2,agent3节点上启动JournalNode。
说明
只在第一次进行格式化操作时,需要执行步骤2-步骤4,完成格式化后,下次启动集群,只需要执行步骤1、步骤5、步骤6。
cd /usr/local/hadoop/sbin./hadoop-daemon.sh start journalnode
鲲鹏大数据解决方案部署指南(Apache) 3 Flink 部署指南(CentOS 7.6,Standalone 模式)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 29
步骤3 格式化HDFS。
1. 在server1节点上格式化HDFS。hdfs namenode -format
2. 格式化后集群会根据core-site.xml配置的hadoop.tmp.dir参数生成目录。
本文档配置目录为“/home/hadoop_tmp”。
步骤4 格式化ZKFC。
在server1节点上格式化ZKFC。
hdfs zkfc -formatZK
步骤5 启动HDFS。
在server1节点上启动HDFS。
cd /usr/local/hadoop/sbin./start-dfs.sh
步骤6 启动Yarn。
在server1节点上启动Yarn。
cd /usr/local/hadoop/sbin./start-yarn.sh
步骤7 观察进程是否都正常启动。
说明
此操作在所有节点上执行,其中server节点应启动的进程以server1的截图为准,agent节点应启动的进程以agent1的截图为准。
jps
----结束
3.5.6 验证 Hadoop在浏览器中输入URL地址,访问Hadoop Web页面,URL格式为“http://server1:50070”。
其中,“server1”填写serber进程所在节点的IP地址。通过观察Live Nodes是否与agent数目相等(本文是3)、Dead Nodes是否为0,判断集群是否正常启动。
鲲鹏大数据解决方案部署指南(Apache) 3 Flink 部署指南(CentOS 7.6,Standalone 模式)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 30
3.6 部署 Flink(on yarn 模式)
3.6.1 下载并解压 Flink步骤1 下载Flink。
下载地址:https://archive.apache.org/dist/flink/flink-1.7.0/flink-1.7.0-bin-hadoop28-scala_2.11.tgz
步骤2 将flink-1.7.0-bin-hadoop28-scala_2.11.tgz放置于server1的“/usr/local”的目录下,并解压。mv flink-1.7.0-bin-hadoop28-scala_2.11.tgz /usr/localtar -zxvf flink-1.7.0-bin-hadoop28-scala_2.11.tgz
步骤3 建立软链接,便于后期版本更换。ln -s flink-1.7.0 flink
----结束
3.6.2 添加 Flink 到环境变量
步骤1 打开配置文件。vim /etc/profile
步骤2 添加Flink到环境变量。export FLINK_HOME=/usr/local/flinkexport PATH=$FLINK_HOME/bin:$PATH
步骤3 环境变量生效。source /etc/profile
----结束
鲲鹏大数据解决方案部署指南(Apache) 3 Flink 部署指南(CentOS 7.6,Standalone 模式)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 31
3.6.3 修改 Flink 配置文件
说明
Flink所有的配置文件都在“$FLINK_HOME/conf”目录下,修改以下配置文件前,需要切换到“$FLINK_HOME/conf”目录。
cd $FLINK_HOME/conf
修改flink-conf.yaml文件为以下内容:env.java.home: /usr/local/jdk8u252-b09env.hadoop.conf.dir: /etc/hadoop/conf
3.6.4 运行验证
步骤1 依次启动ZooKeeper和Hadoop。
步骤2 在server1上启动。/usr/local/flink/bin/yarn-session.sh -n 1 -s 1 -jm 768 -tm 1024 -qu default -nm flinkapp -d
说明
您可以在server1上停止Flink集群。
/usr/local/flink/bin/stop-cluster.sh
步骤3 在浏览器中输入URL地址,访问Flink Web页面,URL格式如下所示:http://server1:8081
----结束
3.6.5 停止 Flink查看flink的yarn任务进程,杀死任务即可停止:
yarn app - kill $(yarn app -list | grep flinkapp | awk '{print $1}')
鲲鹏大数据解决方案部署指南(Apache) 3 Flink 部署指南(CentOS 7.6,Standalone 模式)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 32
4 HBase 集群 部署指南(CentOS 7.6)
4.1 介绍
4.2 环境要求
4.3 配置部署环境
4.4 部署ZooKeeper
4.5 部署Hadoop
4.6 部署HBase
4.1 介绍
简要介绍
本文档重点介绍软件部署步骤,并不涉及软件源码编译步骤。
文档中使用的软件都是从官网下载获取,这类软件多基于x86环境编译得到,软件内如果包含非跨平台语言(如C/C++)实现的模块,直接在TaiShan服务器上使用会出现不兼容的问题,需下载对应软件源码包进行编译,然后部署。但不管软件包是在哪种环境下编译得到,部署步骤都是一致的。
建议的版本
软件 版本 获取方法
OpenJDK
jdk8u252-b09
ARM: https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gzx86: https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz
ZooKeeper
3.4.6 在ZooKeeper官网下载所需版本的软件包。
下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/
鲲鹏大数据解决方案部署指南(Apache) 4 HBase 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 33
软件 版本 获取方法
Hadoop
3.1.1 在Hadoop官网下载所需版本的软件包。
下载地址:https://archive.apache.org/dist/hadoop/core/hadoop-3.1.1/
HBase 2.0.2 在HBase官网下载所需版本的软件包。
下载地址:https://archive.apache.org/dist/hbase/2.0.2/hbase-2.0.2-bin.tar.gz
4.2 环境要求
硬件要求
低配置:任意CPU、一根内存(大小不限)、一块硬盘(大小不限)。
具体配置视实际应用场景而定。
操作系统要求
适用于CentOS 7.4-7.6。
说明
本文以CentOS 7.6为例,介绍HBase集群部署。
集群环境规划
本章节规划以四台机器分别作为集群的节点1、节点2、节点3、节点4。各个节点数据规格如表4-1所示。
表 4-1 集群环境规划
机器名称 IP地址 硬盘数 OS & JDK
节点1 IPaddress1 系统盘:1 * 4THDD
数据盘:6 * 4THDD
CentOS 7.6 & OpenJDKjdk8u252-b09
节点2 IPaddress2
节点3 IPaddress3
节点4 IPaddress4
软件规划
集群各节点的软件规划如表4-2所示。
鲲鹏大数据解决方案部署指南(Apache) 4 HBase 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 34
表 4-2 软件规划
机器名称
服务名称
节点1 Namenode、ResourceManager、Hmaster
节点2 QuorumPeerMain、DataNode、NodeManager、JournalNode、HRegionServer
节点3 QuorumPeerMain、DataNode、NodeManager、JournalNode、HRegionServer
节点4 QuorumPeerMain、DataNode、NodeManager、JournalNode、HRegionServer
4.3 配置部署环境步骤1 依次登录节点1-4,将节点的主机名分别修改为server1、agent1、agent2、agent3。
hostnamectl set-hostname 主机名 --static
步骤2 登录所有节点,修改“/etc/hosts”文件。
在hosts文件中添加集群所有节点的“地址-主机名”映射关系。
IPaddress1 server1IPaddress2 agent1IPaddress3 agent2IPaddress4 agent3
步骤3 登录所有节点,关闭防火墙。systemctl stop firewalld.servicesystemctl disable firewalld.service
步骤4 登录所有节点,配置SSH免密登录。
1. 生成密钥,遇到提示时,按回车。ssh-keygen -t rsa
2. 在每台机器上配置SSH免密登录(包括配置自身节点的免密)。ssh-copy-id -i ~/.ssh/id_rsa.pub root@所有节点IP
步骤5 登录所有节点,安装OpenJDK jdk8u252-b09。
1. 安装OpenJDK jdk8u252-b09。
ARM:tar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz -C /usr/local
x86:tar -zxf OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz -C /usr/local
2. 添加环境变量。vim /etc/profileexport JAVA_HOME=/usr/local/jdk8u252-b09export PATH=$JAVA_HOME/bin:$PATH
3. 生效环境变量。source /etc/profile
4. 查看JDK版本。
鲲鹏大数据解决方案部署指南(Apache) 4 HBase 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 35
java -version
----结束
4.4 部署 ZooKeeper
4.4.1 下载并解压 ZooKeeper步骤1 下载ZooKeeper软件包。
下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/
步骤2 将zookeeper-3.4.6.tar.gz放置于agent1节点的“/usr/local”目录下,并解压。mv zookeeper-3.4.6.tar.gz /usr/localcd /usr/localtar -zxvf zookeeper-3.4.6.tar.gz
步骤3 建立软链接,便于后期版本更换。ln -s zookeeper-3.4.6 zookeeper
----结束
4.4.2 添加 ZooKeeper 到环境变量
步骤1 打开配置文件。vim /etc/profile
步骤2 添加ZooKeeper到环境变量。export ZOOKEEPER_HOME=/usr/local/zookeeperexport PATH=$ZOOKEEPER_HOME/bin:$PATH
步骤3 环境变量生效。source /etc/profile
----结束
4.4.3 修改 ZooKeeper 配置文件
步骤1 进入ZooKeeper所在目录。cd /usr/local/zookeeper/conf
步骤2 拷贝配置文件。cp zoo_sample.cfg zoo.cfg
步骤3 修改配置文件。vim zoo.cfg
1. 修改数据目录。dataDir=/usr/local/zookeeper/tmp
2. 在 后添加如下代码,其中server.1-3是部署ZooKeeper的节点。server.1=agent1:2888:3888server.2=agent2:2888:3888server.3=agent3:2888:3888
鲲鹏大数据解决方案部署指南(Apache) 4 HBase 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 36
步骤4 保存退出,然后创建一个tmp目录作数据目录。mkdir /usr/local/zookeeper/tmp
步骤5 在tmp目录中创建一个空文件,并向该文件写入ID。touch /usr/local/zookeeper/tmp/myidecho 1 > /usr/local/zookeeper/tmp/myid
----结束
4.4.4 同步配置到其它节点
步骤1 将配置好的ZooKeeper拷贝到其它节点。scp -r /usr/local/zookeeper-3.4.6 root@agent2:/usr/localscp -r /usr/local/zookeeper-3.4.6 root@agent3:/usr/local
步骤2 登录agent2、agent3,创建软链接并修改myid内容。
● agent2:cd /usr/localln -s zookeeper-3.4.6 zookeeperecho 2 > /usr/local/zookeeper/tmp/myid
● agent3:cd /usr/localln -s zookeeper-3.4.6 zookeeperecho 3 > /usr/local/zookeeper/tmp/myid
----结束
4.4.5 运行验证
步骤1 分别在agent1,agent2,agent3上启动ZooKeeper。cd /usr/local/zookeeper/bin./zkServer.sh start
鲲鹏大数据解决方案部署指南(Apache) 4 HBase 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 37
说明
您可以分别在agent1,agent2,agent3上停止ZooKeeper。cd /usr/local/zookeeper/bin./zkServer.sh stop
步骤2 查看ZooKeeper状态。./zkServer.sh status
----结束
4.5 部署 Hadoop
4.5.1 下载并解压 Hadoop步骤1 下载Hadoop软件包。
下载地址:https://archive.apache.org/dist/hadoop/core/hadoop-3.1.1/
步骤2 将hadoop-3.1.1.tar.gz放置于server1节点的“/usr/local”目录,并解压。mv hadoop-3.1.1.tar.gz /usr/localcd /usr/localtar -zxvf hadoop-3.1.1.tar.gz
步骤3 建立软链接,便于后期版本更换。ln -s hadoop-3.1.1 hadoop
----结束
4.5.2 添加 Hadoop 到环境变量步骤1 编辑“/etc/profile”文件。
vim /etc/profile
步骤2 在文件底部添加环境变量,如下所示:export HADOOP_HOME=/usr/local/hadoopexport PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
步骤3 环境变量生效。source /etc/profile
----结束
4.5.3 修改 Hadoop 配置文件
说明
Hadoop所有的配置文件都在“$HADOOP_HOME/etc/hadoop”目录下,修改以下配置文件前,需要切换到“HADOOP_HOME/etc/hadoop”目录。
cd $HADOOP_HOME/etc/hadoop
修改 hadoop-env.sh修改环境变量JAVA_HOME为绝对路径,并将用户指定为root。
echo "export JAVA_HOME=/usr/local/jdk8u252-b09" >> hadoop-env.shecho "export HDFS_NAMENODE_USER=root" >> hadoop-env.sh
鲲鹏大数据解决方案部署指南(Apache) 4 HBase 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 38
echo "export HDFS_SECONDARYNAMENODE_USER=root" >> hadoop-env.shecho "export HDFS_DATANODE_USER=root" >> hadoop-env.sh
修改 yarn-env.sh
修改用户为root。
echo "export YARN_REGISTRYDNS_SECURE_USER=root" >> yarn-env.shecho "export YARN_RESOURCEMANAGER_USER=root" >> yarn-env.shecho "export YARN_NODEMANAGER_USER=root" >> yarn-env.sh
修改 core-site.xml
步骤1 编辑core-site.xml文件。vim core-site.xml
步骤2 添加或修改configuration标签范围内的参数。<property> <name>fs.defaultFS</name> <value>hdfs://server1:9000</value></property><property> <name>hadoop.tmp.dir</name> <value>/home/hadoop_tmp_dir</value></property><property> <name>ipc.client.connect.max.retries</name> <value>100</value></property><property> <name>ipc.client.connect.retry.interval</name> <value>10000</value></property>
须知
在节点server1上创建目录。mkdir /home/hadoop_tmp_dir
----结束
修改 hdfs-site.xml
步骤1 修改hdfs-site.xml文件。vim hdfs-site.xml
步骤2 添加或修改configuration标签范围内的参数。<property> <name>dfs.replication</name> <value>1</value></property><property> <name>dfs.namenode.name.dir</name> <value>/data/data1/hadoop/nn</value></property><property> <name>dfs.datanode.data.dir</name> <value>/data/data1/hadoop/dn,/data/data2/hadoop/dn,/data/data3/hadoop/dn,/data/data4/hadoop/dn,/data/data5/hadoop/dn,/data/data6/hadoop/dn,/data/data7/hadoop/dn,/data/data8/hadoop/dn,/data/data9/hadoop/dn,/data/data10/hadoop/dn,/data/data11/hadoop/dn,/data/data12/hadoop/dn</value>
鲲鹏大数据解决方案部署指南(Apache) 4 HBase 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 39
</property><property> <name>dfs.http.address</name> <value>server1:50070</value></property><property> <name>dfs.namenode.http-bind-host</name> <value>0.0.0.0</value></property><property> <name>dfs.datanode.handler.count</name> <value>600</value></property><property> <name>dfs.namenode.handler.count</name> <value>600</value></property><property> <name>dfs.namenode.service.handler.count</name> <value>600</value></property><property> <name>ipc.server.handler.queue.size</name> <value>300</value></property>
须知
节点agent1、agent2、agent3分别创建dfs.datanode.data.dir对应目录。
举例:mkdir -p /data/data{1,2,3,4,5,6,7,8,9,10,11,12}/hadoop
----结束
修改 mapred-site.xml
步骤1 编辑mapred-site.xml文件。vim mapred-site.xml
步骤2 添加或修改configuration标签范围内的参数。<property> <name>mapreduce.framework.name</name> <value>yarn</value> <final>true</final> <description>The runtime framework for executing MapReduce jobs</description></property><property> <name>mapreduce.job.reduce.slowstart.completedmaps</name> <value>0.88</value></property><property> <name>mapreduce.application.classpath</name> <value> /usr/local/hadoop/etc/hadoop, /usr/local/hadoop/share/hadoop/common/*, /usr/local/hadoop/share/hadoop/common/lib/*, /usr/local/hadoop/share/hadoop/hdfs/*, /usr/local/hadoop/share/hadoop/hdfs/lib/*, /usr/local/hadoop/share/hadoop/mapreduce/*, /usr/local/hadoop/share/hadoop/mapreduce/lib/*, /usr/local/hadoop/share/hadoop/yarn/*, /usr/local/hadoop/share/hadoop/yarn/lib/* </value>
鲲鹏大数据解决方案部署指南(Apache) 4 HBase 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 40
</property><property> <name>mapreduce.map.memory.mb</name> <value>6144</value></property><property> <name>mapreduce.reduce.memory.mb</name> <value>6144</value> </property> <property> <name>mapreduce.map.java.opts</name> <value>-Xmx5530m</value></property><property> <name>mapreduce.reduce.java.opts</name> <value>-Xmx2765m</value></property><property> <name>mapred.child.java.opts</name> <value>-Xmx2048m -Xms2048m</value></property><property> <name>mapred.reduce.parallel.copies</name> <value>20</value></property><property> <name>yarn.app.mapreduce.am.env</name> <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value></property><property> <name>mapreduce.map.env</name> <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value></property><property> <name>mapreduce.reduce.env</name> <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value></property>
----结束
修改 yarn-site.xml步骤1 编辑yarn-site.xml文件。
vim yarn-site.xml
步骤2 添加或修改configuration标签范围内的参数。<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> <final>true</final></property><property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value></property><property> <name>yarn.resourcemanager.hostname</name> <value>server1</value></property><property> <name>yarn.resourcemanager.bind-host</name> <value>0.0.0.0</value></property><property> <name>yarn.scheduler.maximum-allocation-mb</name> <value>65536</value></property><property>
鲲鹏大数据解决方案部署指南(Apache) 4 HBase 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 41
<name>yarn.nodemanager.resource.memory-mb</name> <value>102400</value></property><property> <name>yarn.nodemanager.resource.cpu-vcores</name> <value>48</value></property><property> <name>yarn.log-aggregation-enable</name> <value>true</value></property><property> <name>yarn.client.nodemanager-connect.max-wait-ms</name> <value>300000</value></property><property> <name>yarn.nodemanager.vmem-pmem-ratio</name> <value>7.1</value></property><property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value></property><property> <name>yarn.nodemanager.pmem-check-enabled</name> <value>false</value></property><property> <name>yarn.scheduler.minimum-allocation-mb</name> <value>3072</value></property><property> <name>yarn.app.mapreduce.am.resource.mb</name> <value>3072</value></property><property> <name>yarn.scheduler.maximum-allocation-vcores</name> <value>48</value></property><property> <name>yarn.application.classpath</name> <value> /usr/local/hadoop/etc/hadoop, /usr/local/hadoop/share/hadoop/common/*, /usr/local/hadoop/share/hadoop/common/lib/*, /usr/local/hadoop/share/hadoop/hdfs/*, /usr/local/hadoop/share/hadoop/hdfs/lib/*, /usr/local/hadoop/share/hadoop/mapreduce/*, /usr/local/hadoop/share/hadoop/mapreduce/lib/*, /usr/local/hadoop/share/hadoop/yarn/*, /usr/local/hadoop/share/hadoop/yarn/lib/* </value></property>
须知
节点agent1、agent2、agent3分别创建${yarn.nodemanager.local-dirs对应目录}。举例:mkdir -p /data/data{1,2,3,4,5,6,7,8,9,10,11,12}/yarn
----结束
鲲鹏大数据解决方案部署指南(Apache) 4 HBase 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 42
修改 slaves OR workers
步骤1 确认hadoop版本,3.x以下的版本编辑slaves文件,3.x及以上的编辑workers文件
步骤2 编辑文件(本文版本3.1.1)。vim workers
步骤3 修改workers文件,只保存所有agent节点的IP地址(可用主机名代替),其余内容均删除。agent1agent2agent3
----结束
4.5.4 同步配置到其它节点
步骤1 所有节点依次创建。mkdir -p /usr/local/hadoop-3.1.1/journaldata
步骤2 拷贝hadoop-3.1.1到agent1、agent2、agent3节点的“/usr/local”目录。scp -r /usr/local/hadoop-3.1.1 root@agent1:/usr/localscp -r /usr/local/hadoop-3.1.1 root@agent2:/usr/localscp -r /usr/local/hadoop-3.1.1 root@agent3:/usr/local
步骤3 分别登录到agent1、agent2、agent3节点,为hadoop-3.1.1建立软链接。cd /usr/localln -s hadoop-3.1.1 hadoop
----结束
4.5.5 启动 Hadoop 集群
须知
本章节下面的子章节必须按顺序操作。
步骤1 启动ZooKeeper集群。
分别在agent1,agent2,agent3节点上启动ZooKeeper。
cd /usr/local/zookeeper/bin./zkServer.sh start
步骤2 启动JournalNode。
分别在agent1,agent2,agent3节点上启动JournalNode。
说明
只在第一次进行格式化操作时,需要执行步骤2-步骤4,完成格式化后,下次启动集群,只需要执行步骤1、步骤5、步骤6。
cd /usr/local/hadoop/sbin./hadoop-daemon.sh start journalnode
鲲鹏大数据解决方案部署指南(Apache) 4 HBase 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 43
步骤3 格式化HDFS。
1. 在server1节点上格式化HDFS。hdfs namenode -format
2. 格式化后集群会根据core-site.xml配置的hadoop.tmp.dir参数生成目录。
本文档配置目录为“/home/hadoop_tmp”。
步骤4 格式化ZKFC。
在server1节点上格式化ZKFC。
hdfs zkfc -formatZK
步骤5 启动HDFS。
在server1节点上启动HDFS。
cd /usr/local/hadoop/sbin./start-dfs.sh
步骤6 启动Yarn。
在server1节点上启动Yarn。
cd /usr/local/hadoop/sbin./start-yarn.sh
步骤7 观察进程是否都正常启动。
说明
此操作在所有节点上执行,其中server节点应启动的进程以server1的截图为准,agent节点应启动的进程以agent1的截图为准。
jps
----结束
4.5.6 验证 Hadoop在浏览器中输入URL地址,访问Hadoop Web页面,URL格式为“http://server1:50070”。
其中,“server1”填写serber进程所在节点的IP地址。通过观察Live Nodes是否与agent数目相等(本文是3)、Dead Nodes是否为0,判断集群是否正常启动。
鲲鹏大数据解决方案部署指南(Apache) 4 HBase 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 44
4.6 部署 HBase
4.6.1 下载并解压 HBase步骤1 下载HBase。
下载地址:https://archive.apache.org/dist/hbase/2.0.2/hbase-2.0.2-bin.tar.gz
步骤2 将hbase-2.0.2-bin.tar.gz放置于server1节点的“/usr/local”目录,并解压。mv hbase-2.0.2-bin.tar.gz /usr/localtar -zxvf hbase-2.0.2-bin.tar.gz
步骤3 建立软链接,便于后期版本更换。ln -s hbase-2.0.2 hbase
----结束
4.6.2 添加 HBase 到环境变量
步骤1 编辑“/etc/profile”文件。vim /etc/profile
步骤2 在文件底部添加环境变量,如下所示。export HBASE_HOME=/usr/local/hbaseexport PATH=$HBASE_HOME/bin:$HBASE_HOME/sbin:$PATH
步骤3 环境变量生效。source /etc/profile
----结束
鲲鹏大数据解决方案部署指南(Apache) 4 HBase 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 45
4.6.3 修改 HBase 配置文件
说明
HBase所有的配置文件都在“HBASE_HOME/conf”目录下,修改以下配置文件前,切换到“HBASE_HOME/conf”目录。
cd $HBASE_HOME/conf
修改 hbase-env.sh
步骤1 编辑hbase-env.sh文件。vim hbase-env.sh
步骤2 修改环境变量JAVA_HOME为绝对路径,HBASE_MANAGES_ZK设为false。export JAVA_HOME=/usr/local/jdk8u252-b09export HBASE_MANAGES_ZK=falseexport HBASE_LIBRARY_PATH=/usr/local/hadoop/lib/native
----结束
修改 hbase-site.xml
步骤1 修改hbase-site.xml文件。vim hbase-site.xml
步骤2 添加或修改configuration标签范围内的部分参数。<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://server1:9000/HBase</value> </property> <property> <name>hbase.tmp.dir</name> <value>/usr/local/hbase/tmp</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>agent1:2181,agent2:2181,agent3:2181</value> </property> <property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property></configuration>
----结束
修改 regionservers
步骤1 编辑regionservers文件。vim regionservers
鲲鹏大数据解决方案部署指南(Apache) 4 HBase 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 46
步骤2 将regionservers文件内容替换为agent节点IP(可用主机名代替)。agent1agent2agent3
----结束
拷贝 hdfs-site.xml
拷贝hadoop的hdfs-site.xml到hbase的conf目录,可选择软链接或拷贝。cp /usr/local/hadoop/etc/hadoop/hdfs-site.xml /usr/local/hbase/conf/hdfs-site.xml
4.6.4 同步配置到其它节点
步骤1 拷贝hbase-2.0.2到agent1、agent2、agent3节点的“/usr/local”目录。scp -r /usr/local/hbase-2.0.2 root@agent1:/usr/localscp -r /usr/local/hbase-2.0.2 root@agent2:/usr/localscp -r /usr/local/hbase-2.0.2 root@agent3:/usr/local
步骤2 分别登录到agent1、agent2、agent3节点,为hbase-2.0.2建立软链接。cd /usr/localln -s hbase-2.0.2 hbase
----结束
4.6.5 启动 HBase 集群
步骤1 依次启动ZooKeeper和Hadoop。
步骤2 在server1节点上启动HBase集群。/usr/local/hbase/bin/start-hbase.sh
步骤3 观察进程是否都正常启动。jpsserver1ResourceManagerNameNodeHMasteragent1NodeManagerDataNodeHRegionServerJournalNodeQuorumPeerMain
说明
需在所有节点上观察进程启动情况,其中server1节点应启动的进程以server1为准,agent1节点应启动的进程以agent1为准
----结束
4.6.6 (可选)停止 HBase 集群
在server1节点上停止HBase集群。
/usr/local/hbase/bin/stop-hbase.sh
鲲鹏大数据解决方案部署指南(Apache) 4 HBase 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 47
4.6.7 验证 HBase步骤1 打开浏览器,可通过URL地址,访问HBase Web页面,URL格式为“http://
server1:16010”。
其中,“server1”填写HMaster进程所在节点的IP地址,“16010”是HBase 1.0以后版本的默认端口,可通过修改“hbase-site.xml”文件的“hbase.master.info.port”参数进行设置。
通过观察Region Servers是否与agent数目相等(本文是3个agent)判断集群是否正常启动。
----结束
鲲鹏大数据解决方案部署指南(Apache) 4 HBase 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 48
5 Hive 部署指南(CentOS 7.6)
5.1 介绍
5.2 环境要求
5.3 配置部署环境
5.4 部署ZooKeeper
5.5 部署Hadoop
5.6 部署Hive
5.1 介绍
简要介绍
本文档重点介绍软件部署步骤,并不涉及软件源码编译步骤。
文档中使用的软件都是从官网下载获取,这类软件多基于x86环境编译得到,软件内如果包含非跨平台语言(如C/C++)实现的模块,直接在TaiShan服务器上使用会出现不兼容的问题,需下载对应软件源码包进行编译,然后部署。但不管软件包是在哪种环境下编译得到,部署步骤都是一致的。
建议的版本
软件 版本 获取方法
OpenJDK
jdk8u252-b09
ARM: https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gzx86: https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz
ZooKeeper
3.4.6 在ZooKeeper官网下载所需版本的软件包。
下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/
鲲鹏大数据解决方案部署指南(Apache) 5 Hive 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 49
软件 版本 获取方法
Hadoop 3.1.1 在Hadoop官网下载所需版本的软件包。
下载地址:https://archive.apache.org/dist/hadoop/core/hadoop-3.1.1/
Hive 3.1.0 在Hive官网下载所需版本的软件包。
下载地址:https://archive.apache.org/dist/hive/hive-3.1.0/
5.2 环境要求
硬件要求
低配置:任意CPU、一根内存(大小不限)、一块硬盘(大小不限)。
具体配置视实际应用场景而定。
操作系统要求
适用于CentOS 7.4-7.6。
说明
本文以CentOS 7.6为例,介绍Hive集群部署。
集群环境
本章节规划以四台机器分别作为集群的节点1、节点2、节点3、节点4。各个节点数据规格如表5-1所示。
表 5-1 集群环境规划
机器名称 IP地址 硬盘数 OS & JDK
节点1 IPaddress1 系统盘:1 * 4THDD
数据盘:12 * 4THDD
CentOS 7.6 & OpenJDKjdk8u252-b09
节点2 IPaddress2
节点3 IPaddress3
节点4 IPaddress4
软件规划
集群各节点的软件规划如表5-2所示。
鲲鹏大数据解决方案部署指南(Apache) 5 Hive 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 50
表 5-2 软件规划
机器名称
服务名称
节点1 Namenode、ResourceManager、Hive客户端
节点2 QuorumPeerMain、DataNode、NodeManager、JournalNode
节点3 QuorumPeerMain、DataNode、NodeManager、JournalNode
节点4 QuorumPeerMain、DataNode、NodeManager、JournalNode
5.3 配置部署环境步骤1 依次登录节点1-4,将节点的主机名分别修改为server1、agent1、agent2、agent3。
hostnamectl set-hostname 主机名 --static
步骤2 登录所有节点,修改“/etc/hosts”文件。
在hosts文件中添加集群所有节点的“地址-主机名”映射关系。
IPaddress1 server1IPaddress2 agent1IPaddress3 agent2IPaddress4 agent3
步骤3 登录所有节点,关闭防火墙。systemctl stop firewalld.servicesystemctl disable firewalld.service
步骤4 登录所有节点,配置SSH免密登录。
1. 生成密钥,遇到提示时,按回车。ssh-keygen -t rsa
2. 在每台机器上配置SSH免密登录(包括配置自身节点的免密)。ssh-copy-id -i ~/.ssh/id_rsa.pub root@所有节点IP
步骤5 登录所有节点,安装OpenJDK jdk8u252-b09。
1. 安装OpenJDK jdk8u252-b09。
ARM:tar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz -C /usr/local
x86:tar -zxf OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz -C /usr/local
2. 添加环境变量。vim /etc/profileexport JAVA_HOME=/usr/local/jdk8u252-b09export PATH=$JAVA_HOME/bin:$PATH
3. 生效环境变量。source /etc/profile
4. 查看JDK版本。java -version
----结束
鲲鹏大数据解决方案部署指南(Apache) 5 Hive 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 51
5.4 部署 ZooKeeper
5.4.1 下载并解压 ZooKeeper步骤1 下载ZooKeeper软件包。
下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/
步骤2 将zookeeper-3.4.6.tar.gz放置于agent1节点的“/usr/local”目录下,并解压。mv zookeeper-3.4.6.tar.gz /usr/localcd /usr/localtar -zxvf zookeeper-3.4.6.tar.gz
步骤3 建立软链接,便于后期版本更换。ln -s zookeeper-3.4.6 zookeeper
----结束
5.4.2 添加 ZooKeeper 到环境变量
步骤1 打开配置文件。vim /etc/profile
步骤2 添加ZooKeeper到环境变量。export ZOOKEEPER_HOME=/usr/local/zookeeperexport PATH=$ZOOKEEPER_HOME/bin:$PATH
步骤3 环境变量生效。source /etc/profile
----结束
5.4.3 修改 ZooKeeper 配置文件
步骤1 进入ZooKeeper所在目录。cd /usr/local/zookeeper/conf
步骤2 拷贝配置文件。cp zoo_sample.cfg zoo.cfg
步骤3 修改配置文件。vim zoo.cfg
1. 修改数据目录。dataDir=/usr/local/zookeeper/tmp
2. 在 后添加如下代码,其中server.1-3是部署ZooKeeper的节点。server.1=agent1:2888:3888server.2=agent2:2888:3888server.3=agent3:2888:3888
鲲鹏大数据解决方案部署指南(Apache) 5 Hive 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 52
步骤4 保存退出,然后创建一个tmp目录作数据目录。mkdir /usr/local/zookeeper/tmp
步骤5 在tmp目录中创建一个空文件,并向该文件写入ID。touch /usr/local/zookeeper/tmp/myidecho 1 > /usr/local/zookeeper/tmp/myid
----结束
5.4.4 同步配置到其它节点
步骤1 将配置好的ZooKeeper拷贝到其它节点。scp -r /usr/local/zookeeper-3.4.6 root@agent2:/usr/localscp -r /usr/local/zookeeper-3.4.6 root@agent3:/usr/local
步骤2 登录agent2、agent3,创建软链接并修改myid内容。
● agent2:cd /usr/localln -s zookeeper-3.4.6 zookeeperecho 2 > /usr/local/zookeeper/tmp/myid
● agent3:cd /usr/localln -s zookeeper-3.4.6 zookeeperecho 3 > /usr/local/zookeeper/tmp/myid
----结束
5.4.5 运行验证
步骤1 分别在agent1,agent2,agent3上启动ZooKeeper。cd /usr/local/zookeeper/bin./zkServer.sh start
鲲鹏大数据解决方案部署指南(Apache) 5 Hive 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 53
说明
您可以分别在agent1,agent2,agent3上停止ZooKeeper。cd /usr/local/zookeeper/bin./zkServer.sh stop
步骤2 查看ZooKeeper状态。./zkServer.sh status
----结束
5.5 部署 Hadoop
5.5.1 下载并解压 Hadoop步骤1 下载Hadoop软件包。
下载地址:https://archive.apache.org/dist/hadoop/core/hadoop-3.1.1/
步骤2 将hadoop-3.1.1.tar.gz放置于server1节点的“/usr/local”目录,并解压。mv hadoop-3.1.1.tar.gz /usr/localcd /usr/localtar -zxvf hadoop-3.1.1.tar.gz
步骤3 建立软链接,便于后期版本更换。ln -s hadoop-3.1.1 hadoop
----结束
5.5.2 添加 Hadoop 到环境变量步骤1 编辑“/etc/profile”文件。
vim /etc/profile
步骤2 在文件底部添加环境变量,如下所示:export HADOOP_HOME=/usr/local/hadoopexport PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
步骤3 环境变量生效。source /etc/profile
----结束
5.5.3 修改 Hadoop 配置文件
说明
Hadoop所有的配置文件都在“$HADOOP_HOME/etc/hadoop”目录下,修改以下配置文件前,需要切换到“HADOOP_HOME/etc/hadoop”目录。
cd $HADOOP_HOME/etc/hadoop
修改 hadoop-env.sh修改环境变量JAVA_HOME为绝对路径,并将用户指定为root。
echo "export JAVA_HOME=/usr/local/jdk8u252-b09" >> hadoop-env.shecho "export HDFS_NAMENODE_USER=root" >> hadoop-env.sh
鲲鹏大数据解决方案部署指南(Apache) 5 Hive 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 54
echo "export HDFS_SECONDARYNAMENODE_USER=root" >> hadoop-env.shecho "export HDFS_DATANODE_USER=root" >> hadoop-env.sh
修改 yarn-env.sh
修改用户为root。
echo "export YARN_REGISTRYDNS_SECURE_USER=root" >> yarn-env.shecho "export YARN_RESOURCEMANAGER_USER=root" >> yarn-env.shecho "export YARN_NODEMANAGER_USER=root" >> yarn-env.sh
修改 core-site.xml
步骤1 编辑core-site.xml文件。vim core-site.xml
步骤2 添加或修改configuration标签范围内的参数。<property> <name>fs.defaultFS</name> <value>hdfs://server1:9000</value></property><property> <name>hadoop.tmp.dir</name> <value>/home/hadoop_tmp_dir</value></property><property> <name>ipc.client.connect.max.retries</name> <value>100</value></property><property> <name>ipc.client.connect.retry.interval</name> <value>10000</value></property>
须知
在节点server1上创建目录。mkdir /home/hadoop_tmp_dir
----结束
修改 hdfs-site.xml
步骤1 修改hdfs-site.xml文件。vim hdfs-site.xml
步骤2 添加或修改configuration标签范围内的参数。<property> <name>dfs.replication</name> <value>1</value></property><property> <name>dfs.namenode.name.dir</name> <value>/data/data1/hadoop/nn</value></property><property> <name>dfs.datanode.data.dir</name> <value>/data/data1/hadoop/dn,/data/data2/hadoop/dn,/data/data3/hadoop/dn,/data/data4/hadoop/dn,/data/data5/hadoop/dn,/data/data6/hadoop/dn,/data/data7/hadoop/dn,/data/data8/hadoop/dn,/data/data9/hadoop/dn,/data/data10/hadoop/dn,/data/data11/hadoop/dn,/data/data12/hadoop/dn</value>
鲲鹏大数据解决方案部署指南(Apache) 5 Hive 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 55
</property><property> <name>dfs.http.address</name> <value>server1:50070</value></property><property> <name>dfs.namenode.http-bind-host</name> <value>0.0.0.0</value></property><property> <name>dfs.datanode.handler.count</name> <value>600</value></property><property> <name>dfs.namenode.handler.count</name> <value>600</value></property><property> <name>dfs.namenode.service.handler.count</name> <value>600</value></property><property> <name>ipc.server.handler.queue.size</name> <value>300</value></property>
须知
节点agent1、agent2、agent3分别创建dfs.datanode.data.dir对应目录。
举例:mkdir -p /data/data{1,2,3,4,5,6,7,8,9,10,11,12}/hadoop
----结束
修改 mapred-site.xml
步骤1 编辑mapred-site.xml文件。vim mapred-site.xml
步骤2 添加或修改configuration标签范围内的参数。<property> <name>mapreduce.framework.name</name> <value>yarn</value> <final>true</final> <description>The runtime framework for executing MapReduce jobs</description></property><property> <name>mapreduce.job.reduce.slowstart.completedmaps</name> <value>0.88</value></property><property> <name>mapreduce.application.classpath</name> <value> /usr/local/hadoop/etc/hadoop, /usr/local/hadoop/share/hadoop/common/*, /usr/local/hadoop/share/hadoop/common/lib/*, /usr/local/hadoop/share/hadoop/hdfs/*, /usr/local/hadoop/share/hadoop/hdfs/lib/*, /usr/local/hadoop/share/hadoop/mapreduce/*, /usr/local/hadoop/share/hadoop/mapreduce/lib/*, /usr/local/hadoop/share/hadoop/yarn/*, /usr/local/hadoop/share/hadoop/yarn/lib/* </value>
鲲鹏大数据解决方案部署指南(Apache) 5 Hive 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 56
</property><property> <name>mapreduce.map.memory.mb</name> <value>6144</value></property><property> <name>mapreduce.reduce.memory.mb</name> <value>6144</value> </property> <property> <name>mapreduce.map.java.opts</name> <value>-Xmx5530m</value></property><property> <name>mapreduce.reduce.java.opts</name> <value>-Xmx2765m</value></property><property> <name>mapred.child.java.opts</name> <value>-Xmx2048m -Xms2048m</value></property><property> <name>mapred.reduce.parallel.copies</name> <value>20</value></property><property> <name>yarn.app.mapreduce.am.env</name> <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value></property><property> <name>mapreduce.map.env</name> <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value></property><property> <name>mapreduce.reduce.env</name> <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value></property>
----结束
修改 yarn-site.xml步骤1 编辑yarn-site.xml文件。
vim yarn-site.xml
步骤2 添加或修改configuration标签范围内的参数。<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> <final>true</final></property><property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value></property><property> <name>yarn.resourcemanager.hostname</name> <value>server1</value></property><property> <name>yarn.resourcemanager.bind-host</name> <value>0.0.0.0</value></property><property> <name>yarn.scheduler.maximum-allocation-mb</name> <value>65536</value></property><property>
鲲鹏大数据解决方案部署指南(Apache) 5 Hive 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 57
<name>yarn.nodemanager.resource.memory-mb</name> <value>102400</value></property><property> <name>yarn.nodemanager.resource.cpu-vcores</name> <value>48</value></property><property> <name>yarn.log-aggregation-enable</name> <value>true</value></property><property> <name>yarn.client.nodemanager-connect.max-wait-ms</name> <value>300000</value></property><property> <name>yarn.nodemanager.vmem-pmem-ratio</name> <value>7.1</value></property><property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value></property><property> <name>yarn.nodemanager.pmem-check-enabled</name> <value>false</value></property><property> <name>yarn.scheduler.minimum-allocation-mb</name> <value>3072</value></property><property> <name>yarn.app.mapreduce.am.resource.mb</name> <value>3072</value></property><property> <name>yarn.scheduler.maximum-allocation-vcores</name> <value>48</value></property><property> <name>yarn.application.classpath</name> <value> /usr/local/hadoop/etc/hadoop, /usr/local/hadoop/share/hadoop/common/*, /usr/local/hadoop/share/hadoop/common/lib/*, /usr/local/hadoop/share/hadoop/hdfs/*, /usr/local/hadoop/share/hadoop/hdfs/lib/*, /usr/local/hadoop/share/hadoop/mapreduce/*, /usr/local/hadoop/share/hadoop/mapreduce/lib/*, /usr/local/hadoop/share/hadoop/yarn/*, /usr/local/hadoop/share/hadoop/yarn/lib/* </value></property>
须知
节点agent1、agent2、agent3分别创建${yarn.nodemanager.local-dirs对应目录}。举例:mkdir -p /data/data{1,2,3,4,5,6,7,8,9,10,11,12}/yarn
----结束
鲲鹏大数据解决方案部署指南(Apache) 5 Hive 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 58
修改 slaves OR workers
步骤1 确认hadoop版本,3.x以下的版本编辑slaves文件,3.x及以上的编辑workers文件
步骤2 编辑文件(本文版本3.1.1)。vim workers
步骤3 修改workers文件,只保存所有agent节点的IP地址(可用主机名代替),其余内容均删除。agent1agent2agent3
----结束
5.5.4 同步配置到其它节点
步骤1 所有节点依次创建。mkdir -p /usr/local/hadoop-3.1.1/journaldata
步骤2 拷贝hadoop-3.1.1到agent1、agent2、agent3节点的“/usr/local”目录。scp -r /usr/local/hadoop-3.1.1 root@agent1:/usr/localscp -r /usr/local/hadoop-3.1.1 root@agent2:/usr/localscp -r /usr/local/hadoop-3.1.1 root@agent3:/usr/local
步骤3 分别登录到agent1、agent2、agent3节点,为hadoop-3.1.1建立软链接。cd /usr/localln -s hadoop-3.1.1 hadoop
----结束
5.5.5 启动 Hadoop 集群
须知
本章节下面的子章节必须按顺序操作。
步骤1 启动ZooKeeper集群。
分别在agent1,agent2,agent3节点上启动ZooKeeper。
cd /usr/local/zookeeper/bin./zkServer.sh start
步骤2 启动JournalNode。
分别在agent1,agent2,agent3节点上启动JournalNode。
说明
只在第一次进行格式化操作时,需要执行步骤2-步骤4,完成格式化后,下次启动集群,只需要执行步骤1、步骤5、步骤6。
cd /usr/local/hadoop/sbin./hadoop-daemon.sh start journalnode
鲲鹏大数据解决方案部署指南(Apache) 5 Hive 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 59
步骤3 格式化HDFS。
1. 在server1节点上格式化HDFS。hdfs namenode -format
2. 格式化后集群会根据core-site.xml配置的hadoop.tmp.dir参数生成目录。
本文档配置目录为“/home/hadoop_tmp”。
步骤4 格式化ZKFC。
在server1节点上格式化ZKFC。
hdfs zkfc -formatZK
步骤5 启动HDFS。
在server1节点上启动HDFS。
cd /usr/local/hadoop/sbin./start-dfs.sh
步骤6 启动Yarn。
在server1节点上启动Yarn。
cd /usr/local/hadoop/sbin./start-yarn.sh
步骤7 观察进程是否都正常启动。
说明
此操作在所有节点上执行,其中server节点应启动的进程以server1的截图为准,agent节点应启动的进程以agent1的截图为准。
jps
----结束
5.5.6 验证 Hadoop在浏览器中输入URL地址,访问Hadoop Web页面,URL格式为“http://server1:50070”。
其中,“server1”填写serber进程所在节点的IP地址。通过观察Live Nodes是否与agent数目相等(本文是3)、Dead Nodes是否为0,判断集群是否正常启动。
鲲鹏大数据解决方案部署指南(Apache) 5 Hive 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 60
5.6 部署 Hive
5.6.1 安装 MariaDBHive需将元数据保存在数据库中,则在安装Hive前,需先安装数据库软件,并在hive-site.xml中配置数据库相关信息。常见的数据库有Derby、MySQL、MariaDB等,本文档基于MariaDB部署,其余数据库部署方式类似。
步骤1 在server1节点安装MariaDB。
说明
默认已配好yum源。
yum install mariadb*
配置启动。
systemctl start mariadb.service
配置开机自动启动(可选)。
systemctl enable mariadb.service
步骤2 配置权限与密码。
1. 登录数据库,敲两次回车,第一次登录没密码。mysql -uroot -p
2. 为root用户赋予全部权限。mysql> grant all on *.* to root@'server1' identified by 'root';
3. 刷新授权。mysql> flush privileges;
4. 设置密码,根据情况自行调整。mysql> set password for root@localhost=password('123456');
鲲鹏大数据解决方案部署指南(Apache) 5 Hive 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 61
步骤3 设置utf-8字符编码。
1. 打开my.cnf配置文件。vim /etc/my.cnf
2. 在[mysqld]标签下添加以下内容。init_connect='SET collation_connection = utf8_unicode_ci'init_connect='SET NAMES utf8'character-set-server=utf8collation-server=utf8_unicode_ciskip-character-set-client-handshake
3. 打开client.cnf配置文件。vim /etc/my.cnf.d/client.cnf
4. 在[client]标签下添加以下内容。default-character-set=utf8
5. 打开mysql-clients.cnf配置文件。vim /etc/my.cnf.d/mysql-clients.cnf
6. 在[mysql]标签下添加以下内容。default-character-set=utf8
7. 全部配置完成后,重启MariaDB。systemctl restart mariadb
----结束
5.6.2 下载并解压 hive步骤1 下载Hive。
下载地址:https://archive.apache.org/dist/hive/hive-3.1.0/
步骤2 将apache-hive-3.1.0-bin.tar.gz放置于server1节点的“/usr/local”目录下,并解压。mv apache-hive-3.1.0-bin.tar.gz /usr/localtar -zxvf apache-hive-3.1.0-bin.tar.gz
步骤3 建立软链接,便于后期版本更换。ln -s apache-hive-3.1.0-bin hive
----结束
5.6.3 添加 Hive 到环境变量
步骤1 打开配置文件。vim /etc/profile
步骤2 添加Hive到环境变量。export HIVE_HOME=/usr/local/hiveexport PATH=$HIVE_HOME/bin:$PATH
步骤3 环境变量生效。source /etc/profile
----结束
鲲鹏大数据解决方案部署指南(Apache) 5 Hive 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 62
5.6.4 修改 Hive 配置文件
说明
Hive所有的配置文件都在“$HIVE_HOME/conf”目录下,修改以下配置文件前,需要切换到“$HIVE_HOME/conf”目录。
cd $HIVE_HOME/conf
步骤1 修改hive-env.sh,在文件尾部添加以下内容。cp hive-env.sh.template hive-env.shvim hive-env.shexport JAVA_HOME=/usr/local/jdk8u252-b09export HADOOP_HOME=/usr/local/hadoopexport HIVE_CONF_DIR=/usr/local/hive/conf
步骤2 修改hive-site.xml。cp hive-default.xml.template hive-site.xmlvim hive-site.xml
在文件内容界面下使用?for&#?找到相应行将其替换成for后再将下列值替换。
<name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://server1:3306/hive?createDatabaseIfNotExist=true</value>
<name>javax.jdo.option.ConnectionDriverName</name><value>org.mariadb.jdbc.Driver</value>
<name>javax.jdo.option.ConnectionUserName</name><value>root</value>
<name>javax.jdo.option.ConnectionPassword</name><value>root</value>
<name>hive.exec.local.scratchdir</name><value>/tmp/hive</value>
<name>hive.downloaded.resources.dir</name><value>/tmp/${hive.session.id}_resources</value>
<name>hive.querylog.location</name><value>/tmp/hive</value>
<name>hive.server2.logging.operation.log.location</name><value>/tmp/hive/operation_logs</value>
步骤3 下载JDBC。
下载对应的JDBC驱动,并放置于“/usr/local/hive/lib”目录,本次部署选择mariadb-java-client-2.3.0.jar。
下载链接:https://downloads.mariadb.com/Connectors/java/
步骤4 创建Hive数据存放目录。/usr/local/hadoop/bin/hadoop fs -mkdir /tmp/usr/local/hadoop/bin/hadoop fs -mkdir -p /user/hive/warehouse/usr/local/hadoop/bin/hadoop fs -chmod g+w /tmp/usr/local/hadoop/bin/hadoop fs -chmod g+w /user/hive/warehouse
----结束
5.6.5 启动与验证 Hive步骤1 启动Hive。
/usr/local/hive/bin/hive
鲲鹏大数据解决方案部署指南(Apache) 5 Hive 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 63
步骤2 查看已创建的数据库,验证功能正常。show databases;
说明
若报错可以尝试初始化后重新执行。
schematool -dbType mysql -initSchema
步骤3 退出Hive界面。quit;
----结束
鲲鹏大数据解决方案部署指南(Apache) 5 Hive 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 64
6 Kafka 部署指南(CentOS 7.6)
6.1 介绍
6.2 环境要求
6.3 配置部署环境
6.4 部署ZooKeeper
6.5 部署Kafka
6.1 介绍
简要介绍
本文档重点介绍软件部署步骤,并不涉及软件源码编译步骤。
文档中使用的软件都是从官网下载获取,这类软件多基于x86环境编译得到,软件内如果包含非跨平台语言(如C/C++)实现的模块,直接在TaiShan服务器上使用会出现不兼容的问题,需下载对应软件源码包进行编译,然后部署。但不管软件包是在哪种环境下编译得到,部署步骤都是一致的。
建议的版本
软件 版本 获取方法
OpenJDK jdk8u252-b09 ARM: https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gzx86: https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz
鲲鹏大数据解决方案部署指南(Apache) 6 Kafka 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 65
软件 版本 获取方法
ZooKeeper 3.4.6 在ZooKeeper官网下载所需版本的软件包。
下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/
Kafka 2.11-2.2.0 在官网下载所需版本的软件包。
下载地址:https://archive.apache.org/dist/kafka/2.2.0/
6.2 环境要求
硬件要求
低配置:任意CPU、一根内存(大小不限)、一块硬盘(大小不限)。
具体配置视实际应用场景而定。
操作系统要求
适用于CentOS 7.4-7.6。
说明
本文以CentOS 7.6为例,介绍Kafka集群部署。
集群环境规划
本章节规划以四台机器分别作为集群的节点1、节点2、节点3、节点4。各个节点数据规格如表6-1所示。
表 6-1 集群环境规划
机器名称 IP地址 硬盘数 OS & JDK
节点1 IPaddress1 系统盘:1 * 4THDD
数据盘:12 * 4THDD
CentOS 7.6 & OpenJDKjdk8u252-b09
节点2 IPaddress2
节点3 IPaddress3
节点4 IPaddress4
软件规划
集群各节点的软件规划如表6-2所示。
鲲鹏大数据解决方案部署指南(Apache) 6 Kafka 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 66
表 6-2 软件规划
机器名称
服务名称
节点1 Kafka客户端
节点2 QuorumPeerMain、Kafka
节点3 QuorumPeerMain、Kafka
节点4 QuorumPeerMain、Kafka
6.3 配置部署环境步骤1 依次登录节点1-4,将节点的主机名分别修改为server1、agent1、agent2、agent3。
hostnamectl set-hostname 主机名 --static
步骤2 登录所有节点,修改“/etc/hosts”文件。
在hosts文件中添加集群所有节点的“地址-主机名”映射关系。
IPaddress1 server1IPaddress2 agent1IPaddress3 agent2IPaddress4 agent3
步骤3 登录所有节点,关闭防火墙。systemctl stop firewalld.servicesystemctl disable firewalld.service
步骤4 登录所有节点,配置SSH免密登录。
1. 生成密钥,遇到提示时,按回车。ssh-keygen -t rsa
2. 在每台机器上配置SSH免密登录(包括配置自身节点的免密)。ssh-copy-id -i ~/.ssh/id_rsa.pub root@所有节点IP
步骤5 登录所有节点,安装OpenJDK jdk8u252-b09。
1. 安装OpenJDK jdk8u252-b09。
ARM:tar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz -C /usr/local
x86:tar -zxf OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz -C /usr/local
2. 添加环境变量。vim /etc/profileexport JAVA_HOME=/usr/local/jdk8u252-b09export PATH=$JAVA_HOME/bin:$PATH
3. 生效环境变量。source /etc/profile
4. 查看JDK版本。java -version
----结束
鲲鹏大数据解决方案部署指南(Apache) 6 Kafka 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 67
6.4 部署 ZooKeeper
6.4.1 下载并解压 ZooKeeper步骤1 下载ZooKeeper软件包。
下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/
步骤2 将zookeeper-3.4.6.tar.gz放置于agent1节点的“/usr/local”目录下,并解压。mv zookeeper-3.4.6.tar.gz /usr/localcd /usr/localtar -zxvf zookeeper-3.4.6.tar.gz
步骤3 建立软链接,便于后期版本更换。ln -s zookeeper-3.4.6 zookeeper
----结束
6.4.2 添加 ZooKeeper 到环境变量
步骤1 打开配置文件。vim /etc/profile
步骤2 添加ZooKeeper到环境变量。export ZOOKEEPER_HOME=/usr/local/zookeeperexport PATH=$ZOOKEEPER_HOME/bin:$PATH
步骤3 环境变量生效。source /etc/profile
----结束
6.4.3 修改 ZooKeeper 配置文件
步骤1 进入ZooKeeper所在目录。cd /usr/local/zookeeper/conf
步骤2 拷贝配置文件。cp zoo_sample.cfg zoo.cfg
步骤3 修改配置文件。vim zoo.cfg
1. 修改数据目录。dataDir=/usr/local/zookeeper/tmp
2. 在 后添加如下代码,其中server.1-3是部署ZooKeeper的节点。server.1=agent1:2888:3888server.2=agent2:2888:3888server.3=agent3:2888:3888
鲲鹏大数据解决方案部署指南(Apache) 6 Kafka 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 68
步骤4 保存退出,然后创建一个tmp目录作数据目录。mkdir /usr/local/zookeeper/tmp
步骤5 在tmp目录中创建一个空文件,并向该文件写入ID。touch /usr/local/zookeeper/tmp/myidecho 1 > /usr/local/zookeeper/tmp/myid
----结束
6.4.4 同步配置到其它节点
步骤1 将配置好的ZooKeeper拷贝到其它节点。scp -r /usr/local/zookeeper-3.4.6 root@agent2:/usr/localscp -r /usr/local/zookeeper-3.4.6 root@agent3:/usr/local
步骤2 登录agent2、agent3,创建软链接并修改myid内容。
● agent2:cd /usr/localln -s zookeeper-3.4.6 zookeeperecho 2 > /usr/local/zookeeper/tmp/myid
● agent3:cd /usr/localln -s zookeeper-3.4.6 zookeeperecho 3 > /usr/local/zookeeper/tmp/myid
----结束
6.4.5 运行验证
步骤1 分别在agent1,agent2,agent3上启动ZooKeeper。cd /usr/local/zookeeper/bin./zkServer.sh start
鲲鹏大数据解决方案部署指南(Apache) 6 Kafka 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 69
说明
您可以分别在agent1,agent2,agent3上停止ZooKeeper。cd /usr/local/zookeeper/bin./zkServer.sh stop
步骤2 查看ZooKeeper状态。./zkServer.sh status
----结束
6.5 部署 Kafka
6.5.1 下载并解压 Kafka步骤1 下载Kafka。
下载地址:https://archive.apache.org/dist/kafka/2.2.0/kafka_2.11-2.2.0.tgz
步骤2 将kafka_2.11-2.2.0.tgz放置于agent1节点的“/usr/local”目录下,并解压。mv kafka_2.11-2.2.0.tgz /usr/localtar -zxvf kafka_2.11-2.2.0.tgz
步骤3 建立软链接,便于后期版本更换。ln -s kafka_2.11-2.2.0 kafka
----结束
6.5.2 添加 Kafka 到环境变量步骤1 打开配置文件。
vim /etc/profile
步骤2 添加Kafka到环境变量。export KAFKA_HOME=/usr/local/kafkaexport PATH=$KAFKA_HOME/bin:$PATH
步骤3 环境变量生效。source /etc/profile
----结束
6.5.3 修改 Kafka 配置文件
说明
Kafka所有的配置文件都在“$KAFKA_HOME/config”目录下,修改以下配置文件前,需要切换到“$KAFKA_HOME/config”目录。
cd $KAFKA_HOME/config
步骤1 修改server.properties。
broker.id=0port=6667host.name=agent1log.dirs=/data/data1/kafka,/data/data2/kafka,/data/data3/kafka,/data/data4/kafka,/data/data5/kafka,/data/data6/kafka,/data/data7/kafka,/data/data8/kafka,/data/data9/kafka,/data/data10/kafka,/data/data11/
鲲鹏大数据解决方案部署指南(Apache) 6 Kafka 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 70
kafka,/data/data12/kafkazookeeper.connect=agent1:2181,agent2:2181,agent3:2181
说明
其中,参数host.name可填写agent1对应的IP地址,log.dirs为实际的存储数据路径。
步骤2 同步配置到其它节点。
1. 拷贝kafka_2.11-0.10.1.1到agent2、3的“/usr/local”目录下。scp -r /usr/local/kafka_2.11-2.2.0 root@agent2:/usr/localscp -r /usr/local/kafka_2.11-2.2.0 root@agent3:/usr/local
2. 登录到agent2、3节点,为kafka_2.11-2.2.0建立软链接。cd /usr/localln -s kafka_2.11-2.2.0 kafka
步骤3 修改节点相关参数。
1. 登录agent2,修改server.properties。vim server.properties
broker.id=1host.name=agent2# 可填对应的IP地址
2. 登录agent3,修改server.properties。broker.id=2host.name=agent3# 可填对应的IP地址
----结束
6.5.4 运行验证
步骤1 分别在agent1-3上启动Kafka。cd /usr/local/kafka/bin./kafka-server-start.sh -daemon ../config/server.properties
步骤2 观察进程是否都正常启动。jps
说明
agent节点应启动的进程以agent1为准,server无进程。
步骤3 分别在agent1-3上停止Kafka。cd /usr/local/kafka/bin./kafka-server-stop.sh
----结束
鲲鹏大数据解决方案部署指南(Apache) 6 Kafka 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 71
7 Solr 部署指南(CentOS 7.6)
7.1 介绍
7.2 环境要求
7.3 配置部署环境
7.4 部署ZooKeeper
7.5 部署Solr
7.1 介绍
简要介绍
本文档重点介绍软件部署步骤,并不涉及软件源码编译步骤。
文档中使用的软件都是从官网下载获取,这类软件多基于x86环境编译得到,软件内如果包含非跨平台语言(如C/C++)实现的模块,直接在TaiShan服务器上使用会出现不兼容的问题,需下载对应软件源码包进行编译,然后部署。但不管软件包是在哪种环境下编译得到,部署步骤都是一致的。
建议的版本
软件 版本 获取方法
OpenJDK jdk8u252-b09
ARM: https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gzx86: https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz
ZooKeeper
3.4.6 在ZooKeeper官网下载所需版本的软件包。
下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/
鲲鹏大数据解决方案部署指南(Apache) 7 Solr 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 72
软件 版本 获取方法
Solr 6.2.0 在Solr官网下载所需版本的软件包。
下载地址:https://archive.apache.org/dist/lucene/solr/6.2.0/
Tomcat 8.5.28 在Tomcat官网下载所需版本的软件包。
下载地址:https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.28/bin/
7.2 环境要求
硬件要求
低配置:任意CPU、一根内存(大小不限)、一块硬盘(大小不限)。
具体配置视实际应用场景而定。
操作系统要求
适用于CentOS 7.4-7.6。
说明
本文以CentOS 7.6为例,介绍Solr集群部署。
集群环境规划
本章节规划以四台机器分别作为集群的节点1、节点2、节点3、节点4。各个节点数据规格如表7-1所示。
表 7-1 集群环境规划
机器名称 IP地址 硬盘数 OS & JDK
节点1 IPaddress1 系统盘:1 * 4THDD
数据盘:12 * 4THDD
CentOS 7.6 & OpenJDKjdk8u252-b09
节点2 IPaddress2
节点3 IPaddress3
节点4 IPaddress4
软件规划
集群各节点的软件规划如表7-2所示。
鲲鹏大数据解决方案部署指南(Apache) 7 Solr 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 73
表 7-2 软件规划
机器名称
服务名称
节点1 -
节点2 -QuorumPeerMain、Bootstrap(Solr)
节点3 QuorumPeerMain、Bootstrap(Solr)
节点4 QuorumPeerMain、Bootstrap(Solr)
7.3 配置部署环境步骤1 依次登录节点1-4,将节点的主机名分别修改为server1、agent1、agent2、agent3。
hostnamectl set-hostname 主机名 --static
步骤2 登录所有节点,修改“/etc/hosts”文件。
在hosts文件中添加集群所有节点的“地址-主机名”映射关系。
IPaddress1 server1IPaddress2 agent1IPaddress3 agent2IPaddress4 agent3
步骤3 登录所有节点,关闭防火墙。systemctl stop firewalld.servicesystemctl disable firewalld.service
步骤4 登录所有节点,配置SSH免密登录。
1. 生成密钥,遇到提示时,按回车。ssh-keygen -t rsa
2. 在每台机器上配置SSH免密登录(包括配置自身节点的免密)。ssh-copy-id -i ~/.ssh/id_rsa.pub root@所有节点IP
步骤5 登录所有节点,安装OpenJDK jdk8u252-b09。
1. 安装OpenJDK jdk8u252-b09。
ARM:tar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz -C /usr/local
x86:tar -zxf OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz -C /usr/local
2. 添加环境变量。vim /etc/profileexport JAVA_HOME=/usr/local/jdk8u252-b09export PATH=$JAVA_HOME/bin:$PATH
3. 生效环境变量。source /etc/profile
4. 查看JDK版本。java -version
----结束
鲲鹏大数据解决方案部署指南(Apache) 7 Solr 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 74
7.4 部署 ZooKeeper
7.4.1 下载并解压 ZooKeeper步骤1 下载ZooKeeper软件包。
下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/
步骤2 将zookeeper-3.4.6.tar.gz放置于agent1节点的“/usr/local”目录下,并解压。mv zookeeper-3.4.6.tar.gz /usr/localcd /usr/localtar -zxvf zookeeper-3.4.6.tar.gz
步骤3 建立软链接,便于后期版本更换。ln -s zookeeper-3.4.6 zookeeper
----结束
7.4.2 添加 ZooKeeper 到环境变量
步骤1 打开配置文件。vim /etc/profile
步骤2 添加ZooKeeper到环境变量。export ZOOKEEPER_HOME=/usr/local/zookeeperexport PATH=$ZOOKEEPER_HOME/bin:$PATH
步骤3 环境变量生效。source /etc/profile
----结束
7.4.3 修改 ZooKeeper 配置文件
步骤1 进入ZooKeeper所在目录。cd /usr/local/zookeeper/conf
步骤2 拷贝配置文件。cp zoo_sample.cfg zoo.cfg
步骤3 修改配置文件。vim zoo.cfg
1. 修改数据目录。dataDir=/usr/local/zookeeper/tmp
2. 在 后添加如下代码,其中server.1-3是部署ZooKeeper的节点。server.1=agent1:2888:3888server.2=agent2:2888:3888server.3=agent3:2888:3888
鲲鹏大数据解决方案部署指南(Apache) 7 Solr 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 75
步骤4 保存退出,然后创建一个tmp目录作数据目录。mkdir /usr/local/zookeeper/tmp
步骤5 在tmp目录中创建一个空文件,并向该文件写入ID。touch /usr/local/zookeeper/tmp/myidecho 1 > /usr/local/zookeeper/tmp/myid
----结束
7.4.4 同步配置到其它节点
步骤1 将配置好的ZooKeeper拷贝到其它节点。scp -r /usr/local/zookeeper-3.4.6 root@agent2:/usr/localscp -r /usr/local/zookeeper-3.4.6 root@agent3:/usr/local
步骤2 登录agent2、agent3,创建软链接并修改myid内容。
● agent2:cd /usr/localln -s zookeeper-3.4.6 zookeeperecho 2 > /usr/local/zookeeper/tmp/myid
● agent3:cd /usr/localln -s zookeeper-3.4.6 zookeeperecho 3 > /usr/local/zookeeper/tmp/myid
----结束
7.4.5 运行验证
步骤1 分别在agent1,agent2,agent3上启动ZooKeeper。cd /usr/local/zookeeper/bin./zkServer.sh start
鲲鹏大数据解决方案部署指南(Apache) 7 Solr 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 76
说明
您可以分别在agent1,agent2,agent3上停止ZooKeeper。cd /usr/local/zookeeper/bin./zkServer.sh stop
步骤2 查看ZooKeeper状态。./zkServer.sh status
----结束
7.5 部署 Solr
7.5.1 下载并解压 Solr步骤1 将solr-6.2.0.tgz、apache-tomcat-8.5.28.tar.gz放置于agent1的“/usr/local/
solrCloud”目录下。
说明
“/usr/local/solrCloud”目录需提前创建。
步骤2 解压Solr软件包。tar -zxvf solr-6.2.0.tgz
步骤3 建立软链接,便于后期版本更换。ln -s solr-6.2.0 solr
步骤4 解压Tomcat软件包。tar -zxvf apache-tomcat-8.5.28.tar.gz
步骤5 建立软链接,便于后期版本更换。ln -s apache-tomcat-8.5.28 tomcat
----结束
7.5.2 添加 Solr 到环境变量
步骤1 打开配置文件。vim /etc/profile
步骤2 添加Solr到环境变量。export SOLR_HOME=/usr/local/solrCloudexport PATH=$SOLR_HOME/bin:$PATH
步骤3 环境变量生效。source /etc/profile
----结束
鲲鹏大数据解决方案部署指南(Apache) 7 Solr 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 77
7.5.3 拷贝 Solr 配置至相应目录
说明
Solr安装目录:“/usr/local/solrCloud/solr”
Solr配置文件目录:“/usr/local/solrCloud/solrConfig”
Solr数据文件目录:“/usr/local/solrCloud/solrCores”
Tomcat安装目录:“/usr/local/solrCloud/tomcat”
步骤1 创建Solr配置文件、数据文件目录。mkdir -p /usr/local/solrCloud/{solrConfig,solrCores}
步骤2 拷贝solr-webapps。cp -r /usr/local/solrCloud/solr/server/solr-webapp/webapp /usr/local/solrCloud/tomcat/webapps/solr
步骤3 将“solr/server/lib/ext”目录下的jar文件拷贝到“tomcat/webapps/solr/WEB-INF/lib”目录。cp -r /usr/local/solrCloud/solr/server/lib/ext/*.jar /usr/local/solrCloud/tomcat/webapps/solr/WEB-INF/lib/
步骤4 拷贝配置文件。cp -r /usr/local/solrCloud/solr/server/solr/configsets/basic_configs/conf/* /usr/local/solrCloud/solrConfigcp -r /usr/local/solrCloud/solr/example/files/conf/velocity /usr/local/solrCloud/solrConfigcp /usr/local/solrCloud/solr/server/solr/solr.xml /usr/local/solrCloud/solrCores
----结束
7.5.4 修改配置
步骤1 打开“solrCores/solr.xml”,修改hostPort,保持和tomcat端口一致,本文使用tomcat默认端口8080。vim solrCores/solr.xml<int name="hostPort">8080</int>
步骤2 创建目录。mkdir -p /usr/local/solrCloud/tomcat/conf/Catalina/localhost
步骤3 在“/usr/local/solrCloud/tomcat/conf/Catalina/localhost/”目录下创建solr.xml,添加以下内容:vim /usr/local/solrCloud/tomcat/conf/Catalina/localhost/solr.xml<?xml version="1.0" encoding="UTF-8"?><Context docBase="/usr/local/solrCloud/tomcat/webapps/solr" debug="0" crossContext="true"> <Environment name="solr/home" type="java.lang.String" value="/usr/local/solrCloud/solrCores" override="true"/></Context>
步骤4 修改“/usr/local/solrCloud/tomcat/bin/catalina.sh”。vim /usr/local/solrCloud/tomcat/bin/catalina.sh
添加下面一行内容:
JAVA_OPTS="-DzkHost=Datanode1:2181,Datanode2:2181,Datanode3:2181"
鲲鹏大数据解决方案部署指南(Apache) 7 Solr 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 78
----结束
7.5.5 同步配置到其它节点步骤1 拷贝solrCloud到agent2、agent3的“/usr/local”目录下。
scp -r /usr/local/solrCloud root@agent2:/usr/localscp -r /usr/local/solrCloud root@agent3:/usr/local
步骤2 登录到agent2、agent3节点,为solr和tomcat建立软链接。
说明
可不执行这一步,因为在scp的时候,软链接后的solr和tomcat都变成了真实目录。
cd /usr/local/solrCloudrm -rf solr tomcatln -s solr-6.2.0 solrln -s apache-tomcat-8.5.28 tomcat
----结束
7.5.6 上传配置至 zookeeper 集群步骤1 请提前启动ZooKeeper集群。
步骤2 在Datanode1上传。java -classpath .:/usr/local/solrCloud/tomcat/webapps/solr/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost agent1:2181,agent2:2181,agent3:2181 -confdir /usr/local/solrCloud/solrConfig/ -confname solrconfig
步骤3 查看配置是否成功上传至ZooKeeper。cd /usr/local/zookeeper/bin./zkCli.sh -server agent1:2181ls /configs/solrconfig
步骤4 退出连接。quit
----结束
7.5.7 运行验证步骤1 分别在agent1-3节点启动Tomcat即启动Solr。
/usr/local/solrCloud/tomcat/bin/startup.sh<Connector port="新端口号" protocol="HTTP/1.1"
鲲鹏大数据解决方案部署指南(Apache) 7 Solr 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 79
说明
● 默认8080端口常常被占用,可通过${tomcat}/conf/server.xml修改Tomcat默认访问端口。修改后,请同步修改solrCores/solr.xml的hostPort,具体操作请参见步骤1。
● 您可以分别在agent1-3节点关闭Tomcat即关闭Solr。/usr/local/solrCloud/tomcat/bin/shutdown.sh
步骤2 在浏览器地址栏输入http://agent1:8080/solr/index.html,按Enter,访问Solr。
其中地址栏中,“agent1”填写agnet1进程所在节点的IP地址。
----结束
鲲鹏大数据解决方案部署指南(Apache) 7 Solr 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 80
8 Spark 集群 部署指南(CentOS 7.6)
8.1 介绍
8.2 环境要求
8.3 配置部署环境
8.4 部署ZooKeeper
8.5 部署Hadoop
8.6 部署Spark
8.1 介绍
简要介绍
本文档重点介绍软件部署步骤,并不涉及软件源码编译步骤。
文档中使用的软件都是从官网下载获取,这类软件多基于x86环境编译得到,软件内如果包含非跨平台语言(如C/C++)实现的模块,直接在TaiShan服务器上使用会出现不兼容的问题,需下载对应软件源码包进行编译,然后部署。但不管软件包是在哪种环境下编译得到,部署步骤都是一致的。
建议的版本
软件 版本 获取方法
OpenJDK
jdk8u252-b09
ARM: https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gzx86: https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz
ZooKeeper
3.4.6 在ZooKeeper官网下载所需版本的软件包。
下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/
鲲鹏大数据解决方案部署指南(Apache) 8 Spark 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 81
软件 版本 获取方法
Hadoop 3.1.1 在Hadoop官网下载所需版本的软件包。
下载地址:https://archive.apache.org/dist/hadoop/core/hadoop-3.1.1/
Spark 2.3.2 在Spark官网下载所需版本软件包。
下载地址:https://archive.apache.org/dist/spark/spark-2.3.2/
Scala 2.11.12
在Scala官网下载所需版本软件包。
下载地址:https://downloads.lightbend.com/scala/2.11.12/scala-2.11.12.tgz
Hive 3.1.0 在Hive官网下载所需版本的软件包。
下载地址:https://archive.apache.org/dist/hive/hive-3.1.0/
8.2 环境要求
硬件要求
低配置:任意CPU、一根内存(大小不限)、一块硬盘(大小不限)。
具体配置视实际应用场景而定。
操作系统要求
适用于CentOS 7.4-7.6。
说明
本文以CentOS 7.6为例,介绍Spark集群部署。
集群环境规划
本章节规划以四台机器分别作为集群的节点1、节点2、节点3、节点4。各个节点数据规格如表8-1所示。
表 8-1 集群环境规划
机器名称 IP地址 硬盘数 OS & JDK
节点1 IPaddress1 系统盘:1 * 4THDD
数据盘:12 * 4THDD
CentOS 7.6 & OpenJDKjdk8u252-b09
节点2 IPaddress2
节点3 IPaddress3
节点4 IPaddress4
鲲鹏大数据解决方案部署指南(Apache) 8 Spark 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 82
软件规划
集群各节点的软件规划如表8-2所示。
表 8-2 软件规划
机器名称
服务名称
节点1 Namenode、ResourceManager、Master
节点2 QuorumPeerMain、DataNode、NodeManager、JournalNode、Worker
节点3 QuorumPeerMain、DataNode、NodeManager、JournalNode、Worker
节点4 QuorumPeerMain、DataNode、NodeManager、JournalNode、Worker
8.3 配置部署环境步骤1 依次登录节点1-4,将节点的主机名分别修改为server1、agent1、agent2、agent3。
hostnamectl set-hostname 主机名 --static
步骤2 登录所有节点,修改“/etc/hosts”文件。
在hosts文件中添加集群所有节点的“地址-主机名”映射关系。
IPaddress1 server1IPaddress2 agent1IPaddress3 agent2IPaddress4 agent3
步骤3 登录所有节点,关闭防火墙。systemctl stop firewalld.servicesystemctl disable firewalld.service
步骤4 登录所有节点,配置SSH免密登录。
1. 生成密钥,遇到提示时,按回车。ssh-keygen -t rsa
2. 在每台机器上配置SSH免密登录(包括配置自身节点的免密)。ssh-copy-id -i ~/.ssh/id_rsa.pub root@所有节点IP
步骤5 登录所有节点,安装OpenJDK jdk8u252-b09。
1. 安装OpenJDK jdk8u252-b09。
ARM:tar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz -C /usr/local
x86:tar -zxf OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz -C /usr/local
2. 添加环境变量。vim /etc/profileexport JAVA_HOME=/usr/local/jdk8u252-b09export PATH=$JAVA_HOME/bin:$PATH
鲲鹏大数据解决方案部署指南(Apache) 8 Spark 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 83
3. 生效环境变量。source /etc/profile
4. 查看JDK版本。java -version
----结束
8.4 部署 ZooKeeper
8.4.1 下载并解压 ZooKeeper步骤1 下载ZooKeeper软件包。
下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/
步骤2 将zookeeper-3.4.6.tar.gz放置于agent1节点的“/usr/local”目录下,并解压。mv zookeeper-3.4.6.tar.gz /usr/localcd /usr/localtar -zxvf zookeeper-3.4.6.tar.gz
步骤3 建立软链接,便于后期版本更换。ln -s zookeeper-3.4.6 zookeeper
----结束
8.4.2 添加 ZooKeeper 到环境变量
步骤1 打开配置文件。vim /etc/profile
步骤2 添加ZooKeeper到环境变量。export ZOOKEEPER_HOME=/usr/local/zookeeperexport PATH=$ZOOKEEPER_HOME/bin:$PATH
步骤3 环境变量生效。source /etc/profile
----结束
8.4.3 修改 ZooKeeper 配置文件
步骤1 进入ZooKeeper所在目录。cd /usr/local/zookeeper/conf
步骤2 拷贝配置文件。cp zoo_sample.cfg zoo.cfg
步骤3 修改配置文件。vim zoo.cfg
1. 修改数据目录。dataDir=/usr/local/zookeeper/tmp
2. 在 后添加如下代码,其中server.1-3是部署ZooKeeper的节点。server.1=agent1:2888:3888server.2=agent2:2888:3888server.3=agent3:2888:3888
鲲鹏大数据解决方案部署指南(Apache) 8 Spark 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 84
步骤4 保存退出,然后创建一个tmp目录作数据目录。mkdir /usr/local/zookeeper/tmp
步骤5 在tmp目录中创建一个空文件,并向该文件写入ID。touch /usr/local/zookeeper/tmp/myidecho 1 > /usr/local/zookeeper/tmp/myid
----结束
8.4.4 同步配置到其它节点
步骤1 将配置好的ZooKeeper拷贝到其它节点。scp -r /usr/local/zookeeper-3.4.6 root@agent2:/usr/localscp -r /usr/local/zookeeper-3.4.6 root@agent3:/usr/local
步骤2 登录agent2、agent3,创建软链接并修改myid内容。
● agent2:cd /usr/localln -s zookeeper-3.4.6 zookeeperecho 2 > /usr/local/zookeeper/tmp/myid
● agent3:cd /usr/localln -s zookeeper-3.4.6 zookeeperecho 3 > /usr/local/zookeeper/tmp/myid
----结束
8.4.5 运行验证
步骤1 分别在agent1,agent2,agent3上启动ZooKeeper。cd /usr/local/zookeeper/bin./zkServer.sh start
鲲鹏大数据解决方案部署指南(Apache) 8 Spark 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 85
说明
您可以分别在agent1,agent2,agent3上停止ZooKeeper。cd /usr/local/zookeeper/bin./zkServer.sh stop
步骤2 查看ZooKeeper状态。./zkServer.sh status
----结束
8.5 部署 Hadoop
8.5.1 下载并解压 Hadoop步骤1 下载Hadoop软件包。
下载地址:https://archive.apache.org/dist/hadoop/core/hadoop-3.1.1/
步骤2 将hadoop-3.1.1.tar.gz放置于server1节点的“/usr/local”目录,并解压。mv hadoop-3.1.1.tar.gz /usr/localcd /usr/localtar -zxvf hadoop-3.1.1.tar.gz
步骤3 建立软链接,便于后期版本更换。ln -s hadoop-3.1.1 hadoop
----结束
8.5.2 添加 Hadoop 到环境变量步骤1 编辑“/etc/profile”文件。
vim /etc/profile
步骤2 在文件底部添加环境变量,如下所示:export HADOOP_HOME=/usr/local/hadoopexport PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
步骤3 环境变量生效。source /etc/profile
----结束
8.5.3 修改 Hadoop 配置文件
说明
Hadoop所有的配置文件都在“$HADOOP_HOME/etc/hadoop”目录下,修改以下配置文件前,需要切换到“HADOOP_HOME/etc/hadoop”目录。
cd $HADOOP_HOME/etc/hadoop
修改 hadoop-env.sh修改环境变量JAVA_HOME为绝对路径,并将用户指定为root。
echo "export JAVA_HOME=/usr/local/jdk8u252-b09" >> hadoop-env.shecho "export HDFS_NAMENODE_USER=root" >> hadoop-env.sh
鲲鹏大数据解决方案部署指南(Apache) 8 Spark 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 86
echo "export HDFS_SECONDARYNAMENODE_USER=root" >> hadoop-env.shecho "export HDFS_DATANODE_USER=root" >> hadoop-env.sh
修改 yarn-env.sh
修改用户为root。
echo "export YARN_REGISTRYDNS_SECURE_USER=root" >> yarn-env.shecho "export YARN_RESOURCEMANAGER_USER=root" >> yarn-env.shecho "export YARN_NODEMANAGER_USER=root" >> yarn-env.sh
修改 core-site.xml
步骤1 编辑core-site.xml文件。vim core-site.xml
步骤2 添加或修改configuration标签范围内的参数。<property> <name>fs.defaultFS</name> <value>hdfs://server1:9000</value></property><property> <name>hadoop.tmp.dir</name> <value>/home/hadoop_tmp_dir</value></property><property> <name>ipc.client.connect.max.retries</name> <value>100</value></property><property> <name>ipc.client.connect.retry.interval</name> <value>10000</value></property>
须知
在节点server1上创建目录。mkdir /home/hadoop_tmp_dir
----结束
修改 hdfs-site.xml
步骤1 修改hdfs-site.xml文件。vim hdfs-site.xml
步骤2 添加或修改configuration标签范围内的参数。<property> <name>dfs.replication</name> <value>1</value></property><property> <name>dfs.namenode.name.dir</name> <value>/data/data1/hadoop/nn</value></property><property> <name>dfs.datanode.data.dir</name> <value>/data/data1/hadoop/dn,/data/data2/hadoop/dn,/data/data3/hadoop/dn,/data/data4/hadoop/dn,/data/data5/hadoop/dn,/data/data6/hadoop/dn,/data/data7/hadoop/dn,/data/data8/hadoop/dn,/data/data9/hadoop/dn,/data/data10/hadoop/dn,/data/data11/hadoop/dn,/data/data12/hadoop/dn</value>
鲲鹏大数据解决方案部署指南(Apache) 8 Spark 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 87
</property><property> <name>dfs.http.address</name> <value>server1:50070</value></property><property> <name>dfs.namenode.http-bind-host</name> <value>0.0.0.0</value></property><property> <name>dfs.datanode.handler.count</name> <value>600</value></property><property> <name>dfs.namenode.handler.count</name> <value>600</value></property><property> <name>dfs.namenode.service.handler.count</name> <value>600</value></property><property> <name>ipc.server.handler.queue.size</name> <value>300</value></property>
须知
节点agent1、agent2、agent3分别创建dfs.datanode.data.dir对应目录。
举例:mkdir -p /data/data{1,2,3,4,5,6,7,8,9,10,11,12}/hadoop
----结束
修改 mapred-site.xml
步骤1 编辑mapred-site.xml文件。vim mapred-site.xml
步骤2 添加或修改configuration标签范围内的参数。<property> <name>mapreduce.framework.name</name> <value>yarn</value> <final>true</final> <description>The runtime framework for executing MapReduce jobs</description></property><property> <name>mapreduce.job.reduce.slowstart.completedmaps</name> <value>0.88</value></property><property> <name>mapreduce.application.classpath</name> <value> /usr/local/hadoop/etc/hadoop, /usr/local/hadoop/share/hadoop/common/*, /usr/local/hadoop/share/hadoop/common/lib/*, /usr/local/hadoop/share/hadoop/hdfs/*, /usr/local/hadoop/share/hadoop/hdfs/lib/*, /usr/local/hadoop/share/hadoop/mapreduce/*, /usr/local/hadoop/share/hadoop/mapreduce/lib/*, /usr/local/hadoop/share/hadoop/yarn/*, /usr/local/hadoop/share/hadoop/yarn/lib/* </value>
鲲鹏大数据解决方案部署指南(Apache) 8 Spark 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 88
</property><property> <name>mapreduce.map.memory.mb</name> <value>6144</value></property><property> <name>mapreduce.reduce.memory.mb</name> <value>6144</value> </property> <property> <name>mapreduce.map.java.opts</name> <value>-Xmx5530m</value></property><property> <name>mapreduce.reduce.java.opts</name> <value>-Xmx2765m</value></property><property> <name>mapred.child.java.opts</name> <value>-Xmx2048m -Xms2048m</value></property><property> <name>mapred.reduce.parallel.copies</name> <value>20</value></property><property> <name>yarn.app.mapreduce.am.env</name> <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value></property><property> <name>mapreduce.map.env</name> <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value></property><property> <name>mapreduce.reduce.env</name> <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value></property>
----结束
修改 yarn-site.xml步骤1 编辑yarn-site.xml文件。
vim yarn-site.xml
步骤2 添加或修改configuration标签范围内的参数。<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> <final>true</final></property><property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value></property><property> <name>yarn.resourcemanager.hostname</name> <value>server1</value></property><property> <name>yarn.resourcemanager.bind-host</name> <value>0.0.0.0</value></property><property> <name>yarn.scheduler.maximum-allocation-mb</name> <value>65536</value></property><property>
鲲鹏大数据解决方案部署指南(Apache) 8 Spark 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 89
<name>yarn.nodemanager.resource.memory-mb</name> <value>102400</value></property><property> <name>yarn.nodemanager.resource.cpu-vcores</name> <value>48</value></property><property> <name>yarn.log-aggregation-enable</name> <value>true</value></property><property> <name>yarn.client.nodemanager-connect.max-wait-ms</name> <value>300000</value></property><property> <name>yarn.nodemanager.vmem-pmem-ratio</name> <value>7.1</value></property><property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value></property><property> <name>yarn.nodemanager.pmem-check-enabled</name> <value>false</value></property><property> <name>yarn.scheduler.minimum-allocation-mb</name> <value>3072</value></property><property> <name>yarn.app.mapreduce.am.resource.mb</name> <value>3072</value></property><property> <name>yarn.scheduler.maximum-allocation-vcores</name> <value>48</value></property><property> <name>yarn.application.classpath</name> <value> /usr/local/hadoop/etc/hadoop, /usr/local/hadoop/share/hadoop/common/*, /usr/local/hadoop/share/hadoop/common/lib/*, /usr/local/hadoop/share/hadoop/hdfs/*, /usr/local/hadoop/share/hadoop/hdfs/lib/*, /usr/local/hadoop/share/hadoop/mapreduce/*, /usr/local/hadoop/share/hadoop/mapreduce/lib/*, /usr/local/hadoop/share/hadoop/yarn/*, /usr/local/hadoop/share/hadoop/yarn/lib/* </value></property>
须知
节点agent1、agent2、agent3分别创建${yarn.nodemanager.local-dirs对应目录}。举例:mkdir -p /data/data{1,2,3,4,5,6,7,8,9,10,11,12}/yarn
----结束
鲲鹏大数据解决方案部署指南(Apache) 8 Spark 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 90
修改 slaves OR workers
步骤1 确认hadoop版本,3.x以下的版本编辑slaves文件,3.x及以上的编辑workers文件
步骤2 编辑文件(本文版本3.1.1)。vim workers
步骤3 修改workers文件,只保存所有agent节点的IP地址(可用主机名代替),其余内容均删除。agent1agent2agent3
----结束
8.5.4 同步配置到其它节点
步骤1 所有节点依次创建。mkdir -p /usr/local/hadoop-3.1.1/journaldata
步骤2 拷贝hadoop-3.1.1到agent1、agent2、agent3节点的“/usr/local”目录。scp -r /usr/local/hadoop-3.1.1 root@agent1:/usr/localscp -r /usr/local/hadoop-3.1.1 root@agent2:/usr/localscp -r /usr/local/hadoop-3.1.1 root@agent3:/usr/local
步骤3 分别登录到agent1、agent2、agent3节点,为hadoop-3.1.1建立软链接。cd /usr/localln -s hadoop-3.1.1 hadoop
----结束
8.5.5 启动 Hadoop 集群
须知
本章节下面的子章节必须按顺序操作。
步骤1 启动ZooKeeper集群。
分别在agent1,agent2,agent3节点上启动ZooKeeper。
cd /usr/local/zookeeper/bin./zkServer.sh start
步骤2 启动JournalNode。
分别在agent1,agent2,agent3节点上启动JournalNode。
说明
只在第一次进行格式化操作时,需要执行步骤2-步骤4,完成格式化后,下次启动集群,只需要执行步骤1、步骤5、步骤6。
cd /usr/local/hadoop/sbin./hadoop-daemon.sh start journalnode
鲲鹏大数据解决方案部署指南(Apache) 8 Spark 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 91
步骤3 格式化HDFS。
1. 在server1节点上格式化HDFS。hdfs namenode -format
2. 格式化后集群会根据core-site.xml配置的hadoop.tmp.dir参数生成目录。
本文档配置目录为“/home/hadoop_tmp”。
步骤4 格式化ZKFC。
在server1节点上格式化ZKFC。
hdfs zkfc -formatZK
步骤5 启动HDFS。
在server1节点上启动HDFS。
cd /usr/local/hadoop/sbin./start-dfs.sh
步骤6 启动Yarn。
在server1节点上启动Yarn。
cd /usr/local/hadoop/sbin./start-yarn.sh
步骤7 观察进程是否都正常启动。
说明
此操作在所有节点上执行,其中server节点应启动的进程以server1的截图为准,agent节点应启动的进程以agent1的截图为准。
jps
----结束
8.5.6 验证 Hadoop在浏览器中输入URL地址,访问Hadoop Web页面,URL格式为“http://server1:50070”。
其中,“server1”填写serber进程所在节点的IP地址。通过观察Live Nodes是否与agent数目相等(本文是3)、Dead Nodes是否为0,判断集群是否正常启动。
鲲鹏大数据解决方案部署指南(Apache) 8 Spark 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 92
8.6 部署 Spark
8.6.1 下载并解压 Spark步骤1 下载Spark软件包。
下载地址:https://archive.apache.org/dist/spark/spark-2.3.2/
步骤2 将spark-2.3.2-bin-hadoop2.7.tgz放置于server1节点的“/usr/local”目录,并解压。mv spark-2.3.2-bin-hadoop2.7.tgz /usr/localtar -zxvf spark-2.3.2-bin-hadoop2.7.tgz
步骤3 建立软链接,便于后期版本更换。ln -s spark-2.3.2-bin-hadoop2.7 spark
----结束
8.6.2 添加 Spark 到环境变量
步骤1 编辑“/etc/profile”文件。vim /etc/profile
步骤2 在文件底部添加环境变量,如下所示:export SPARK_HOME=/usr/local/sparkexport PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH
步骤3 环境变量生效。source /etc/profile
----结束
鲲鹏大数据解决方案部署指南(Apache) 8 Spark 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 93
8.6.3 修改 Spark 配置文件
说明
Spark所有的配置文件都在“$SPARK_HOME/conf”目录下,修改以下配置文件前,切换到“$SPARK_HOME/conf”目录。
cd $SPARK_HOME/conf
修改 spark-env.sh
步骤1 以spark-env.sh.template为模板,拷贝一份命名为spark-env.sh。cp spark-env.sh.template spark-env.sh
步骤2 修改环境变量JAVA_HOME为绝对路径,并指定Hadoop目录、Spark master的IP和端口号、Spark所在目录。vim spark-env.shexport JAVA_HOME=/usr/local/jdk8u252-b09export HADOOP_HOME=/usr/local/hadoopexport SCALA_HOME=/usr/local/scalaexport HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoopexport HDP_VERSION=3.1.0
----结束
修改 spark-defaults.conf修改文件。echo "spark.master yarn" >> spark-defaults.confecho "spark.eventLog.enabled true" >> spark-defaults.confecho "spark.eventLog.dir hdfs://server1:9000/spark2-history" >> spark-defaults.confecho "spark.eventLog.compress true" >> spark-defaults.confecho "spark.history.fs.logDirectory hdfs://server1:9000/spark2-history" >> spark-defaults.conf
同步 hadoop 的 core-site.xml 和 hdfs-site.xml同步文件。
cp /usr/local/hadoop/etc/hadoop/core-site.xml /usr/local/spark/confcp /usr/local/hadoop/etc/hadoop/hdfs-site.xml /usr/local/spark/conf
同步 mariadb-java-client 包
同步文件。
cp /usr/local/hive/lib/mariadb-java-client-2.3.0.jar /usr/local/spark/jars
8.6.4 运行 Spark(standalone 模式)
8.6.4.1 同步配置到其它节点
步骤1 拷贝spark-2.3.2-bin-hadoop2.7到agent1、agent2、agent3的“/usr/local”目录。scp -r /usr/local/spark-2.3.2-bin-hadoop2.7 root@agent1:/usr/localscp -r /usr/local/spark-2.3.2-bin-hadoop2.7 root@agent2:/usr/localscp -r /usr/local/spark-2.3.2-bin-hadoop2.7 root@agent2:/usr/local
步骤2 分别登录到agent1、agent2、agent33节点,为spark-2.3.2-bin-hadoop2.7建立软链接。
鲲鹏大数据解决方案部署指南(Apache) 8 Spark 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 94
cd /usr/localln -s spark-2.3.2-bin-hadoop2.7 spark
----结束
8.6.4.2 启动 Spark 集群
在server1节点上启动Spark集群。
cd /usr/local/spark/sbin./start-all.sh
8.6.4.3 (可选)停止 Spark 集群
在server1节点上停止Spark集群。
cd /usr/local/spark/sbin./stop-all.sh
8.6.5 运行 Spark(on yarn 模式)
8.6.5.1 安装 Scala
步骤1 将scala-2.11.12.tgz放置于server1节点的“/usr/local”目录,并解压。tar -zvxf scala-2.11.12.tgz
步骤2 创建软连接。ln -s scala-2.11.12 scala
步骤3 编辑“/etc/profile”。vim /etc/profile
步骤4 文件底部添加环境变量,如下所示:export SCALA_HOME=/usr/local/scalaexport PATH=$SCALA_HOME/bin:$PATH
步骤5 生效环境变量。source /etc/profile
----结束
8.6.5.2 运行在 yarn-client 上
步骤1 提交任务给yarn,进入spark-shell模式。spark-shell --master yarn --deploy-mode client
步骤2 进入yarn的web界面http://server1:8088,能看到新的任务。
其中,"server1"填写Namenode进程所在节点的IP地址。
鲲鹏大数据解决方案部署指南(Apache) 8 Spark 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 95
步骤3 点击Tracking列下具体任务的Application按钮,进入详情界面。
步骤4 点击ApplicationMaster,进入spark界面(若无法直接跳转,就手动将网址上的server1改成实际IP)。
----结束
8.6.5.3 hibench 验证功能
说明
操作中所涉及的集群名字通过Hadoop配置文件core-site.xml的fs.defaultFS参数值设置。
步骤1 上传HiBench-HiBench-7.0至“/opt”目录,进入到“conf”目录中。cd /opt/HiBench-HiBench-7.0/conf
鲲鹏大数据解决方案部署指南(Apache) 8 Spark 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 96
步骤2 修改hadoop.conf文件,将hibench.hadoop.home改成当前存放Hadoop的位置,将hibench.hadf.master改成hdfs://集群名字。
hibench.hadoop.home /usr/local/hadoop/hibench.hdfs.master hdfs://ns1
步骤3 修改spark.conf文件,将hibench.spark.home改成当前存放spark的位置,将hibench.spark.master改成yarn-client模式,将spark.eventLog.dir改成hdfs://集群名字/spark2xJobHistory2。
hibench.spark.home /usr/local/sparkhibench.spark.master yarn-clientspark.eventLog.dir = hdfs://ns1/spark2xJobHistory2
步骤4 在hdfs中创建spark2xJobHistory2x目录,并查看创建结果。hdfs dfs -mkdir /spark2xJobHistory2xhdfs dfs -ls /
步骤5 切换当前目录到HiBench根目录,并生成测试数据。cd /opt/HiBench-HiBench-7.0/bin/workloads/ml/kmeans/prepare/prepare.sh
步骤6 运行测试脚本。bin/workloads/ml/kmeans/spark/run.sh
步骤7 步骤5和6执行的任务均能在yarn的web界面查看application状态,web页面地址http://server1:808。
其中,"server1"填写serber进程所在节点的IP地址。
步骤8 在report/hibench.report中查看测试结果。vim report/hibench.report
鲲鹏大数据解决方案部署指南(Apache) 8 Spark 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 97
----结束
鲲鹏大数据解决方案部署指南(Apache) 8 Spark 集群 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 98
9 Storm 部署指南(CentOS 7.6)
9.1 介绍
9.2 环境要求
9.3 配置部署环境
9.4 部署ZooKeeper
9.5 部署Storm
9.1 介绍
简要介绍
本文档重点介绍软件部署步骤,并不涉及软件源码编译步骤。
文档中使用的软件都是从官网下载获取,这类软件多基于x86环境编译得到,软件内如果包含非跨平台语言(如C/C++)实现的模块,直接在TaiShan服务器上使用会出现不兼容的问题,需下载对应软件源码包进行编译,然后部署。但不管软件包是在哪种环境下编译得到,部署步骤都是一致的。
建议的版本
软件 版本 获取方法
OpenJDK
jdk8u252-b09
ARM:https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gzx86:https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz
ZooKeeper
3.4.6 在ZooKeeper官网下载所需版本的软件包。
下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/
鲲鹏大数据解决方案部署指南(Apache) 9 Storm 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 99
软件 版本 获取方法
Storm 1.2.1 在Storm官网下载所需版本的软件包。
下载地址:https://archive.apache.org/dist/storm/apache-storm-1.2.1/
9.2 环境要求
硬件要求
低配置:任意CPU、一根内存(大小不限)、一块硬盘(大小不限)。
具体配置视实际应用场景而定。
操作系统要求
适用于CentOS 7.4-7.6。
说明
本文以CentOS 7.6为例,介绍Storm集群部署。
集群环境规划
本章节规划以四台机器分别作为集群的节点1、节点2、节点3、节点4。各个节点数据规格如表9-1所示。
表 9-1 集群环境规划
机器名称 IP地址 硬盘数 OS & JDK
节点1 IPaddress1 系统盘:1 * 4THDD
数据盘:12 * 4THDD
CentOS 7.6 & OpenJDKjdk8u252-b09
节点2 IPaddress2
节点3 IPaddress3
节点4 IPaddress4
软件规划
集群各节点的软件规划如表9-2所示。
表 9-2 软件规划
机器名称
服务名称
节点1 -
鲲鹏大数据解决方案部署指南(Apache) 9 Storm 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 100
机器名称
服务名称
节点2 Nimbus、UI
节点3 QuorumPeerMain、Supervisor
节点4 QuorumPeerMain、Supervisor
9.3 配置部署环境步骤1 依次登录节点1-4,将节点的主机名分别修改为server1、agent1、agent2、agent3。
hostnamectl set-hostname 主机名 --static
步骤2 登录所有节点,修改“/etc/hosts”文件。
在hosts文件中添加集群所有节点的“地址-主机名”映射关系。
IPaddress1 server1IPaddress2 agent1IPaddress3 agent2IPaddress4 agent3
步骤3 登录所有节点,关闭防火墙。systemctl stop firewalld.servicesystemctl disable firewalld.service
步骤4 登录所有节点,配置SSH免密登录。
1. 生成密钥,遇到提示时,按回车。ssh-keygen -t rsa
2. 在每台机器上配置SSH免密登录(包括配置自身节点的免密)。ssh-copy-id -i ~/.ssh/id_rsa.pub root@所有节点IP
步骤5 登录所有节点,安装OpenJDK jdk8u252-b09。
1. 安装OpenJDK jdk8u252-b09。
ARM:tar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz -C /usr/local
x86:tar -zxf OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz -C /usr/local
2. 添加环境变量。vim /etc/profileexport JAVA_HOME=/usr/local/jdk8u252-b09export PATH=$JAVA_HOME/bin:$PATH
3. 生效环境变量。source /etc/profile
4. 查看JDK版本。java -version
----结束
9.4 部署 ZooKeeper
鲲鹏大数据解决方案部署指南(Apache) 9 Storm 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 101
9.4.1 下载并解压 ZooKeeper步骤1 下载ZooKeeper软件包。
下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/
步骤2 将zookeeper-3.4.6.tar.gz放置于agent1节点的“/usr/local”目录下,并解压。mv zookeeper-3.4.6.tar.gz /usr/localcd /usr/localtar -zxvf zookeeper-3.4.6.tar.gz
步骤3 建立软链接,便于后期版本更换。ln -s zookeeper-3.4.6 zookeeper
----结束
9.4.2 添加 ZooKeeper 到环境变量
步骤1 打开配置文件。vim /etc/profile
步骤2 添加ZooKeeper到环境变量。export ZOOKEEPER_HOME=/usr/local/zookeeperexport PATH=$ZOOKEEPER_HOME/bin:$PATH
步骤3 环境变量生效。source /etc/profile
----结束
9.4.3 修改 ZooKeeper 配置文件
步骤1 进入ZooKeeper所在目录。cd /usr/local/zookeeper/conf
步骤2 拷贝配置文件。cp zoo_sample.cfg zoo.cfg
步骤3 修改配置文件。vim zoo.cfg
1. 修改数据目录。dataDir=/usr/local/zookeeper/tmp
2. 在 后添加如下代码,其中server.1-3是部署ZooKeeper的节点。server.1=agent1:2888:3888server.2=agent2:2888:3888server.3=agent3:2888:3888
鲲鹏大数据解决方案部署指南(Apache) 9 Storm 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 102
步骤4 保存退出,然后创建一个tmp目录作数据目录。mkdir /usr/local/zookeeper/tmp
步骤5 在tmp目录中创建一个空文件,并向该文件写入ID。touch /usr/local/zookeeper/tmp/myidecho 1 > /usr/local/zookeeper/tmp/myid
----结束
9.4.4 同步配置到其它节点
步骤1 将配置好的ZooKeeper拷贝到其它节点。scp -r /usr/local/zookeeper-3.4.6 root@agent2:/usr/localscp -r /usr/local/zookeeper-3.4.6 root@agent3:/usr/local
步骤2 登录agent2、agent3,创建软链接并修改myid内容。
● agent2:cd /usr/localln -s zookeeper-3.4.6 zookeeperecho 2 > /usr/local/zookeeper/tmp/myid
● agent3:cd /usr/localln -s zookeeper-3.4.6 zookeeperecho 3 > /usr/local/zookeeper/tmp/myid
----结束
9.4.5 运行验证
步骤1 分别在agent1,agent2,agent3上启动ZooKeeper。cd /usr/local/zookeeper/bin./zkServer.sh start
鲲鹏大数据解决方案部署指南(Apache) 9 Storm 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 103
说明
您可以分别在agent1,agent2,agent3上停止ZooKeeper。cd /usr/local/zookeeper/bin./zkServer.sh stop
步骤2 查看ZooKeeper状态。./zkServer.sh status
----结束
9.5 部署 Storm
9.5.1 下载并解压 Storm步骤1 下载Storm软件包。
下载地址:https://archive.apache.org/dist/storm/apache-storm-1.2.1/apache-storm-1.2.1.tar.gz
步骤2 将apache-storm-1.2.1.tar.gz放置于server1节点的“/usr/local”目录下,并解压。mv apache-storm-1.2.1.tar.gz /usr/localtar -zxvf apache-storm-1.2.1.tar.gz
步骤3 建立软链接,便于后期版本更换。ln -s apache-storm-1.2.1 storm
----结束
9.5.2 添加 Storm 到环境变量步骤1 打开配置文件。
vim /etc/profile
步骤2 添加Storm到环境变量。export STORM_HOME=/usr/local/stormexport PATH=$STORM_HOME/bin:$PATH
步骤3 环境变量生效。source /etc/profile
----结束
9.5.3 修改 Storm 配置文件
说明
Storm所有的配置文件都在“$STORM_HOME/conf”目录下,修改以下配置文件前,需要切换到“$STORM_HOME/conf”目录。
cd $STORM_HOME/conf
修改storm.yaml。
storm.zookeeper.servers:- "agent1"# 可改成对应的IP地址- "agent2"- "agent3"
鲲鹏大数据解决方案部署指南(Apache) 9 Storm 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 104
storm.zookeeper.port: 2181storm.local.dir: "/usr/local/storm/stormLocal"# 需手动创建nimbus.seeds: ["server1"]# 可改成对应的IP地址supervisor.slots.ports:# slot个数视情况而定- 6700- 6701- 6702- 6703storm.health.check.dir: "healthchecks"storm.health.check.timeout.ms: 5000
9.5.4 同步配置到其它节点
步骤1 拷贝apache-storm-1.2.1到agent1-3的“/usr/local”目录下。scp -r /usr/local/apache-storm-1.2.1 root@agent1:/usr/localscp -r /usr/local/apache-storm-1.2.1 root@agent2:/usr/localscp -r /usr/local/apache-storm-1.2.1 root@agent3:/usr/local
步骤2 登录到agent1-3节点,为apache-storm-1.2.1建立软链接。cd /usr/localln -s apache-storm-1.2.1 storm
----结束
9.5.5 运行验证
步骤1 启动Storm集群。
1. 根据部署ZooKeeper--运行验证章节步骤,启动ZooKeeper集群。
2. 在server1启动。/usr/local/storm/bin/storm nimbus &/usr/local/storm/bin/storm ui &
3. 分别在agent1-3上启动。/usr/local/storm/bin/storm supervisor &
4. 观察进程是否都正常启动。其中,名为core的进程就是ui进程。jps
说明
在所有节点上观察进程启动情况,其中server节点应启动的进程以server1的进程为准,agent节点应启动的进程以agent1的进程为准。执行后需要等待约30秒,等服务正常启动后再去连接其他机器,否则会导致启动失败(重新启动即可)。
步骤2 停止Storm集群。
1. server1。jps | grep nimbus | grep -v grep | awk '{print $1}' | xargs kill -9jps | grep core | grep -v grep | awk '{print $1}' | xargs kill -9
2. agent1-3。jps | grep Supervisor | grep -v grep | awk '{print $1}' | xargs kill -9
鲲鹏大数据解决方案部署指南(Apache) 9 Storm 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 105
3. 根据部署ZooKeeper--运行验证章节步骤,停止ZooKeeper集群。
----结束
鲲鹏大数据解决方案部署指南(Apache) 9 Storm 部署指南(CentOS 7.6)
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 106
A 修订记录
发布日期 修订记录
2020-07-24
第三次正式发布
原Elasticsearch和Redis部署相关内容挪至其他分类,详见《Elasticsearch 部署指南(CentOS 7.6)》和《Redis 部署指南(CentOS 7.6)》。
2020-05-23
第二次正式发布
● 修正《ZooKeeper 部署指南(CentOS 7.6)》“1.4.3 修改ZooKeeper配置文件”中部分描述;
● 修正《Elasticsearch 部署指南(CentOS 7.6)》“环境要求”和“配置部署环境”中部分描述及“修改Elasticsearch配置文件”和“同步配置到其它节点”中参数说明呈现方式;
● 修正《Flink 部署指南(CentOS 7.6)》“3.6.3 修改Flink配置文件”中参数说明呈现方式;
● 修改《HBase集群 部署指南(CentOS 7.6)》“4.6.5 启动HBase集群”章节部分描述;
● 修正《Kafka 部署指南(CentOS 7.6)》“6.5.3 修改Kafka配置文件”中参数说明呈现方式;
● 修改《Redis 部署指南(CentOS 7.6)》“搭建集群”中部分描述;
● 删除《Spark 部署指南(CentOS 7.6)》原“故障排除”章节;
● 修改《Spark 部署指南(CentOS 7.6)》“8.6.5.3 hibench验证功能”章节中部分描述。
2020-03-20
第一次正式发布
鲲鹏大数据解决方案部署指南(Apache) A 修订记录
文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 107