Hadoop、Spark 集群环境搭建问题汇总

时间:2024-11-15 20:36:13

Hadoop

问题1:

  Hadoop Slave节点 NodeManager 无法启动

解决方法:

  yarn-site.xml

  reducer取数据的方式是mapreduce_shuffle

  Hadoop、Spark 集群环境搭建问题汇总

问题2:

  启动hadoop,报错Error JAVA_HOME is not set and could not be found

解决方法:

  因为JAVA_HOME环境没配置正确,还有一种情况是即使各结点都正确地配置了JAVA_HOME,但在集群环境下还是报该错误。

  解决方法是 在 hadoop-env.sh中 显示地重新声明一遍JAVA_HOME。

问题3:

  hadoop 执行start-dfs.sh后,datenode没有启动

解决方法:

  上网查了下,有些文章说的解决办法是删掉数据文件,格式化,重启集群,但这办法实在太暴力,根本无法在生产环境实施,所以还是参考另一类文章的解决办法,修改clusterID:
  step1:
    查看hdfs-site.xml,找到存namenode元数据和datanode元数据的路径:
  step2:
    打开namenode路径下的current/VERSION文件

    打开datanode路径下的current/VERSION文件

  step3:

    将data节点的 clusterID 修改成和 name 节点的 clusterID 一致,重启集群即可。

Spark

问题1:

  Spark 集群启动后,Slave节点 Worker 进程一段时间后自动结束

解决方法:

  修改各节点  /etc/hostname 文件中的主机名:

  Hadoop、Spark 集群环境搭建问题汇总

  与 /etc/sysconfig/network 中的主机名保持一致。

  Hadoop、Spark 集群环境搭建问题汇总

  重启机器。

问题2:

  Spark只启动了Master,Worker没启动

解决方法:

  各节点 /home/hadoop/spark-2.2.1/conf/ spark-env.sh 中的 SPARK_LOCAL_IP 改为该节点自己的 IP。

  Hadoop、Spark 集群环境搭建问题汇总

问题3:

  Spark集群启动后,Slave节点上有Worker进程,但打开webui,Workers列表却只显示有Master节点

  Hadoop、Spark 集群环境搭建问题汇总

解决方法:

  关闭机器的防火墙

  CentOS 7 默认采用新防火墙firewall,不再用iptables(service iptables status 查看防火墙状态 ,chkconfig iptables off 关闭防火墙)

systemctl stop firewalld.service     #停止firewall

systemctl disable firewalld.service   #禁止firewall开机启动

firewall-cmd --state           #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

  

问题4:

  Spark shell退出操作以及出现问题的解决方法

解决方法:

  退出的正确操作是:

:quit