大数据脚本合集
本篇MarkDown整理大数据相关组件的常用脚本命令,随时补充
本小组大数据平台采用Hdp部署方式,故其他框架的启动停止脚本未编纂在内,通过Hdp平台一键启动与停止即可
Hdp
启动ambari server
ambari-server start
重启ambari server
ambari-server restart
关闭ambari server
ambari-server stop
启动ambari agent
ambari-agent start
重启ambari agent
ambari-agent restart
关闭ambari agent
ambari-agent stop
Hadoop
查看指定目录下内容
hadoop dfs –ls [文件目录]
将本地文件存储至hadoop
hadoop fs –put [本地地址] [hadoop目录]
将hadoop上某个文件down至本地已有目录下
hadoop fs -get [文件目录] [本地目录]
删除hadoop上指定文件
hadoop fs –rm [文件地址]
在hadoop指定目录内创建新目录
hadoop fs –mkdir [hadoop目录]
在hadoop指定目录下新建一个空文件
hadoop fs -touchz [hadoop目录/文件名]
将hadoop上某个文件重命名
hadoop fs –mv /user/test.txt /user/ok.txt (将test.txt重命名为ok.txt)
将hadoop指定目录下所有内容保存为一个文件,同时down至本地
hadoop dfs –getmerge /user /home/t
将正在运行的hadoop作业kill掉
hadoop job –kill [job-id]
Yarn
杀死Yarn进程
yarn application -kill application_Id
Kafka
Kafka_home(测试环境)
/opt/kafka
查看topic
$kafka_home/bin/kafka-topics --zookeeper $host:2181 --list
查看消费者组信息
$kafka_home/bin/kafka-consumer-groups --bootstrap-server host:9092 --list
创建topic
$kafka_home/bin/kafka-topics --zookeeper $host1:2181, $host2:2181, $host3:2181 --create --replication-factor 1 --partitions 1 --topic <主题名>
生产消息
$kafka_home/bin/kafka-console-producer --broker-list $host:9092 --topic <主题名>
消费消息
$kafka_home/bin/kafka-console-consumer --bootstrap-server $host:9092 --from-beginning --topic <主题名>
删除topic
$kafka_home/bin/kafka-topics --delete --zookeeper $host1:2181, $host2:2181, $host3:2181 --topic <主题名>
查看kafka分区数
$kafka_home/bin/kafka-topics --describe --zookeeper $host1:2181, $host2:2181, $host3:2181 --topic pro_tbk_real_time_data
增加kafka分区数
$kafka_home/bin/kafka-topics --alter --zookeeper $host1:2181, $host2:2181, $host3:2181 --topic pro_tbk_real_time_data --partitions 6
查看消费者的offset
$kafka_home/bin/kafka-consumer-groups.sh --bootstrap-server $host:9092 --describe --group linkmcn-data-support-group
Spark
yarn模式启动应用程序
spark2-submit --class <主类名> --master yarn --deploy-mode client --driver-memory 2g --executor-memory 2g --executor-cores 3 <jar包>
集群通用脚本
注意修改脚本的权限
集群分发脚本(xsync.sh)
#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi
#2. 遍历所有目录,挨个发送
for file in $@
do
#3. 获取父目录
pdir=$(cd -P $(dirname $file); pwd)
#4. 获取当前文件的名称
fname=$(basename $file)
#5. 遍历集群所有机器,拷贝
for host in hadoop102 hadoop103 hadoop104
do
echo ==================== $host ====================
rsync -e 'ssh -p 2822' -av $pdir/$fname $USER@$host:$pdir
done
done
集群同步脚本(xcall.sh)
#! /bin/bash
for i in host1 host2 host3
do
echo --------- $i ----------
ssh $i "$*"
done
集群进程查看脚本(jpsall.sh)
#!/bin/bash
for i in host1 host2 host3
do
echo ===================== $i =====================
ssh -p 2822 root@$i "source /etc/profile && jps $@ | grep -v Jps"
done