故障排除
问题一:运行hdfs namenode -format时报错
现象描述:
运行hdfs namenode -format时报错,报错信息为:“Error: JAVA_HOME is not set and could not be found.”。
可能原因:
JAVA_HOME环境变量设置不正确。
处理步骤:
参见配置环境变量设置JAVA_HOME变量。
若JAVA_HOME设置正确,则修改./etc/hadoop/hadoop-env.sh文件。
- 打开文件。
vi ./etc/hadoop/hadoop-env.sh
- 按“i”进入编辑模式,修改环境变量文件,补充以下环境变量。
export JAVA_HOME=JDK安装路径
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
问题二:运行hdfs namenode -format时报错
现象描述:
运行hdfs namenode -format时报错,报错信息为:“Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)”。
可能原因:
本机免密有问题。
处理步骤:
- 配置免密。
ssh-keygen -t rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
- 打开“/etc/ssh/sshd_config”文件,将“# PubkeyAuthentication yes”修改为“PubkeyAuthentication yes”,“# AuthorizedKeysFile .ssh/authorized_keys”修改为“AuthorizedKeysFile .ssh/authorized_keys”。
vi /etc/ssh/sshd_config
- 重启sshd服务。
systemctl restart sshd
问题三:启动Hadoop时提示Could not resolve hostname
现象描述:
启动Hadoop时提示Could not resolve hostname,报错信息为:“ssh: Could not resolve hostname xxx”。
处理步骤:
可通过设置Hadoop环境变量来解决。
- 按键盘的“ctrl + c”中断启动。
- 然后在~/.bashrc中,增加如下两行内容。
- 打开文件。
vi ~/.bashrc
- 按“i”进入编辑模式,编辑“~/.bashrc”文件,增加如下命令。
export HADOOP_HOME=/usr/local/hadoop export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
设置过程与JAVA_HOME变量一样,其中HADOOP_HOME为Hadoop的安装目录。
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开文件。
- 执行以下命令使变量设置生效。
source ~/.bashrc
- 执行以下命令启动Hadoop。
start-dfs.sh