cp命令显示进度
-v, --verbose explain what is being done
-R, -r, --recursive 递归复制目录及其子目录内的所有内容
比如
[hadoop@hadoop-101 module]$ cp -r -v hadoop-2.8.3/ /opt/software/
就可以看到复制的进度了,显示哪些文件已经复制过了,避免了一次复制文件太多,命令行什么都不输出,很慌的情况
Zookeeper群控脚本
- 使用root用户在/user/local/bin目录下创建zkservers.sh文件
并输入以下内容
#!/bin/bash
command=$#
if((command != 1));then
echo args number wrong
exit;
fi
command1=$1
if [[ $command1 == "start" ]]; then
echo "================ 正在启动Zookeeper ==========="
# hadoop@hadoop-100 hadoop是运行zookeeper的用户 hadoop-100是主机名
for i in hadoop@hadoop-100 hadoop@hadoop-101 hadoop@hadoop-102
do
ssh $i '/opt/module/zookeeper-3.4.10/bin/zkServer.sh start'
done
elif [[ $command1 == "stop" ]]; then
echo "================ 正在停止Zookeeper ==========="
for i in hadoop@hadoop-100 hadoop@hadoop-101 hadoop@hadoop-102
do
ssh $i '/opt/module/zookeeper-3.4.10/bin/zkServer.sh stop'
done
elif [[ $command1 == "status" ]]; then
echo "================ 查询Zookeeper状态 ==========="
for i in hadoop@hadoop-100 hadoop@hadoop-101 hadoop@hadoop-102
do
ssh $i '/opt/module/zookeeper-3.4.10/bin/zkServer.sh status'
done
else
echo args wrong
fi
- 使该文件成可执行文件
chmod 777 xsync - 改变拥有者为hadoop
chown hadoop:hadoop xsync - 配置系统变量
上面我用的是hadoop用户,因此需要再/home/hadoop/.bashrc配置JAVA_HOME
并source /home/hadoop/.bashrc - 命令使用
zkservers start 开启zookeeper集群
zkservers stop 停止zookeeper集群
zkservers status 查看zookeeper集群状态
Kafka群控脚本
文件名字 mykafka
#!/bin/bash
command=$#
if((command != 1));then
echo args number wrong
exit;
fi
command1=$1
if [[ $command1 == "start" ]]; then
echo "================ 正在启动Kafka ==========="
# hadoop@hadoop-100 hadoop是运行kafka的用户 hadoop-100是主机名
for i in hadoop@hadoop-100 hadoop@hadoop-101 hadoop@hadoop-102
do
ssh $i '/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties start'
done
elif [[ $command1 == "stop" ]]; then
echo "================ 正在停止Kafka ==========="
for i in hadoop@hadoop-100 hadoop@hadoop-101 hadoop@hadoop-102
do
ssh $i '/opt/module/kafka/bin/kafka-server-stop.sh stop'
done
else
echo args wrong
fi
mykafka start 启动kafka集群
mykafka stop 停止kafka集群
查看集群jps
文件名 myjps
#!/bin/bash
for i in hadoop@hadoop-100 hadoop@hadoop-101 hadoop@hadoop-102
do
echo "=========== $i ==========="
ssh $i '/opt/module/jdk1.8.0_181/bin/jps'
done
hadoop集群操作命令
文件 myhadoop.sh
#!/bin/bash
command=$#
if((command != 1));then
echo args number wrong
exit;
fi
command1=$1
if [[ $command1 == "start" ]]; then
echo "================ 正在开启所有节点服务 ==========="
echo "================ 正在启动Zookeeper ==========="
# hadoop@hadoop-100 hadoop是运行zookeeper的用户 hadoop-100是主机名
for i in hadoop@hadoop-100 hadoop@hadoop-101 hadoop@hadoop-102
do
ssh $i '/opt/module/zookeeper-3.4.10/bin/zkServer.sh start'
done
echo "================ 正在启动HDFS ==========="
ssh hadoop@hadoop-100 '/opt/module/hadoop-2.8.3/sbin/start-dfs.sh'
echo "================ 正在启动YARN ==========="
ssh hadoop@hadoop-101 '/opt/module/hadoop-2.8.3/sbin/start-yarn.sh'
echo "================ 正在开启JobHistoryServer ==========="
ssh hadoop@hadoop-101 '/opt/module/hadoop-2.8.3/sbin/mr-jobhistory-daemon.sh start historyserver'
elif [[ $command1 == "stop" ]]; then
echo "================ 正在所有节点服务 ==========="
echo "================ 正在停止JobHistoryServer ==========="
ssh hadoop@hadoop-101 '/opt/module/hadoop-2.8.3/sbin/mr-jobhistory-daemon.sh stop historyserver'
echo "================ 正在停止YARN ==========="
ssh hadoop@hadoop-101 '/opt/module/hadoop-2.8.3/sbin/stop-yarn.sh'
echo "================ 正在停止HDFS ==========="
ssh hadoop@hadoop-100 '/opt/module/hadoop-2.8.3/sbin/stop-dfs.sh'
echo "================ 正在停止Zookeeper ==========="
for i in hadoop@hadoop-100 hadoop@hadoop-101 hadoop@hadoop-102
do
ssh $i '/opt/module/zookeeper-3.4.10/bin/zkServer.sh stop'
done
else
echo args wrong
fi
myhadoop start 开启集群
myhadoop stop 停止集群