OushuDB集群启动停止方式
Ⅰ. 启动OushuDB集群
安装OushuDB集群会依次部署Zookeeper集群,HDFS集群,OushuDB集群,因此启动OushuDB集群需要将这三者依次启动。
一. 启动Zookeeper集群
1)使用hawq脚本进行群起,命令中注意需要切换到zookeeper用户
hawq ssh -f zkhostfile -e 'sudo -u zookeeper /usr/hdp/current/zookeeper-server/bin/zkServer.sh start'
启动后,查看status确认状态
hawq ssh -f zkhostfile -e 'sudo -u zookeeper /usr/hdp/current/zookeeper-server/bin/zkServer.sh status'
2)如果没有hawq脚本,可通过shell脚本来实现
for host in `cat zkhostfile`
do
ssh $host "sudo –u zookeeper /usr/hdp/current/zookeeper-server/bin/zkServer.sh start"
done
其中zkhostfile记录了Zookeeper集群所有节点的ip
二. 启动HDFSr集群
所有群起命令都要切到hdfs用户下执行:
1. 启动journalnode:
jhostfile:保存了journalnode的节点ip,一般是三个,内容同zkhostfile
1)通过hawq脚本启动
hawq ssh -f jhostfile -e 'sudo -u hdfs /usr/hdp/current/hadoop-client/sbin/hadoop-daemon.sh start journalnode'
2)通过shell脚本启动:
for host in `cat jhostfile ` do
ssh $host "sudo -u hdfs /usr/hdp/current/hadoop-client/sbin/hadoop-daemon.sh start journalnode"
done
2. 启动namenode:
nnhostfile保存了主namenode和备namenode的ip;
1)通过hawq脚本启动
hawq ssh -f nnhostfile -e 'sudo -u hdfs /usr/hdp/current/hadoop-client/sbin/hadoop-daemon.sh start namenode'
2)通过shell脚本启动:
for host in `cat hostfile_namenode `
do
ssh $host "sudo -u hdfs /usr/hdp/current/hadoop-client/sbin/hadoop-daemon.sh start namenode"
done
3. 启动datanode:
dnhostfile:保存了所有datanode节点的ip
1)通过hawq脚本启动
hawq ssh -f dnhostfile -e 'sudo -u hdfs /usr/hdp/current/hadoop-client/sbin/hadoop-daemon.sh start datanode'
2)通过shell脚本启动:
for host in `cat dnhostfile `
do
ssh $host "sudo -u hdfs /usr/hdp/current/hadoop-client/sbin/hadoop-daemon.sh start datanode"
done
4. 启动zkfc:
zkfc只会在namenode节点启动,作为Zookeeper的客户端监控namenode状态,并进行切换;
1)通过hawq脚本启动
hawq ssh -f nnhostfile -e 'sudo -u hdfs /usr/hdp/current/hadoop-client/sbin/hadoop-daemon.sh start zkfc'
2)通过shell脚本启动:
for host in `cat nnhostfile `
do
ssh $host "sudo -u hdfs /usr/hdp/current/hadoop-client/sbin/hadoop-daemon.sh start zkfc"
done
三. 启动OushuDB集群
su - gpadmin
source /usr/local/hawq/greenplum_path.sh
hawq start cluster -a
-a:表示不需要输入Y,直接启动
Ⅱ. 关闭OushuDB集群
依次关闭OushuDB集群,HDFS集群,Zookeeper集群
一. 停止OushuDB集群
su - gpadmin
source /usr/local/hawq/greenplum_path.sh
hawq stop cluster [-a] [-M smart | fast | immediate]
-a:表示不需要输入Y,直接关闭
-M选项提供了smart、fast、immediate三种停止方式,它们类似于Oracle中shutdown命令的normal、immediate和abort。
Smart是缺省值,如果发现数据库中有活动的连接,停止失败,并发出一个错误消息。
Fast方式中断并回滚当前处理的任何事务。
Immediate方式终止正在处理的事务,并立即杀掉所有相关postgres进程。数据库服务器不会完成事务处理,也不会清除任何临时数据或使用中的工作文件。(工作文件的概念与MySQL的临时文件类似。查询执行过程中,如果不能在内存进行,则会在磁盘创建工作文件。)因此,不推荐使用immediate停止方式。在某些情况下,immediate可能造成数据库损坏,并需要手工恢复。
如果已经修改并希望重载服务器参数设置,并且HAWQ数据库上的有活动连接,使用命令:hawq stop master -u -M fast
二. 停止HDFS集群
1. 停止zkfc:
1)通过hawq脚本停止
hawq ssh -f nnhostfile -e 'sudo -u hdfs /usr/hdp/current/hadoop-client/sbin/hadoop-daemon.sh stop zkfc'
2)通过shell脚本启动:
for host in `cat nnhostfile `
do
ssh $host “sudo -u hdfs /usr/hdp/current/hadoop-client/sbin/hadoop-daemon.sh stop zkfc”
done
2. 停止datanode:
1)通过hawq脚本停止:
hawq ssh -f dnhostfile -e 'sudo -u hdfs /usr/hdp/current/hadoop-client/sbin/hadoop-daemon.sh stop datanode'
2)通过shell来停止:
for host in `cat dnhostfile `
do
ssh $host “sudo -u hdfs /usr/hdp/current/hadoop-client/sbin/hadoop-daemon.sh stop datanode”
done
3. 停止namenode:
1)通过hawq脚本停止:
for host in `cat nnhostfile ` do ssh $host “sudo -u hdfs /usr/hdp/current/hadoop-client/sbin/hadoop-daemon.sh stop namenode” done
2)通过shell来停止:
for host in `cat nnhostfile `
do
ssh $host “sudo -u hdfs /usr/hdp/current/hadoop-client/sbin/hadoop-daemon.sh stop journalnode”
done
4. 停止journalnode:
1)通过hawq脚本停止:
hawq ssh -f jhostfile -e 'sudo -u hdfs /usr/hdp/current/hadoop-client/sbin/hadoop-daemon.sh stop journalnode'
2)通过shell脚本启动:
for host in `cat jhostfile `
do
ssh $host "sudo -u hdfs /usr/hdp/current/hadoop-client/sbin/hadoop-daemon.sh stop journalnode"
done
三. 停止ZooKeeper集群
1)使用hawq脚本关闭:
hawq ssh -f zkhostfile -e 'sudo -u zookeeper /usr/hdp/current/zookeeper-server/bin/zkServer.sh stop'
确认是否关闭:
hawq ssh -f zkhostfile -e 'sudo -u zookeeper /usr/hdp/current/zookeeper-server/bin/zkServer.sh status'
2)使用shell脚本关闭:
for host in `cat zkhostfile `
do
ssh $host “sudo –u zookeeper /usr/hdp/current/zookeeper-server/bin/zkServer.sh stop”
done
————————————————
版权声明:本文为CSDN博主「fangmiao_haha」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/fangmiao_haha/article/details/116123959
相关文章