博客公告:(1)本博客所有博客文章搬迁至《博客虫》http://www.blogchong.com/
(2)文章对应的源码下载链接参考博客虫网站首页的“代码GIT”直通车;
(3)更多的相关文章更新,以及代码等,请关注博客虫网站,网站中有技术Q群,以及代码共享链接。
该文档为实实在在的原创文档,转载请注明:
目录
1 文档说明
老规矩了,习惯了在写文档前说点什么。写这个文档呢,是因为前几天在群中有人讨论关于nimbus没有自动重启机制,如何保证系统挂掉后重启的问题。刚好有朋友也问到了这个问题,就写了几个脚本,顺便写个文档说明说明。
顺便还写了个集群免登陆的脚本,及集群ZK操作的脚本。免登陆后再执行zk操作脚本,我们就可以在一台机子上启动集群的ZK、停止ZK及查看ZK状态等等。
关于nimbus监控脚本,只需要后台让他执行就行了,他会自动检测nimbus是否挂掉,如果挂掉就会重启他,有点像nimbus守护进程类似的东西,顺便还给他写了monitor监控的log,方便查询。
这些脚本都是原创的哦,刚写出来的,新鲜出炉的。
好了,就说这些了。
有兴趣和我一起讨论相关技术的加入我建的qq群:191321336
我的一些文档都会更新到我的blog上:http://blog.sina.com.cn/huangchongyuan(~_~来关注我吧),有兴趣的去看看,欢迎一起探讨技术。
2 相关脚本
2.1 sshFreeLogin.sh
2.1.1 脚本说明
该脚本用于ip之间免登陆设置,在storm集群中,往往很多时候只有一个操作界面,需要登录的其他节点进行操作,设置免登陆后,该操作会变的更简单。
该脚本会有一个ip.list配置列表。
2.1.2 上代码
Ip.list:
192.168.2.240
192.168.2.241
192.168.2.242
sshFreeLogin.sh:
#!/bin/bash
#author:
#blog:
#QQ group:
#E-mail:
function Echo() {
}
function LocalSsh() {
}
if [ $# -eq 1 ]; then
else
fi
2.2 optZk.sh
2.2.1 脚本说明
该脚本主要是ZK集群操作,配合免登陆设置,可以在一台机子上进行ZK集群的启动,停止及查看状态等操作。该脚本稍微改改就可以用于其它集群类型的操作。代码很简单,可以自己看看。
2.2.2 上代码
optZk.sh:
#!/bin/bash
#author:
#blog:
#QQ group:
#E-mail:
function Echo() {
}
function optZk() {
}
if [ $# -eq 2 ]; then
else
fi
2.3 monitorNimbus.sh
2.3.1 脚本说明
该脚本用于nimbus的监控,只需后台执行该脚本,该脚本会自动监控nimbus的运行,当检测到挂掉以后,会自动重启,并且会把监控结果以log的形式保存下来。
2.3.2 上代码
MonitorNimbus.sh:
#!/bin/bash
#author:
#blog:
#QQ group:
#E-mail:
function Init() {
}
function MonitorNimbus() {
}
Init
MonitorNimbus
exit 1
3 寻求帮助
3.1 原由
前几天一直在研究metaq,试图往metaq上写数据(已经启动ZK集群,及metaq集群,并且都保证集群启动成功,metaq也配置好了),但代码执行时出错了,纠结了很久。希望有朋友能够帮助我,有能指导的请博客留言,谢谢了。
3.2 问题
3.2.1 metaq-client代码
这是我的metaq写数据的代码:
final MetaClientConfig metaClientConfig = new MetaClientConfig();
final ZKConfig zkConfig = new ZKConfig();
zkConfig.zkConnect = "192.168.2.240:2181";
zkConfig.zkRoot = "/meta";
metaClientConfig.setZkConfig(zkConfig);
SendResult sendResult;
final MessageSessionFactory sessionFactory = new MetaMessageSessionFactor
final MessageProducer producer = sessionFactory.createProducer();
producer.publish(topic);
fis = new FileInputStream("test.log");
final BufferedReader reader = new BufferedReader(new InputStreamReader(fis, "UTF-8"));
String line = null;
while ((line = reader.readLine()) != null) {
}
3.2.2 报错
PS:有知道的朋友指导一二,留个言,拜托了~~~