快一年没写博客了,终于回来了,最近因公司业务需要,要基于cdh发行版打包自定义patch的rpm,于是又搞起了bigtop,就是那个hadoop编译打包rpm和deb的工具,由于国内基本没有相关的资料和文档,所以觉得有必要把阅读bigtop源码和修改的思路分享一下。 (更多…) [...]
Tornado学习笔记(四)
一、Tornado的语言国际化方法 Tornado做国际化折腾了一下下,Tornado这部分的官方文档太poor了。所以自己记录一下如何用tornado结合gettext做国际化。 第一步,在项目路径下建立./locales/zh_CN/LC_MESSAGES文件夹。 第二步,使用xgettext或poedit在第一步的文件夹下创建一个po文件,比如messages.po,我用poedit创建,比[...]
Hadoop运维记录系列(十七)
上个月通过email,帮朋友的朋友解决了一个Cloudera的Spark-SQL无法访问HBase做数据分析的问题,记录一下。 首先,对方已经做好了Hive访问HBase,所以spark-sql原则上可以通过调用Hive的元数据来访问Hbase。但是执行极慢,而且日志无报错。中间都是邮件沟通,先问了几个问题,是否启用了Kerberos,是否Hive访问Hbase正常,HBase shell访问数据[...]
Hadoop运维记录系列(十六)
应了一个国内某电信运营商集群恢复的事,集群故障很严重,做了HA的集群Namenode挂掉了。具体过程不详,但是从受害者的只言片语中大概回顾一下历史的片段。 Active的namenode元数据硬盘满了,满了,满了…上来第一句话就如雷贯耳。 运维人员发现硬盘满了以后执行了对active namenode的元数据日志执行了 echo “” > edit_xx[...]
Tornado学习笔记(三)
记录一些Tornado中的常用知识。 (更多…)
阿里云FreeBSD初始化方法
阿里云貌似最近推出了FreeBSD镜像,这是我最喜欢的操作系统,个人看法比Linux好太多了。但是阿里云方面文档没有跟上,无任何挂载硬盘相关的操作说明,所以记录一下在阿里云FreeBSD镜像环境下挂载云磁盘的操作过程。 (更多…) [...]
Tornado学习笔记(二)
我一直用python2.x,python2.x内置的字符编码方式是unicode,这就对中文的处理造成了一些困扰,尤其是在用tornado写json接口的时候,如果不做处理,出来的没有中文,都是\x4d5f之类的东西。所以通常需要这样去处理下。 (更多…) [...]
使用flume替代原有的scribe服务
以前很多业务都是用scribe做日志收集的支撑的,后来fb停止了对scribe的开发支持。而且scribe在机器上编译一次的代价太大了,各种坑,正好后来flume从1.3.0开始加入了对scribe的支持。就可以把原来scribe上面接入的数据转用flume收集了。虽然我很喜欢scribe,但是失去了官方支持毕竟还是很闹心的。 (更多…) [...]
Hadoop运维记录系列(十五)
早期搭建Hadoop集群的时候,在做主机和IP解析的时候,通常的做法是写hosts文件,但是Hadoop集群大了以后做hosts文件很麻烦,每次加新的服务器都需要整个集群重新同步一次hosts文件,另外,如果在同一个域下面做两个集群,做distcp,也需要把两个集群的hosts文件全写完整并完全同步,很麻烦。那么,一劳永逸的办法就是做DNS。DNS我这边已经用了很长时间了,几年前为了学这个还专门买[...]
关于Diablo3的历史和现状思考
大菠萝3已经通了,用巫医基本没难度,玩游戏的过程中引发了一些思考,结合整个游戏的历史背景设定,总觉得不写出来就缺点什么。我是暴雪的忠实粉丝,暴雪每款游戏我都玩了,包括早期Dos下的失落的维京人。 (更多…) [...]