在 Spark 中配置历史服务器,可按以下步骤操作:
1. 配置 spark-defaults.conf 文件
此文件一般位于 $SPARK_HOME/conf 目录下。若该文件不存在,可从 spark-defaults.conf.template 复制一份。
在文件里添加如下配置:
plaintext
spark.eventLog.enabled true
spark.eventLog.dir hdfs://<namenode>:<port>/spark-logs
其中,<namenode> 是 HDFS 名称节点的主机名,<port> 是 HDFS 名称节点的端口号。你要确保 HDFS 路径存在,并且 Spark 有写入该路径的权限。
2. 配置 spark-env.sh 文件
同样在 $SPARK_HOME/conf 目录下,若文件不存在,可从 spark-env.sh.template 复制一份。
添加如下配置:
bash
export SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://<namenode>:<port>/spark-logs -Dspark.history.ui.port=18080"
这里的 <namenode> 和 <port> 要和 spark-defaults.conf 里的配置一致。18080 是历史服务器的端口号,你可按需修改。
3. 启动历史服务器
在 Spark 集群的任意节点上运行以下命令来启动历史服务器:
bash
$SPARK_HOME/sbin/start-history-server.sh

4. 访问历史服务器
启动成功后,你可以通过浏览器访问 http://<hostname>:18080 来查看 Spark 作业的历史记录,其中 <hostname> 是运行历史服务器的节点的主机名。
5. 停止历史服务器
若要停止历史服务器,可运行以下命令:
bash
$SPARK_HOME/sbin/stop-history-server.sh

通过以上步骤,你就能成功在 Spark 中配置并使用历史服务器了。要注意的是,配置完成后,后续运行的 Spark 作业的日志会被记录到指定的 HDFS 路径,这样你就能在历史服务器上查看这些作业的详细信息了。
分享