在用Hadoop进行大数据分析处理时,通常配置的服务器不止一两台。为了减少人工操作的重复性,所以hadoop提供了可以自动启动Hadoop集群的Shell脚本。在使用Shell脚本启动集群之前,需要进行相应的配置。
说明:$HADOOP_HOME=/root/project/hadoop(根据自己配置的路径不同而不同)
打开 $HADOOP_HOME/etc/hadoop/workers 文件,将集群中的所有机器的 hostname 都写到文件中。
分别打开 $HADOOP_HOME/sbin 目录下的 start-dfs.sh、stop-dfs.sh 文件,并在文件最前面添加以下代码:
#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
分别打开 $HADOOP_HOME/sbin 目录下的 start-yarn.sh、stop-yarn.sh 文件,并在文件最前面添加以下代码:
#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
问题描述:配置完成Shell脚本后,启动集群报错一下信息:
hadoop start-dfs.sh Error: JAVA_HOME is not set and could not be found
解决办法:在文件 .bashrc 文件中添加以下代码:
export JAVA_HOME=/root/project/jdk
export HADOOP_HOME=/root/project/hadoop
export PATH=.:$PATH:$JAVA_HOME/bin