shell脚本实现一键启动集群的zookeeper和hadoop

为了方便高可用集群中Zookeeper和Hadoop的启动,作者编写了一个shell脚本,通过该脚本可以一次性启动整个集群。在执行脚本时要注意第6行和第12行不要将`source /etc/profile`替换为`sh`,否则会导致启动出现问题。脚本的执行展示了集群的启动和关闭状态。

因为我的集群是高可用的,所以基本上都是和zookeeper整合的。然而zookeeper的启动又需要一个机器一个机器的启动,非常麻烦。所以我就产生了写一个shell脚本来启动集群。不说废话,直接上脚本。

#!/bin/bash
#一键启动集群
for i in {"hadoop01","hadoop02","hadoop03"};
do
	echo "-----$1 $i zookeeper-------"
	ssh $i "source /etc/profile;/export/servers/zookeeper-3.4.9/bin/zkServer.sh $1"
done
sleep 5
for j in {"hadoop01","hadoop02","hadoop03"};
do
	echo "------$j status-------"
	ssh $j "source /etc/profile;/export/servers/zookeeper-3.4.9/bin/zkServer.sh status"
done

sleep 5
var='-all.sh'
var1=$1$var

echo "-----$k hadoop $1-----"
ssh hadoop01 "sh /export/servers/hadoop-2.6.0-cdh5.14.0/sbin/$var1"

第6行和第12行的source /etc/profile 不要换成sh,否则出现结果二。

1.结果一之启动结果:

结果一之关闭结果:

在虚拟机中,配置并一键启动HBase、ZooKeeperHadoop通常需要一个shell脚本来自动化这个过程。以下是一个简化的步骤概述: 1. 首先,你需要在虚拟机上安装必要的软件包,如Java Development Kit (JDK),Apache Hadoop组件的基础包(例如Hadoop YARNHDFS),以及ZooKeeper。 2. 使用Linux(比如Ubuntu或CentOS)的`bash`脚本,你可以创建一个名为`start_cluster.sh`的文件,内容大致如下: ```sh #!/bin/bash # 启动ZooKeeper if [ -f /etc/init.d/zookeeper ]; then sudo service zookeeper start else sudo su -c 'cd /path/to/zookeeper; ./zkServer.sh start' fi # 确认ZooKeeper运行正常,如果有必要等待一段时间 sleep 10 echo "Checking ZooKeeper..." curl localhost:2181 | grep Mode # 启动Hadoop HDFSYARN服务 if [ -f /etc/init.d/hadoop-hdfs ] && [ -f /etc/init.d/yarn ]; then sudo service hadoop-hdfs-namenode start sudo service yarn-resourcemanager start sleep 30 else echo "Starting Hadoop manually..." # 进入Hadoop目录并启动相应守护进程 sudo su -c 'cd /path/to/hadoop; sbin/start-all.sh' fi # 检查Hadoop服务状态 echo "Checking HDFS and YARN..." hadoop dfsadmin -report yarn jar /path/to/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples.jar wordcount /input /output # 如果一切成功,脚本会提示用户开始使用集群 echo "HBase、ZooKeeper and Hadoop started successfully. You can now access them." ``` 请注意,上述脚本中的路径需要替换为你实际安装HadoopZooKeeper的位置。此外,对于HBase,如果你想要一起启动,你需要确认它依赖于Hadoop并且也已经安装。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值