在 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 路径,这样你就能在历史服务器上查看这些作业的详细信息了。
分享