一、问题描述
针对Hadoop集群使用start-dfs.sh start-yarn.sh进程无法全部启动,但是使用单独启动命令可以启动的问题进行解决。
Hadoop集群进程单独启动命令:
dfs:
NameNode:hadoop-daemon.sh start namenode
DataNode:hadoop-daemon.sh start datanode
SecondaryNameNode:hadoop-daemon.sh start secondarynamenode
yarn:
ResourceManager:yarn-daemon.sh start resourcemanager
NodeManager:yarn-daemon.sh start nodemanager
二、解决方案
先进入虚拟机的根目录创建一个bin目录下
cd ~
mkdir bin
进入bin目录
cd bin
新建一个hadoop.sh文件
sudo vim hadoop.sh
在里面编写如下命令
#!/bin/bash
case $1 in
"start" ){
source /etc/profile;
/usr/local/hadoop/sbin/hadoop-daemon.sh start datanode
/usr/local/hadoop/sbin/start-dfs.sh
/usr/local/hadoop/sbin/yarn-daemon.sh start nodemanager
/usr/local/hadoop/sbin/start-yarn.sh
/usr/local/hadoop/sbin/mr-jobhistory-daemon.sh start historyserver
};;
"stop"){
/usr/local/hadoop/sbin/hadoop-daemon.sh stop datanode
/usr/local/hadoop/sbin/stop-dfs.sh
/usr/local/hadoop/sbin/yarn-daemon.sh stop nodemanager
/usr/local/hadoop/sbin/stop-yarn.sh
/usr/local/hadoop/sbin/mr-jobhistory-daemon.sh stop historyserver
};;
esac
赋予文件权限
sudo chmod 777 hadoop.sh
三、测试
执行命令
hadoop.sh start
使用jps查看进程是否启动
jps
问题解决