修改blog防火墙设置

      最近发现了一个叫推酷的网站,非常恶心,把你的内容抓取后放到了他的网站上,其它用户搜索直接到他的网站,好听点叫聚合,难听点就是偷窃,虽然给了一个链接地址,但是你的所有内容都能够在他的网站访问。

      看到网上也有人提到这个问题,没办法,对待这种臭流氓就是封杀,把他的网段搞死,查看apache日志,它是通过rss来抓取,一开始想要把rss全部停用,后来觉得得不偿失,看了下他的ip就是三个:

211.144.76.143
211.144.76.144
211.144.76.244

      加防火墙规则,把他的网段给封了。中国人是不是就没有知识产权的概念啊!

Ganglia配置续

      续上一篇blog,虽然加入了rrdcached,能够将大量的随机写变为较多的连续写,保证了写入的速度,确保IO write不是瓶颈。但是当打开首页的时候仍然发现速度非常慢,查看系统iostat其实发现读写都很少,所以确定不是硬盘瓶颈导致的。查看代码,首页是读取gmetad的端口行程xml文件并解析的。通过top查看gmetad进程,可以看出进程cpu已经跑满,这时候可以推测任何的读操作都是与写操作进行大量的竞争,返回十分缓慢。解决办法其实很简答,就是在gweb机器上启动两个gmetad进程,一个负责去写,一个负责去解析并返回xml数据,这样读写分离能够大大的提高效率。

      步骤也很简单:

      1、cp一份gmetad的conf文件,比如叫gmetad-norrd.conf,修改conf文件,修改xml_port端口从默认的8651改为8661,修改interactive_port从8652改为8662,把rrd_rootdir改为一个已存在的目录,防止配置错误导致丢数据

      2、修改gmetad的启动脚本,我的在/etc/rc.d/init.d/gmetad,加入以下配置

           在start处

daemon $GMETAD -c /etc/ganglia/gmetad-norrds.conf
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/gmetad.readonly

      在stop处

[ $RETVAL -eq 0 ]  rm -f /var/lock/subsys/gmetad && rm -f /var/lock/subsys/gmetad.readonly

     3、修改gweb的php conf.php,将端口从8651改为8661

   4、重启gmetad,gweb

       启动后,秒开。感谢google,感谢这篇文章:http://blog.hartshorne.net/2014/02/ganglia-web-ui-performance-improvement.html

Ganglia配置小记

      Ganglia是我们Hadoop系统中重要的运维工具,当然我们也开了自己的一套监控系统,这是后话。但是随着监控的机器越来越多,以及监控的指标越来越多,导致了对Ganglia的访问十分缓慢。我花了一些时间看了一下我们的gmetad以及gweb,优化了一些配置。其实相关的文章非常多,我只列一下重要的,方便查询。

      https://github.com/ganglia/monitor-core/wiki/Integrating-Ganglia-with-rrdcached   配置方法。

      http://www.perzl.org/aix/index.php?n=Main.Ganglia-rrdcached  例子。

      http://pages.cs.wisc.edu/~plonka/lisa/lisa2007/bigmrtg-lisa-talk.pdf   很好地解析文章。

      简单地说,我本来想用iotop看一下我ganglia web服务器上面的io使用量,但无奈,机器内核版本过低,安装iotop后无法使用,但是通过iostat以及top,sar查看,可以看到我的磁盘写入已经到100%利用率,成为严重瓶颈,cpu一直是60%的io wait,至少写入有问题。根据上面三篇文章,配置了rrdcached,很轻易的,io的写瓶颈消失了,至少集群的metrcs写入不再是问题。但是配置gweb的时候发现,首页读取依然非常慢,查代码后发现,首页的读取时读取gmetad的端口返回xml文件,如果metrcis非常多的时候返回就要几分钟,相当恐怖。

      至此,ganglia web的问题就成为了瓶颈,解决方法1、修改gweb php代码   2、前端展示采用自己的监控系统,后端收集还是走gangila

DataNode与NameNode通讯

这是我近期做的关于DataNode与NameNode之间通讯的一个简单培训,这也是在查询DataNode动态上下盘时候发现问题时候顺便总结的。关于动态上下盘的Bug会在稍后写一篇文章分享。

近况

     最近去北欧四国旅行,感受大自然之美,看到了极光,自驾300KM。2015,开始了。