Hadoop生态学习之Shell封装脚本
Hadoop
hdfs 创建目录
hadoop-mkdir.sh
1 2 3 4 5
| #!/bin/bash #vi hadoop-mkdir.sh #在hadoop的bin目录下创建
hadoop fs -mkdir -p $1
|
测试:

hafs 上传
hadoop-put.sh
1 2 3
| #!/bin/bash
hadoop fs -put $1 $2
|
测试:
1
| sh hadoop-put.sh /root/wc.txt /test
|

hafs 删除
hadoop-rm.sh
1 2 3
| #!/bin/bash
hadoop fs -rm -r $1
|
Zookeeper
在zookeeper的根目录下创建sbin目录,并配置环境变量。
一键启动集群中的zookeeper服务
zkstart.sh
1 2 3 4 5 6 7 8 9 10 11
| #!/bin/bash echo "--------------------zookeeper集群启动----------------------" for host in hadoop01 hadoop02 hadoop03 #固定搭配 do #具体逻辑 ssh $host "/usr/local/zookeeper-3.4.6/bin/zkServer.sh start" #输出提示 echo "$host, 启动成功!!!" #结束 done
|
查看集群zookeeper服务状态
zkstatus.sh
1 2 3 4 5 6 7 8 9 10 11
| #!/bin/sh echo "--------------------zookeeper集群状态----------------------" for host in hadoop01 hadoop02 hadoop03 #固定搭配 do #具体逻辑 ssh $host "/usr/local/zookeeper-3.4.6/bin/zkServer.sh status" #输出提示 echo "$host, 状态!!!" #结束 done
|
一键停止zookeeper服务
zkstop.sh
1 2 3 4 5 6 7 8 9 10 11
| #!/bin/sh echo "--------------------zookeeper集群停止----------------------" for host in hadoop01 hadoop02 hadoop03
do
ssh $host "/usr/local/zookeeper-3.4.6/bin/zkServer.sh stop"
echo "$host, 停止!!!"
done
|
Oozie
对执行任务命令进行封装
==在bin 目录下创建,在flume根目录下执行==
oozie-job.sh
1 2 3
| #!/bin/bash
bin/oozie job -oozie http://hadoop01:11000/oozie -config oozie-apps/$1/job.properties -run
|
样例:

对杀死任务命令进行封装
oozie-killjob.sh
1 2 3
| #!/bin/bash
bin/oozie job -oozie http://hadoop01:11000/oozie -kill $1
|
样例:
1
| oozie-killjob.sh 0000000-200730140126921-oozie-root-W
|
Flume
对启动命令进行封装
==在bin 目录下创建,在flume根目录下执行==
start-myconf.sh
1 2 3
| #!/bin/bash
bin/flume-ng agent -c conf -f $1 -n a1 -Dflume.root.logger=info,console
|
修改权限:
1
| chmod 777 start-myconf.sh
|
执行样例:
1
| [root@hadoop01 apache-flume-1.8.0-bin]
|
注意
所有封装的shell在写完后需要更改权限