#!/bin/bash
# 在调用shell脚本时,需要传入一个参数 用于标识执行开启或者关闭Hadoop(hdfs,yarnhistory)
#判断调用shell脚本时 是否正常的传入参数
if [ $# -lt 1 ]
then
echo "调用该脚本时需要传入一个参数"
exit ;
fi
case $1 in
"start")
echo "---------------------启动Hadoop集群-------------"
echo "-------------------启动hdfs-------------------"
#远程访问bigdata04 然后执行start-dfs.sh
ssh bigdata04 "/opt/softs/hadoop3.1.3/sbin/start-dfs.sh"
echo "----------------启动yarn---------------------"
ssh bigdata06 "/opt/softs/hadoop3.1.3/sbin/start-yarn.sh"
echo "-------------------------启动历史服务---------------"
ssh bigdata06 "/opt/softs/hadoop3.1.3/bin/mapred --daemon start historyserver"
;;
"stop")
echo "---------------------关闭Hadoop集群-------------"
echo "-------------------关闭hdfs-------------------"
#远程访问bigdata04 然后执行start-dfs.sh
ssh bigdata04 "/opt/softs/hadoop3.1.3/sbin/stop-dfs.sh"
echo "----------------关闭yarn---------------------"
ssh bigdata06 "/opt/softs/hadoop3.1.3/sbin/stop-yarn.sh"
echo "-------------------------关闭历史服务---------------"
ssh bigdata06 "/opt/softs/hadoop3.1.3/bin/mapred --daemon stop historyserver"
;;
*)
echo "输入的参数不符合脚本运行要求,输入start或stop"
;;
esac
#!/bin/bash
for hostname in bigdata04 bigdata05 bigdata06
do
echo "-----------------------$hostname---------------"
ssh $hostname "/opt/softs/jdk1.8/bin/jps"
done
bigdata04:9870
bigdata06:8088
bigdata06:19888/jobhistory
hadoop fs -要执行的linux命令
hdfs dfs -要执行的linux命令
查询hdfs上的文件管理系统的根目录
hadoop fs -ls /
递归查询hdfs上的根目录
hadoop fs -ls -R /
hdfs下创建目录
hadoop fs -mkdir /test
移除hdfs的目录
hadoop fs -rm -r /test
hdfs上创建文件
hadoop fs -touch /a.txt
向hdfs上传文件,第一个路径是本地路径,第二个路径是hdfs上的路径
hadoop fs -put /opt/file/my_hadoop.sh /
读取显示hdfs上的文件内容
hadoop fs -cat /my_hadoop.sh
从hdfs上获取文件,第一个路径是hdfs上的文件路径,第二个路径是本地要下载到的路径
hadoop fs -get /a.txt /opt/file/
hdfs上复制文件,第一个是要复制的文件路径,第二个是要复制到的位置以及复制后的名字
fs -cp /a.txt /a_new.txt
hdfs上移动或重命名文件,类似于linux中的mv命令,第一个路径是源文件路径,第二个是要移动的路径或要更改成的名称
hadoop fs -mv /a.txt /b.txt