Hadoop 十六 操作命令
一些命令
各个模块分开启动/停止(配置SSH是前提)
- 整体启动/停止HDFS
start-dfs.sh/stop-dfs.sh
2.整体启动/停止YARN
start-yarn.sh/stop-yarn.sh
各个服务组件逐一启动/停止
- 分别启动/停止HDFS组件
hdfs --daemon start/stop namenode/datanode/secondarynamenode
2. 启动停止YARN
yarn --daemon start/stop resourcemanager/nodemanager
为了简单,封装一个shell脚本
在bin目录下写myhadoop.sh脚本
#!/bin/bash
if [ $# -lt 1 ]
then
echo "No Args Input..."
exit ;
fi
case $1 in
"start")
echo " =================== 启动 hadoop 集群=========="
echo " ----启动 hdfs---"
ssh hadoop102 "/opt/module/hadoop-3.3.1/sbin/start-dfs.sh"
echo " ---启动 yarn---"
ssh hadoop103 "/opt/module/hadoop-3.3.1/sbin/start-yarn.sh"
echo " ---启动 historyserver---"
ssh hadoop102 "/opt/module/hadoop-3.3.1/bin/mapred --daemon start historyserver"
;;
"stop")
echo " =================== 关闭 hadoop 集群============="
echo " ------关闭 historyserver--------"
ssh hadoop102 "/opt/module/hadoop-3.3.1/bin/mapred --daemon stop historyserver"
echo "----- 关闭 yarn------"
ssh hadoop103 "/opt/module/hadoop-3.3.1/sbin/stop-yarn.sh"
echo " ---------关闭 hdfs--------"
ssh hadoop102 "/opt/module/hadoop-3.3.1/sbin/stop-dfs.sh"
;;
*)
echo "Input Args Error..."
;;
esac
更改脚本的权限
chmod 777 myhadoop.sh
运行
再写一个脚本jpsall用于查看所有服务器的jps
#!/bin/bash
for host in hadoop102 hadoop103 hadoop104
do
echo "有双引号"
echo 无双引号
echo =============== $host ===============
ssh $host jps
done
/usr/local/jdk/bin/jps
更改权限:
chmod 777 jpsall
运行
一直显示未找到命令,在网上找了好久,也没有找到答案,最后自己试验了不到两个小时,成功运行
问题在于,符号不能用等号,正确的代码
#!/bin/bash
for host in hadoop102 hadoop103 hadoop104
do
echo --------------- $host ---------------
ssh $host jps
done
正确原因却不得而知,网上也找不到答案。
分发到其他服务器上
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术