部署指南(apache...鲲鹏大数据解决方案 部署指南(apache) 文档版本 03...

114
鲲鹏大数据解决方案 部署指南(Apache文档版本 03 发布日期 2020-07-24 华为技术有限公司

Upload: others

Post on 20-Sep-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

鲲鹏大数据解决方案

部署指南(Apache)

文档版本 03

发布日期 2020-07-24

华为技术有限公司

Page 2: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

版权所有 © 华为技术有限公司 2021。 保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。 商标声明

和其他华为商标均为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。 注意

您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或默示的声明或保证。

由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。

文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 i

Page 3: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

目 录

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

Page 4: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 5: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 6: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 7: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 8: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 9: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 10: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 11: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

步骤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

Page 12: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

步骤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

Page 13: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 14: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

软件 版本 获取方法

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

Page 15: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

机器名称 服务名称

节点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

Page 16: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 17: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

步骤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

Page 18: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

说明

您可以分别在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

Page 19: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-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) 2 Hadoop 集群 部署指南(CentOS 7.6)

文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 12

Page 20: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

</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

Page 21: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

</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

Page 22: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

<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

Page 23: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

修改 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

Page 24: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

步骤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

Page 25: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 26: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 27: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

软件 版本 获取方法

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

Page 28: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

表 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

Page 29: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 30: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

步骤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

Page 31: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

说明

您可以分别在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

Page 32: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-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

Page 33: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

</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

Page 34: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

</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

Page 35: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

<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

Page 36: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

修改 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

Page 37: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

步骤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

Page 38: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 39: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 40: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 41: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

软件 版本 获取方法

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

Page 42: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

表 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

Page 43: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 44: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

步骤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

Page 45: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

说明

您可以分别在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

Page 46: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-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) 4 HBase 集群 部署指南(CentOS 7.6)

文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 39

Page 47: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

</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

Page 48: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

</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

Page 49: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

<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

Page 50: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

修改 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

Page 51: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

步骤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

Page 52: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 53: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 54: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

步骤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

Page 55: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 56: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 57: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

软件 版本 获取方法

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

Page 58: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

表 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

Page 59: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 60: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

步骤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

Page 61: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

说明

您可以分别在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

Page 62: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-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) 5 Hive 部署指南(CentOS 7.6)

文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 55

Page 63: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

</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

Page 64: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

</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

Page 65: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

<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

Page 66: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

修改 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

Page 67: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

步骤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

Page 68: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 69: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

步骤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

Page 70: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 71: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

步骤2 查看已创建的数据库,验证功能正常。show databases;

说明

若报错可以尝试初始化后重新执行。

schematool -dbType mysql -initSchema

步骤3 退出Hive界面。quit;

----结束

鲲鹏大数据解决方案部署指南(Apache) 5 Hive 部署指南(CentOS 7.6)

文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 64

Page 72: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 73: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

软件 版本 获取方法

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

Page 74: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

表 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

Page 75: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 76: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

步骤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

Page 77: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

说明

您可以分别在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

Page 78: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 79: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 80: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

软件 版本 获取方法

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

Page 81: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

表 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

Page 82: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 83: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

步骤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

Page 84: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

说明

您可以分别在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

Page 85: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 86: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

----结束

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

Page 87: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

说明

● 默认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

Page 88: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 89: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

软件 版本 获取方法

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

Page 90: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

软件规划

集群各节点的软件规划如表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

Page 91: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 92: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

步骤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

Page 93: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

说明

您可以分别在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

Page 94: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-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) 8 Spark 集群 部署指南(CentOS 7.6)

文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 87

Page 95: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

</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

Page 96: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

</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

Page 97: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

<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

Page 98: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

修改 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

Page 99: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

步骤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

Page 100: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 101: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 102: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 103: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

步骤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

Page 104: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

步骤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

Page 105: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

----结束

鲲鹏大数据解决方案部署指南(Apache) 8 Spark 集群 部署指南(CentOS 7.6)

文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 98

Page 106: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 107: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

软件 版本 获取方法

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

Page 108: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

机器名称

服务名称

节点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

Page 109: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 110: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

步骤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

Page 111: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

说明

您可以分别在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

Page 112: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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

Page 113: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

3. 根据部署ZooKeeper--运行验证章节步骤,停止ZooKeeper集群。

----结束

鲲鹏大数据解决方案部署指南(Apache) 9 Storm 部署指南(CentOS 7.6)

文档版本 03 (2020-07-24) 版权所有 © 华为技术有限公司 106

Page 114: 部署指南(Apache...鲲鹏大数据解决方案 部署指南(Apache) 文档版本 03 发布日期 2020-07-24 华为技术有限公司

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