diff --git a/content/post/hbase.md b/content/post/hbase.md deleted file mode 100644 index e3daf9f..0000000 --- a/content/post/hbase.md +++ /dev/null @@ -1,130 +0,0 @@ ---- -title: "hbase 部署" -date: 2023-05-23T18:00:00+08:00 -lastmod: 2025-12-01T10:00:00+08:00 -keywords: [] -tags: ["hadoop", "hbase"] -categories: ["hadoop"] ---- - -## 环境 -操作系统 | 主机名 | 地址 | 运行组件 ----- | ---- | ---- | ---- -Rocky9 | hbase-m30 | 192.168.8.30/24 | hbase Master -Rocky9 | hbase-bm31 | 192.168.8.31/24 | hbase Backup Master -Rocky9 | hbase-rs32 | 192.168.8.32/24 | hbase Rigion Server -Rocky9 | hbase-rs33 | 192.168.8.33/24 | hbase Rigion Server - -## 前提 -- [已部署好 hadoop 2.10](/post/hdp2) -- [已部署好 zookeeper 3.4 以上版本](/post/zk-install) - -## 服务器初始配置 -- 在**全部主机**上执行如下操作 -- 禁用防火墙 -- 禁用 selinux -- 配置时间同步 -- 配置主机名解析 - ```bash - echo "192.168.8.1 hdp-nn" >> /etc/hosts - echo "192.168.8.2 hdp-snn" >> /etc/hosts - echo "192.168.8.3 hdp-dn" >> /etc/hosts - echo "192.168.8.10 hdp-slave10" >> /etc/hosts - echo "192.168.8.11 hdp-slave11" >> /etc/hosts - echo "192.168.8.30 hbase-m30" >> /etc/hosts - echo "192.168.8.31 hbase-bm31" >> /etc/hosts - echo "192.168.8.32 hbase-region32" >> /etc/hosts - echo "192.168.8.33 hbase-region33" >> /etc/hosts - ``` - -## ssh 免密登录 -- 配置 **hbase-m30** 可以 ssh 免密登录 hbase-m30、hbase-bm31 和 hbase-rsXX - ```bash - # 在 hbase-m30 上执行如下操作 - ssh-copy-id hbase-m30 - ssh-copy-id hbase-bm31 - ssh-copy-id hbase-rs32 - ssh-copy-id hbase-rs33 - ``` - -## 复制 jdk 和 hadoop 环境 -- 在**全部主机**上执行如下操作 -- 从 **hdp-nn** 复制 jdk 和 hadoop 环境 - ```bash - scp -r hdp-nn:/opt/{jdk,hdp} /opt/ - scp hdp-nn:/etc/profile.d/{jdk,hdp}.sh /etc/profile.d/ - source /etc/profile.d/jdk.sh - source /etc/profile.d/hdp.sh - ``` - -## 部署 hbase 环境 -- 在**全部主机**上执行如下操作 -- 下载 hbase 2.5.13 部署包,解压 - ```bash - curl -LO https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.5.13/hbase-2.5.13-bin.tar.gz - tar zxf hbase-2.5.13-bin.tar.gz - mv hbase-2.5.13 /opt/hbase - ``` - -- 配置环境变量 - ```bash - echo 'export HBASE_HOME=/opt/hbase' > /etc/profile.d/hbase.sh - echo 'export PATH=$HBASE_HOME/bin:$PATH' >> /etc/profile.d/hbase.sh - source /etc/profile.d/hbase.sh - ``` - -### 修改 hbase-env.sh -- 编辑 $HBASE_HOME/conf/hbase-env.sh,指定如下三个环境变量 - ```bash - export JAVA_HOME=/opt/jdk - export HBASE_CLASSPATH=$HADOOP_HOME/etc/hadoop - export HBASE_MANAGES_ZK=false - ``` - -### 创建 hbase-site.xml -- 清空 $HBASE_HOME/conf/hbase-site.xml,添加如下内容 - ```xml - - - - hbase.cluster.distributed - true - - - - hbase.rootdir - hdfs://hdp-nn-21:8020/hbase - - - - hbase.zookeeper.quorum - zk1,zk2,zk3 - - - ``` - -### 修改 regionservers -- 清空 $HBASE_HOME/conf/regionservers,添加如下内容 - ``` - hbase-rs32 - hbase-rs33 - ``` - -### 创建 backup-masters -- 创建 $HBASE_HOME/conf/backup-masters,添加如下内容 - ``` - hbase-bm31 - ``` - -## 启动 hbase -- 在 **hbase-m30** 上启动 hbase 集群 - ```bash - start-hbase.sh - ``` - -## 客户端连接 -- 本地直接进入 hbase shell - ```bash - hbase shell - ``` - diff --git a/content/post/hdp2.md b/content/post/hdp2.md index 32fc329..0c04532 100644 --- a/content/post/hdp2.md +++ b/content/post/hdp2.md @@ -1,69 +1,71 @@ --- -title: "hadoop2 集群部署" +title: "hadoop2.10 部署" date: 2023-05-23T10:00:00+08:00 -lastmod: 2023-05-23T10:00:00+08:00 +lastmod: 2025-12-01T10:00:00+08:00 keywords: [] -tags: ["hadoop"] +tags: ["hadoop", "hive", "tez", "hbase", "spark"] categories: ["hadoop"] --- ## 环境 -操作系统 | 主机名 | 地址 | 数据目录 | 运行组件 ----- | ---- | ---- | ---- | ---- -Rocky9 | hdp-nn | 192.168.8.1/24 | /data/hdp-nn | Namenode -Rocky9 | hdp-snn | 192.168.8.2/24 | /data/hdp-snn | SecondaryNamenode -Rocky9 | hdp-rm | 192.168.8.3/24 | - | ResourceManager -Rocky9 | hdp-slave10 | 192.168.8.10/24 | /data/hdp-dn | Datanode, NodeManager -Rocky9 | hdp-slave11 | 192.168.8.11/24 | /data/hdp-dn | Datanode, NodeManager +主机名 | 地址 | 本地数据目录 | 组件 +---- | ---- | ---- | ---- +编译服务器 | - | - | 各种编译工具 +hdp-nn | 192.168.8.1/24 | /data/hdp-nn | Namenode, Spark +hdp-snn | 192.168.8.2/24 | /data/hdp-snn | SecondaryNamenode +hdp-rm | 192.168.8.3/24 | - | ResourceManager +hdp-slave0 | 192.168.8.10/24 | /data/hdp-dn | Datanode, NodeManager, Spark +hdp-slave1 | 192.168.8.11/24 | /data/hdp-dn | Datanode, NodeManager, Spark +hive-hs | 192.168.8.20/24 | - | HiveServer2, Tez +hive-ms | 192.168.8.21/24 | - | HiveMetastore, Tez +hbase-m | 192.168.8.30/24 | - | HbaseMaster +hbase-bm | 192.168.8.31/24 | - | HbaseBackupMaster +hbase-rs0 | 192.168.8.32/24 | - | HbaseRigionServer +hbase-rs1 | 192.168.8.33/24 | - | HbaseRigionServer -## 服务器初始配置 +## 部署 hadoop 集群 +### 服务器初始配置 - 在**全部主机**上执行如下操作 - 禁用防火墙 - 禁用 selinux - 配置时间同步 -- 配置主机名解析 - ```bash - echo "192.168.8.1 hdp-nn" >> /etc/hosts - echo "192.168.8.2 hdp-snn" >> /etc/hosts - echo "192.168.8.3 hdp-dn" >> /etc/hosts - echo "192.168.8.10 hdp-slave10" >> /etc/hosts - echo "192.168.8.11 hdp-slave11" >> /etc/hosts +- 配置主机名解析,修改 /etc/hosts,增加如下内容 + ``` + # hadoop + 192.168.8.1 hdp-nn + 192.168.8.2 hdp-snn + 192.168.8.3 hdp-dn + 192.168.8.10 hdp-slave0 + 192.168.8.11 hdp-slave1 ``` -## ssh 免密登录 -- 配置 **hdp-nn** 可以 ssh 免密登录 hdp-nn、hdp-snn 和 hdp-slaveXX +### ssh 免密登录 +- 在 **hdp-nn** 配置 ssh 免密登录 hdp-nn、hdp-snn 和 hdp-slaveX ```bash - # 在 hdp-nn 上执行如下操作 ssh-copy-id hdp-nn ssh-copy-id hdp-snn - ssh-copy-id hdp-slave10 - ssh-copy-id hdp-slave11 + ssh-copy-id hdp-slave0 + ssh-copy-id hdp-slave1 ``` -- 配置 **hdp-rm** 可以 ssh 免密登录 hdp-rm 和 hdp-slaveXX +- 在 **hdp-rm** 上配置 ssh 免密登录 hdp-rm 和 hdp-slaveX ```bash - # 在 hdp-rm 上执行如下操作 ssh-copy-id hdp-rm - ssh-copy-id hdp-slave10 - ssh-copy-id hdp-slave11 + ssh-copy-id hdp-slave0 + ssh-copy-id hdp-slave1 ``` -## 部署 jdk8 环境 +### 部署 jdk8 环境 - 在**全部主机**上执行如下操作 -- 上传 jdk-8u311-linux-x64.tar.gz,解压 +- 上传**最新的 jdk8 安装包**,解压 ```bash - tar zxf jdk-8u311-linux-x64.tar.gz - mv jdk1.8.0_311 /opt/jdk + tar zxf jdk-8u471-linux-x64.tar.gz + mv jdk1.8.0_471 /opt/jdk ``` -- 配置 jdk 环境变量 - ```bash - echo 'export JAVA_HOME=/opt/jdk' > /etc/profile.d/jdk.sh - echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile.d/jdk.sh - source /etc/profile.d/jdk.sh - ``` +- 无需配置 jdk 环境变量 -## 部署 hadoop 环境 +### 部署 dfs 和 yarn 集群 - 在**全部主机**上执行如下操作 - 下载 hadoop 2.10.2 部署包,解压 ```bash @@ -80,13 +82,11 @@ Rocky9 | hdp-slave11 | 192.168.8.11/24 | /data/hdp-dn | Datanode, NodeManager source /etc/profile.d/hdp.sh ``` -### 修改 hadoop-env.sh - 编辑 $HADOOP_HOME/etc/hadoop/hadoop-env.sh,指定 JAVA_HOME 环境变量 ```bash export JAVA_HOME=/opt/jdk ``` -### 修改 core-site.xml - 编辑 $HADOOP_HOME/etc/hadoop/core-site.xml,参考内容如下 ```xml @@ -113,7 +113,6 @@ Rocky9 | hdp-slave11 | 192.168.8.11/24 | /data/hdp-dn | Datanode, NodeManager ``` -### 修改 hdfs-site.xml - 编辑 $HADOOP_HOME/etc/hadoop/hdfs-site.xml,参考内容如下 ```xml @@ -155,7 +154,6 @@ Rocky9 | hdp-slave11 | 192.168.8.11/24 | /data/hdp-dn | Datanode, NodeManager ``` -### 修改 yarn-site.xml - 编辑 $HADOOP_HOME/etc/hadoop/yarn-site.xml,参考内容如下 ```xml @@ -206,13 +204,11 @@ Rocky9 | hdp-slave11 | 192.168.8.11/24 | /data/hdp-dn | Datanode, NodeManager ``` -### 修改 mapred-env.sh - 编辑 $HADOOP_HOME/etc/hadoop/mapred-env.sh,指定 JAVA_HOME 环境变量 ```bash export JAVA_HOME=/opt/jdk ``` -### 修改 mapred-site.xml - 编辑 $HADOOP_HOME/etc/hadoop/mapred-site.xml,参考内容如下 ```xml @@ -233,27 +229,53 @@ Rocky9 | hdp-slave11 | 192.168.8.11/24 | /data/hdp-dn | Datanode, NodeManager ``` -### 修改 slaves - 编辑 $HADOOP_HOME/etc/hadoop/slaves,替换成全部的 slave 主机,参考内容如下 ``` - hdp-slave10 - hdp-slave11 + hdp-slave0 + hdp-slave1 ``` -### 创建临时目录和数据目录 -- 在 **hdp-nn** 上创建数据目录 +### 部署 spark 集群 +- 在 **hdp-X** 上执行如下操作 +- 下载 spark-3.3.4-bin-hadoop2.tgz,解压 + ```bash + curl -LO https://archive.apache.org/dist/spark/spark-3.3.4/spark-3.3.4-bin-hadoop2.tgz + tar zxf spark-3.3.4-bin-hadoop2.tgz + mv spark-3.3.4-bin-hadoop2 /opt/spark + ``` + +- 配置 spark 环境变量 ```bash - mkdir /data/hdp_nn + echo 'export SPARK_HOME=/opt/spark' > /etc/profile.d/spark.sh + echo 'export PATH=$SPARK_HOME/bin:$PATH' >> /etc/profile.d/spark.sh + # 不推荐把 $SPARK_HOME/sbin 加入环境变量 PATH,避免与 hadoop 冲突 + source /etc/profile.d/spark.sh ``` -- 在 **hdp-snn** 上创建数据目录 - ```bash - mkdir /data/hdp_snn +- 修改 $HADOOP_HOME/etc/hadoop/yarn-site.xml,关闭 yarn 虚拟内存检查(已关闭) +- 编辑 $HADOOP_HOME/etc/hadoop/capacity-scheduler.xml,修改内容如下 + ```xml + + + yarn.scheduler.capacity.resource-calculator + + org.apache.hadoop.yarn.util.resource.DominantResourceCalculator + + + ``` -- 在 **hdp-slaveXX** 上创建临时目录和数据目录 +- 创建 $SPARK_HOME/conf/spark-defaults.conf,参考内容如下 + ``` + spark.master yarn + spark.eventLog.enabled true + spark.eventLog.dir hdfs://hdp-nn:8020/spark-logs + ``` + +- 创建 $SPARK_HOME/conf/spark-env.sh,参考内容如下 ```bash - mkdir /tmp/hdp /data/hdp_dn #建议都挂载独立盘 + export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop + export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.fs.logDirectory=hdfs://hdp-nn:8020/spark-logs -Dspark.history.retainedApplications=30" ``` ### 格式化 namenode @@ -262,7 +284,7 @@ Rocky9 | hdp-slave11 | 192.168.8.11/24 | /data/hdp-dn | Datanode, NodeManager hdfs namenode -format ``` -## 启动 hadoop 集群 +### 启动 hadoop 集群 - 在 **hdp-nn** 上启动 dfs 集群 ```bash /opt/hdp/sbin/start-dfs.sh @@ -273,6 +295,326 @@ Rocky9 | hdp-slave11 | 192.168.8.11/24 | /data/hdp-dn | Datanode, NodeManager /opt/hdp/sbin/start-yarn.sh ``` +- 在 **hdp-X** 上查看 java 进程 + ```bash + /opt/jdk/bin/jps + ``` + +### 启动 spark 日志服务 +- 在 **hdp-nn** 上执行如下操作 +- 创建 spark 日志目录 + ```bash + hdfs dfs -mkdir /spark-logs + ``` + +- 启动日志服务 + ```bash + /opt/spark/sbin/start-history-server.sh + ``` + +### 发布分布式计算任务 +- 客户端模式 + ```bash + spark-shell + ``` + +- 集群模式 + ```bash + spark-submit \ + --class org.apache.spark.examples.SparkPi \ + --deploy-mode cluster \ + $SPARK_HOME/examples/jars/spark-examples_2.12-3.3.4.jar + ``` + +- 浏览器访问 http://{spark 日志服务器}:18080 查看任务进度 + +--- + +## 部署 hive 集群 +### 前提 +- [已部署好 mysql 8](/post/mysql-install/#安装-mysql84-通用二进制包) +- 已创建好 mysql 用户机器数据库,参考 sql 如下 + ```sql + create user hive@'%' identified by 'Hive_1234'; + create database hive default charset utf8mb4; + grant all on hive.* to hive@'%'; + ``` + +### 服务器初始配置 +- 在 **hive-X** 上配置主机名解析,修改 /etc/hosts,增加如下内容 + ``` + # 注意前面的 hadoop 解析记录不能删 + # hive + 192.168.8.20 hive-hs + 192.168.8.21 hive-ms + ``` + +### 部署 tez 环境 +#### 编译 tez +- 在**编译服务器**上执行如下操作 +- 编译 tez-0.9.2 依赖 protoc 2.5.0,下载 protoc 源码,解压,编译 + ```bash + curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz + tar zxf protobuf-2.5.0.tar.gz + cd protobuf-2.5.0.tar.gz + mkdir /opt/protoc-2.5.0 + ./configure --prefix=/opt/protoc-2.5.0 + make + make check + make install + ``` + +- 下载 tez 源码包,解压,编译 + ```bash + curl -LO https://mirrors.tuna.tsinghua.edu.cn/apache/tez/0.9.2/apache-tez-0.9.2-src.tar.gz + tar zxf apache-tez-0.9.2-src.tar.gz + cd apache-tez-0.9.2-src + export PATH=/opt/protoc-2.5.0/bin:/opt/jdk8/bin:/opt/maven3/bin:$PATH + mvn clean package -DskipTests=true -Dtar -Dhadoop.version=2.10.2 -Dmaven.javadoc.skip=true -pl tez-dist -am + ``` + +- 上传 tez-dist/target/tez-0.9.2-minimal.tar.gz 到 **hive-X** 中 +- 上传 tez-dist/target/tez-0.9.2.tar.gz 到 **hive-hs** 中 + +#### 部署 tez +- 在 **hive-hs** 上 put tez-0.9.2.tar.gz 到 hdfs + ```bash + hdfs dfs -mkdir /tez + hdfs dfs -put tez-0.9.2.tar.gz /tez/ + ``` + +- 在 **hive-X** 上解压 tez minimal 包 + ```bash + mkdir /opt/tez + tar zxf tez-0.9.2-minimal.tar.gz -C /opt/tez/ + ``` + +- 在**全部主机**上修改 $HADOOP_HOME/etc/hadoop/mapred-site.xml,关闭 yarn 虚拟内存检查(已关闭) +- 在**全部主机**上创建 $HADOOP_HOME/etc/hadoop/tez-site.xml,参考内容如下 + ```xml + + + tez.lib.uris + string + ${fs.defaultFS}/tez/tez-0.9.2.tar.gz + + + ``` + +- 重启 hadoop dfs 和 yarn 集群 + +### 部署 hive 环境 +- 在 **hive-X** 上执行如下操作 +- 下载 hive 2.3.10 部署包,解压 + ```bash + curl -LO https://archive.apache.org/dist/hive/hive-2.3.10/apache-hive-2.3.10-bin.tar.gz + tar zxf apache-hive-2.3.10-bin.tar.gz + mv apache-hive-2.3.10-bin /opt/hive + ``` + +- 下载 mysql 连接库,解压到 hive 库目录下 + ```bash + curl -LO https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-j-8.0.33.tar.gz + tar zxf mysql-connector-j-8.0.33.tar.gz mysql-connector-j-8.0.33/mysql-connector-j-8.0.33.jar + mv mysql-connector-j-8.0.33/mysql-connector-j-8.0.33.jar /opt/hive/lib/ + rm -rf mysql-connector-j-8.0.33* + ``` + +- 配置环境变量 + ```bash + echo 'export HIVE_HOME=/opt/hive' > /etc/profile.d/hive.sh + echo 'export PATH=$HIVE_HOME/bin:$PATH' >> /etc/profile.d/hive.sh + source /etc/profile.d/hive.sh + ``` + +- 编辑 $HIVE_HOME/conf/hive-env.sh,指定 HADOOP_HOME 环境变量和 tez 库 + ```bash + HADOOP_HOME=/opt/hdp + export TEZ_HOME=/opt/tez + export HIVE_AUX_JARS_PATH=$TEZ_HOME/lib + export HADOOP_CLASSPATH=$TEZ_HOME:$TEZ_HOME/lib + ``` + +- 创建 $HIVE_HOME/conf/hive-site.xml,参考内容如下 + ```xml + + + + javax.jdo.option.ConnectionURL + jdbc:mysql://mysql-ip:3306/hive?createDatabaseIfNotExist=true&useSSL=false + + + + javax.jdo.option.ConnectionDriverName + com.mysql.cj.jdbc.Driver + + + + javax.jdo.option.ConnectionUserName + hive + + + + javax.jdo.option.ConnectionPassword + Hive_1234 + + + + datanucleus.schema.autoCreateAll + true + + + hive.cli.print.header + true + + + hive.cli.print.current.db + true + + + + hive.server2.webui.port + 10002 + + + + hive.metastore.warehouse.dir + /hive/warehouse + + + + hive.metastore.uris + thrift://hive-ms:9083 + + + + hive.execution.engine + tez + + + ``` + +### 初始化 hive +- 在 **hive-ms** 上初始化 mysql 库 + ```bash + schematool -dbType mysql -initSchema + ``` + +### 启动 hive 集群 +- 在 **hive-ms** 上启动 hive metastore + ```bash + hive --service metastore + ``` + +- 在 **hive-hs** 上启动 hive server + ```bash + hive --service hiveserver2 + ``` + +### 客户端 +- 本地直接连接 + ```bash + hive + ``` + +- beeline 连接,需要先在 $HADOOP_HOME/etc/hadoop/core-site.xml 中配置 proxyuser(已配置) + ```bash + beeline -u jdbc:hive2://hive-hs:10000 -n root + ``` + +--- + +## 部署 hbase 集群 +### 前提 +- [已部署好 zookeeper 3.4 以上版本](/post/zk-install) + +### 服务器初始配置 +- 在 **hbase-X** 上配置主机名解析,修改 /etc/hosts,增加如下内容 + ``` + # 注意前面的 hadoop 解析记录不能删 + # hbase + 192.168.8.30 hbase-m + 192.168.8.31 hbase-bm + 192.168.8.32 hbase-rs0 + 192.168.8.33 hbase-rs1 + ``` + +### ssh 免密登录 +- 在 **hbase-m** 上配置 ssh 免密登录 hbase-m、hbase-bm 和 hbase-rsX + ```bash + ssh-copy-id hbase-m + ssh-copy-id hbase-bm + ssh-copy-id hbase-rs0 + ssh-copy-id hbase-rs1 + ``` + +### 部署 hbase 环境 +- 在 **hbase-X** 上执行如下操作 +- 下载 hbase 2.5.13 部署包,解压 + ```bash + curl -LO https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.5.13/hbase-2.5.13-bin.tar.gz + tar zxf hbase-2.5.13-bin.tar.gz + mv hbase-2.5.13 /opt/hbase + ``` + +- 配置环境变量 + ```bash + echo 'export HBASE_HOME=/opt/hbase' > /etc/profile.d/hbase.sh + echo 'export PATH=$HBASE_HOME/bin:$PATH' >> /etc/profile.d/hbase.sh + source /etc/profile.d/hbase.sh + ``` + +- 编辑 $HBASE_HOME/conf/hbase-env.sh,指定如下三个环境变量 + ```bash + export JAVA_HOME=/opt/jdk + export HBASE_CLASSPATH=$HADOOP_HOME/etc/hadoop + export HBASE_MANAGES_ZK=false + ``` + +- 清空 $HBASE_HOME/conf/hbase-site.xml,添加如下内容 + ```xml + + + + hbase.cluster.distributed + true + + + + hbase.rootdir + hdfs://hdp-nn:8020/hbase + + + + hbase.zookeeper.quorum + zk1,zk2,zk3 + + + ``` + +- 清空 $HBASE_HOME/conf/regionservers,添加如下内容 + ``` + hbase-rs0 + hbase-rs1 + ``` + +- 创建 $HBASE_HOME/conf/backup-masters,添加如下内容 + ``` + hbase-bm + ``` + +### 启动 hbase 集群 +- 在 **hbase-m30** 上启动 hbase 集群 + ```bash + start-hbase.sh + ``` + +### 客户端连接 +- 本地直接进入 hbase shell + ```bash + hbase shell + ``` + ## 参考 - [https://www.cnblogs.com/jpSpaceX/articles/15032931.html](https://www.cnblogs.com/jpSpaceX/articles/15032931.html) diff --git a/content/post/hdp3.3.md b/content/post/hdp3.3.md new file mode 100644 index 0000000..b40dede --- /dev/null +++ b/content/post/hdp3.3.md @@ -0,0 +1,431 @@ +--- +title: "hadoop3.3 集群部署" +date: 2023-07-28T14:00:00+08:00 +lastmod: 2026-02-03T11:00:00+08:00 +keywords: [] +tags: ["hadoop", "hive", "tez", "hbase", "spark"] +categories: ["hadoop"] +--- + +## 环境 +主机名 | 地址 | 数据目录 | 运行组件 +---- | ---- | ---- | ---- +hdp-nn | 192.168.8.1/24 | /data/hdp-nn | Namenode +hdp-snn | 192.168.8.2/24 | /data/hdp-snn | SecondaryNamenode +hdp-rm | 192.168.8.3/24 | - | ResourceManager +hdp-slave0 | 192.168.8.10/24 | /data/hdp-dn | Datanode, NodeManager +hdp-slave1 | 192.168.8.11/24 | /data/hdp-dn | Datanode, NodeManager +hive-hs | 192.168.8.20/24 | - | HiveServer2, Tez +hive-ms | 192.168.8.21/24 | - | HiveMetastore, Tez + +## 部署 hadoop 集群 +### 服务器初始配置 +- 在**全部主机**上执行如下操作 +- 禁用防火墙 +- 禁用 selinux +- 配置时间同步 +- 配置主机名解析,修改 /etc/hosts,增加如下内容 + ```bash + # hadoop + 192.168.8.1 hdp-nn + 192.168.8.2 hdp-snn + 192.168.8.3 hdp-dn + 192.168.8.10 hdp-slave0 + 192.168.8.11 hdp-slave1 + ``` + +### ssh 免密登录 +- 在 **hdp-nn** 配置 ssh 免密登录 hdp-nn、hdp-snn 和 hdp-slaveX + ```bash + ssh-copy-id hdp-nn + ssh-copy-id hdp-snn + ssh-copy-id hdp-slave0 + ssh-copy-id hdp-slave1 + ``` + +- 在 **hdp-rm** 上配置 ssh 免密登录 hdp-rm 和 hdp-slaveX + ```bash + ssh-copy-id hdp-rm + ssh-copy-id hdp-slave0 + ssh-copy-id hdp-slave1 + ``` + +### 部署 jdk8 环境 +- 在**全部主机**上执行如下操作 +- 上传**最新的 jdk8 安装包**,解压 + ```bash + tar zxf jdk-8u471-linux-x64.tar.gz + mv jdk1.8.0_471 /opt/jdk + ``` + +- 无需配置 jdk 环境变量 + +### 部署 dfs 和 yarn 集群 +- 在**全部主机**上执行如下操作 +- 下载 hadoop 3.3.6 部署包,解压 + ```bash + curl -LO https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz + tar zxf hadoop-3.3.6.tar.gz + mv hadoop-3.3.6 /opt/hdp + ``` + +- 配置 hadoop 环境变量 + ```bash + echo 'export HADOOP_HOME=/opt/hdp' > /etc/profile.d/hdp.sh + echo 'export PATH=$HADOOP_HOME/bin:$PATH' >> /etc/profile.d/hdp.sh + # 不推荐把 $HADOOP_HOME/sbin 加入环境变量 PATH,避免与 spark 冲突 + source /etc/profile.d/hdp.sh + ``` + +- 编辑 $HADOOP_HOME/etc/hadoop/hadoop-env.sh,指定 JAVA_HOME 环境变量和运行各组件的用户 + ```bash + export JAVA_HOME=/opt/jdk + export HDFS_NAMENODE_USER=root + export HDFS_DATANODE_USER=root + export HDFS_SECONDARYNAMENODE_USER=root + export YARN_RESOURCEMANAGER_USER=root + export YARN_NODEMANAGER_USER=root + ``` + +- 编辑 $HADOOP_HOME/etc/hadoop/core-site.xml,参考内容如下 + ```xml + + + + fs.defaultFS + hdfs://hdp-nn:8020 + + + + hadoop.tmp.dir + /tmp/hdp + + + + hadoop.proxyuser.root.hosts + * + + + + hadoop.proxyuser.root.groups + * + + + ``` + +- 编辑 $HADOOP_HOME/etc/hadoop/hdfs-site.xml,参考内容如下 + ```xml + + + + dfs.namenode.name.dir + /data/hdp_nn + + + + dfs.namenode.checkpoint.dir + /data/hdp_snn + + + + dfs.datanode.data.dir + /data/hdp_dn + + + + dfs.namenode.http-address + hdp-nn:9870 + + + + dfs.namenode.secondary.http-address + hdp-snn:9868 + + + + dfs.replication + 2 + + + + dfs.webhdfs.enabled + true + + + ``` + +- 编辑 $HADOOP_HOME/etc/hadoop/yarn-site.xml,参考内容如下 + ```xml + + + yarn.nodemanager.aux-services + mapreduce_shuffle + + + + yarn.resourcemanager.hostname + hdp-rm + + + + yarn.resourcemanager.webapp.address + hdp-rm:8088 + + + + + + yarn.log-aggregation-enable + true + + + + yarn.log-aggregation.retain-seconds + 604800 + + + + yarn.nodemanager.vmem-check-enabled + false + + + + yarn.nodemanager.pmem-check-enabled + false + + + ``` + +- 无需修改 $HADOOP_HOME/etc/hadoop/mapred-env.sh +- 编辑 $HADOOP_HOME/etc/hadoop/mapred-site.xml,参考内容如下 + ```xml + + + mapreduce.framework.name + yarn + + + + mapreduce.jobhistory.address + hdp-rm:10020 + + + + mapreduce.jobhistory.webapp.address + hdp-rm:19888 + + + yarn.app.mapreduce.am.env + HADOOP_MAPRED_HOME=/opt/hdp + + + mapreduce.map.env + HADOOP_MAPRED_HOME=/opt/hdp + + + mapreduce.reduce.env + HADOOP_MAPRED_HOME=/opt/hdp + + + ``` + +- 编辑 $HADOOP_HOME/etc/hadoop/workers,替换成全部的 slave 主机,参考内容如下 + ``` + hdp-slave0 + hdp-slave1 + ``` + +### 格式化 namenode +- 在 **hdp-nn** 上执行如下操作 + ```bash + hdfs namenode -format + ``` + +## 启动 hadoop 集群 +- 在 **hdp-nn** 上启动 dfs 集群 + ```bash + /opt/hdp/sbin/start-dfs.sh + ``` + +- 在 **hdp-rm** 上启动 yarn 集群 + ```bash + /opt/hdp/sbin/start-yarn.sh + ``` + +- 在 **hdp-X** 上查看 java 进程 + ```bash + /opt/jdk/bin/jps + ``` + +--- + +## 部署 hive 集群 +### 前提 +- [已部署好 mysql 8](/post/mysql-install/#安装-mysql84-通用二进制包) +- 已创建好 mysql 用户机器数据库,参考 sql 如下 + ```sql + create user hive@'%' identified by 'Hive_1234'; + create database hive default charset utf8mb4; + grant all on hive.* to hive@'%'; + ``` + +### 服务器初始配置 +- 在 **hive-X** 上配置主机名解析,修改 /etc/hosts,增加如下内容 + ``` + # 注意前面的 hadoop 解析记录不能删 + # hive + 192.168.8.20 hive-hs + 192.168.8.21 hive-ms + ``` + +### 部署 tez 环境 +- 在 **hive-X** 上执行如下操作 +- 下载 tez 0.10.4 安装包,解压 + ```bash + curl -LO https://mirrors.tuna.tsinghua.edu.cn/apache/tez/0.10.4/apache-tez-0.10.4-bin.tar.gz + tar zxf apache-tez-0.10.4-bin.tar.gz + mv apache-tez-0.10.4-bin /opt/tez + ``` + +- 在 **hive-hs** 上 put tez.tar.gz 到 hdfs + ```bash + hdfs dfs -mkdir /tez + hdfs dfs -put /opt/tez/share/tez.tar.gz /tez/ + ``` + +- 在**全部主机**上修改 $HADOOP_HOME/etc/hadoop/mapred-site.xml,关闭 yarn 虚拟内存检查(已关闭) +- 在**全部主机**上创建 $HADOOP_HOME/etc/hadoop/tez-site.xml,参考内容如下 + ```xml + + + tez.lib.uris + string + ${fs.defaultFS}/tez/tez.tar.gz + + + ``` + +- 重启 hadoop dfs 和 yarn 集群 + +### 部署 hive 环境 +- 在 **hive-X** 上执行如下操作 +- 下载 hive 4.0.1 部署包,解压 + ```bash + curl -LO https://archive.apache.org/dist/hive/hive-4.0.1/apache-hive-4.0.1-bin.tar.gz + tar zxf apache-hive-4.0.1-bin.tar.gz + mv apache-hive-4.0.1-bin /opt/hive + ``` + +- 下载 mysql 连接库,解压到 hive 库目录下 + ```bash + curl -LO https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-j-8.0.33.tar.gz + tar zxf mysql-connector-j-8.0.33.tar.gz mysql-connector-j-8.0.33/mysql-connector-j-8.0.33.jar + mv mysql-connector-j-8.0.33/mysql-connector-j-8.0.33.jar /opt/hive/lib/ + rm -rf mysql-connector-j-8.0.33* + ``` + +- 配置环境变量 + ```bash + echo 'export HIVE_HOME=/opt/hive' > /etc/profile.d/hive.sh + echo 'export PATH=$HIVE_HOME/bin:$PATH' >> /etc/profile.d/hive.sh + source /etc/profile.d/hive.sh + ``` + +- 编辑 $HIVE_HOME/conf/hive-env.sh,指定 HADOOP_HOME 环境变量和 tez 库 + ```bash + HADOOP_HOME=/opt/hdp + export TEZ_HOME=/opt/tez + export HIVE_AUX_JARS_PATH=$TEZ_HOME/lib + export HADOOP_CLASSPATH=$TEZ_HOME:$TEZ_HOME/lib + ``` + +- 创建 $HIVE_HOME/conf/hive-site.xml,参考内容如下 + ```xml + + + + javax.jdo.option.ConnectionURL + jdbc:mysql://mysql-ip:3306/hive?createDatabaseIfNotExist=true&useSSL=false + + + + javax.jdo.option.ConnectionDriverName + com.mysql.cj.jdbc.Driver + + + + javax.jdo.option.ConnectionUserName + hive + + + + javax.jdo.option.ConnectionPassword + Hive_1234 + + + + datanucleus.schema.autoCreateAll + true + + + hive.cli.print.header + true + + + hive.cli.print.current.db + true + + + + hive.server2.webui.port + 10002 + + + + hive.metastore.warehouse.dir + /hive/warehouse + + + + hive.metastore.uris + thrift://hive-ms:9083 + + + + hive.execution.engine + tez + + + ``` + +### 初始化 hive +- 在 **hive-ms** 上初始化 mysql 库 + ```bash + schematool -dbType mysql -initSchema + ``` + +### 启动 hive 集群 +- 在 **hive-ms** 上启动 hive metastore + ```bash + hive --service metastore + ``` + +- 在 **hive-hs** 上启动 hive server + ```bash + hive --service hiveserver2 + ``` + +### 客户端 +- beeline 连接,需要先在 $HADOOP_HOME/etc/hadoop/core-site.xml 中配置 proxyuser(已配置) + ```bash + beeline -u jdbc:hive2://hive-hs:10000 -n root + ``` + diff --git a/content/post/hive2-tez.md b/content/post/hive2-tez.md deleted file mode 100644 index 9deed28..0000000 --- a/content/post/hive2-tez.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -title: "hive2 tez 部署" -date: 2023-05-23T12:00:00+08:00 -lastmod: 2023-05-23T12:00:00+08:00 -keywords: [] -tags: ["hadoop", "hive", "tez"] -categories: ["hadoop"] ---- - -## 环境 -操作系统 | 主机名 | 地址 | 运行组件 ----- | ---- | ---- | ---- -Rocky8 | 编译服务器 | - | 编译工具 -Rocky9 | hive-hs20 | 192.168.8.20/24 | Hive Server, Tez -Rocky9 | hive-ms21 | 192.168.8.21/24 | Hive Metastore, MySQL8.0, Tez - -## 前提 -- [已部署好 hadoop 2.10](/post/hdp2) -- [已部署好 hive 2.3.10](/post/hive2) - -## 准备 protoc 2.5.0 环境 -- 在**编译服务器**上执行如下操作 -- 下载源码,解压 - ```bash - curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz - tar zxf protobuf-2.5.0.tar.gz - cd protobuf-2.5.0.tar.gz - ``` - -- 编译 - ```bash - mkdir /opt/protoc-2.5.0 - ./configure --prefix=/opt/protoc-2.5.0 - make - make check - make install - ``` - -## 编译 tez -- 在**编译服务器**上执行如下操作 -- 下载 tez 部署包,解压 - ```bash - curl -LO https://mirrors.tuna.tsinghua.edu.cn/apache/tez/0.9.2/apache-tez-0.9.2-src.tar.gz - tar zxf apache-tez-0.9.2-src.tar.gz - cd apache-tez-0.9.2-src - ``` - -- 编译 - ```bash - export PATH=/opt/protoc-2.5.0/bin:/opt/jdk8/bin:/opt/maven3/bin:$PATH - mvn clean package -DskipTests=true -Dtar -Dhadoop.version=2.10.2 -Dmaven.javadoc.skip=true -pl tez-dist -am - ``` - -- 上传 tez-dist/target/tez-0.9.2-minimal.tar.gz 到**全部 hive 服务器**中 -- 上传 tez-dist/target/tez-0.9.2.tar.gz 到 **hive-hs20** 中 - -## 部署 tez 环境 -- 在 **hive-hs20** 上 put tez-0.9.2.tar.gz 到 hdfs - ```bash - hdfs dfs -mkdir /tez - hdfs dfs -put tez-0.9.2.tar.gz /tez/ - ``` - -- 在**全部 hive 主机**上解压 tez 部署包 - ```bash - mkdir /opt/tez - tar zxf tez-0.9.2-minimal.tar.gz -C /opt/tez/ - ``` - -### 修改 yarn-site.xml -- 在**全部主机(包括 hadoop)**上[关闭 yarn 虚拟内存检查](/post/hdp2/#修改-yarn-sitexml) - -### 创建 tez-site.xml -- 在**全部主机(包括 hadoop)**上执行如下操作 -- 创建 $HADOOP_HOME/etc/hadoop/tez-site.xml,参考内容如下 - ```xml - - - tez.lib.uris - string - ${fs.defaultFS}/tez/tez-0.9.2.tar.gz - - - ``` - -### 修改 hive-env.sh -- 在**全部 hive 主机**上执行如下操作 -- 编辑 $HIVE_HOME/conf/hive-env.sh,在文件最后增加如下内容 - ```bash - export TEZ_HOME=/opt/tez - TEZ_JARS="" - for jar in $(ls $TEZ_HOME | grep jar); do - TEZ_JARS=$TEZ_JARS:$TEZ_HOME/$jar - done - for jar in $(ls $TEZ_HOME/lib); do - TEZ_JARS=$TEZ_JARS:$TEZ_HOME/lib/$jar - done - export HIVE_AUX_JARS_PATH=$TEZ_HOME/lib - export HADOOP_CLASSPATH=$TEZ_JARS - ``` - -## 重启环境 -- 重启 hadoop dfs 和 yarn 集群 -- 重启 hive metastore 和 hiveserver2 - -## 设置引擎 -- 客户端连接 hive,设置引擎为 tez,执行 sql 语句 - ```sql - set hive.execution.engine=tez; - -- 后面操作数据时不再报 "WARNING: Hive-on-MR is deprecated in Hive 2 ..." - ``` - diff --git a/content/post/hive2.md b/content/post/hive2.md deleted file mode 100644 index 087e5ca..0000000 --- a/content/post/hive2.md +++ /dev/null @@ -1,173 +0,0 @@ ---- -title: "hive2 部署" -date: 2023-05-23T11:00:00+08:00 -lastmod: 2024-05-23T11:00:00+08:00 -keywords: [] -tags: ["hadoop", "hive"] -categories: ["hadoop"] ---- - -## 环境 -操作系统 | 主机名 | 地址 | 运行组件 ----- | ---- | ---- | ---- -Rocky9 | hive-hs20 | 192.168.8.20/24 | Hive Server -Rocky9 | hive-ms21 | 192.168.8.21/24 | Hive Metastore - -## 前提 -- [已部署好 hadoop 2.10](/post/hdp2) -- [已部署好 mysql 8](/post/mysql-install/#安装-mysql84-通用二进制包) - -## 服务器初始配置 -- 在**全部主机**上执行如下操作 -- 禁用防火墙 -- 禁用 selinux -- 配置时间同步 -- 配置主机名解析 - ```bash - echo "192.168.8.1 hdp-nn" >> /etc/hosts - echo "192.168.8.2 hdp-snn" >> /etc/hosts - echo "192.168.8.3 hdp-dn" >> /etc/hosts - echo "192.168.8.10 hdp-slave10" >> /etc/hosts - echo "192.168.8.11 hdp-slave11" >> /etc/hosts - echo "192.168.8.20 hive-hs20" >> /etc/hosts - echo "192.168.8.21 hive-ms21" >> /etc/hosts - ``` - -## 创建 mysql 数据库 -- 在 **mysql** 创建用户及其数据库,参考 sql 如下 - ```sql - create user hive@'%' identified by 'Hive_1234'; - create database hive default charset utf8mb4; - grant all on hive.* to hive@'%'; - ``` - -## 复制 jdk 和 hadoop 环境 -- 在**全部主机**上执行如下操作 -- 从 **hdp-nn** 复制 jdk 和 hadoop 环境 - ```bash - scp -r hdp-nn:/opt/{jdk,hdp} /opt/ - scp hdp-nn:/etc/profile.d/{jdk,hdp}.sh /etc/profile.d/ - source /etc/profile.d/jdk.sh - source /etc/profile.d/hdp.sh - ``` - -## 部署 hive 环境 -- 在**全部主机**上执行如下操作 -- 下载 hive 2.3.10 部署包,解压 - ```bash - curl -LO https://archive.apache.org/dist/hive/hive-2.3.10/apache-hive-2.3.10-bin.tar.gz - tar zxf apache-hive-2.3.10-bin.tar.gz - mv apache-hive-2.3.10-bin /opt/hive - ``` - -- 下载 mysql 连接库,解压到 hive 库目录下 - ```bash - curl -LO https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-j-8.0.33.tar.gz - tar zxf mysql-connector-j-8.0.33.tar.gz mysql-connector-j-8.0.33/mysql-connector-j-8.0.33.jar - mv mysql-connector-j-8.0.33/mysql-connector-j-8.0.33.jar /opt/hive/lib/ - rm -rf mysql-connector-j-8.0.33* - ``` - -- 配置环境变量 - ```bash - echo 'export HIVE_HOME=/opt/hive' > /etc/profile.d/hive.sh - echo 'export PATH=$HIVE_HOME/bin:$PATH' >> /etc/profile.d/hive.sh - source /etc/profile.d/hive.sh - ``` - -### 修改 hive-env.sh -- 编辑 $HIVE_HOME/conf/hive-env.sh,指定 HADOOP_HOME 环境变量 - ```bash - HADOOP_HOME=/opt/hdp - ``` - -### 创建 hive-site.xml -- 创建 $HIVE_HOME/conf/hive-site.xml,参考内容如下 - ```xml - - - - javax.jdo.option.ConnectionURL - jdbc:mysql://mysql-ip:3306/hive?createDatabaseIfNotExist=true&useSSL=false - - - - javax.jdo.option.ConnectionDriverName - com.mysql.cj.jdbc.Driver - - - - javax.jdo.option.ConnectionUserName - hive - - - - javax.jdo.option.ConnectionPassword - Hive_1234 - - - - datanucleus.schema.autoCreateAll - true - - - hive.cli.print.header - true - - - hive.cli.print.current.db - true - - - - hive.server2.webui.port - 10002 - - - - hive.metastore.warehouse.dir - /hive/warehouse - - - - hive.metastore.uris - thrift://hive-ms:9083 - - - - ``` - -### 初始化 hive 库 -- 在 **hive-ms21** 上执行如下操作 - ```bash - schematool -dbType mysql -initSchema - ``` - -## 启动 hive -- 在 **hive-ms21** 上启动 hive metastore - ```bash - hive --service metastore - ``` - -- 在 **hive-hs20** 上启动 hive server - ```bash - hive --service hiveserver2 - ``` - -## 客户端连接 -- 本地直接连接 - ```bash - hive - # 暂时忽略"WARNING: Hive-on-MR is deprecated in Hive 2 ..." - ``` - -- beeline 连接,需要先[在 core-site.xml 中配置 proxyuser](/post/hdp2/#修改-core-sitexml) - ```bash - beeline -u jdbc:hive2://hive-hs20:10000 -n root - # 暂时忽略"WARNING: Hive-on-MR is deprecated in Hive 2 ..." - ``` - diff --git a/content/post/spark.md b/content/post/spark.md deleted file mode 100644 index 2aa4068..0000000 --- a/content/post/spark.md +++ /dev/null @@ -1,100 +0,0 @@ ---- -title: "spark on yarn 部署" -date: 2023-05-23T12:00:00+08:00 -lastmod: 2024-07-19T17:00:00+08:00 -keywords: [] -tags: ["hadoop", "spark"] -categories: ["hadoop"] ---- - -## 环境 -操作系统 | 主机名 | 地址 | 运行组件 ----- | ---- | ---- | ---- -Rocky9 | hdp-nn | 192.168.8.1/24 | Namenode -Rocky9 | hdp-snn | 192.168.8.2/24 | SecondaryNamenode -Rocky9 | hdp-rm | 192.168.8.3/24 | ResourceManager -Rocky9 | hdp-slave10 | 192.168.8.10/24 | Datanode, NodeManager -Rocky9 | hdp-slave11 | 192.168.8.11/24 | Datanode, NodeManager - -## 前提 -- [已部署好 hadoop 2.10](/post/hdp2) - -## 部署 spark 环境 -- 在**全部主机**上执行如下操作 -- 下载 spark-3.3.4-bin-hadoop2.tgz,解压 - ```bash - curl -LO https://archive.apache.org/dist/spark/spark-3.3.4/spark-3.3.4-bin-hadoop2.tgz - tar zxf spark-3.3.4-bin-hadoop2.tgz - mv spark-3.3.4-bin-hadoop2 /opt/spark - ``` - -- 配置 spark 环境变量 - ```bash - echo 'export SPARK_HOME=/opt/spark' > /etc/profile.d/spark.sh - echo 'export PATH=$SPARK_HOME/bin:$PATH' >> /etc/profile.d/spark.sh - # 不推荐把 $SPARK_HOME/sbin 加入环境变量 PATH,避免与 hadoop 冲突 - source /etc/profile.d/spark.sh - ``` - -### 修改 yarn-site.xml -- 在**全部主机**上[关闭 yarn 虚拟内存检查](/post/hdp2/#修改-yarn-sitexml) - -### 修改 capacity-scheduler.xml -- 在**全部主机**上执行如下操作 -- 编辑 $HADOOP_HOME/etc/hadoop/capacity-scheduler.xml,修改内容如下 - ```xml - - - yarn.scheduler.capacity.resource-calculator - - org.apache.hadoop.yarn.util.resource.DominantResourceCalculator - - - - ``` - -### 创建 spark-defaults.conf -- 在**全部主机**上执行如下操作 -- 创建 $SPARK_HOME/conf/spark-defaults.conf,参考内容如下 - ``` - spark.master yarn - spark.eventLog.enabled true - spark.eventLog.dir hdfs://hdp-nn:8020/spark-logs - ``` - -### 修改 spark-env.sh -- 在**全部主机**上执行如下操作 -- 创建 $SPARK_HOME/conf/spark-env.sh,参考内容如下 - ```bash - export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop - export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.fs.logDirectory=hdfs://hdp-nn:8020/spark-logs -Dspark.history.retainedApplications=30" - ``` - -### 创建 spark 日志目录 -- 在 **hdp-nn** 上创建 spark 日志目录 - ```bash - hdfs dfs -mkdir /spark-logs - ``` - -## 启动 spark 日志服务 -- 在**任一主机** 上启动日志服务 - ```bash - /opt/spark/sbin/start-history-server.sh - ``` - -## 发布任务 -- 客户端模式 - ```bash - spark-shell - ``` - -- 集群模式 - ```bash - spark-submit \ - --class org.apache.spark.examples.SparkPi \ - --deploy-mode cluster \ - $SPARK_HOME/examples/jars/spark-examples_2.12-3.3.4.jar - ``` - -- 浏览器访问 http://{spark 日志服务器}:18080 查看任务进度 -