My studying notes for Java,Ruby,Ajax and other any interesting things.

星期一, 九月 30, 2013

jstorm从源码构建

 
前置条件:(linux下面安装见前面文档)
java
maven
1.将jstorm从github中clone出来:

2.修改pom.xml,以避免zookeeper的cdh3u0版本无法找 到:
       <repository>
          <id>central2</id>
          <name>libs-release</name>
          <url>https://repository.cloudera.com/artifactory/libs-release</url>
        </repository>
增加:utf8支持,避免本地编码的warning
   <properties>
        <powermock.version>1.4.11</powermock.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

3.然后根据deploy文件进行执行:mvn clean mvn package assembly:assembly

途中会有warning提示:
[WARNING] Assembly file: /home/xxxx/code/java/jstorm/target/jstorm-jstorm is not a regular file (it may be a directory). It cannot be attached to the project build for installation or deployment.
[WARNING] NOTE: Currently, inclusion of module dependencies may produce unpredictable results if a version conflict occurs.
[WARNING] The following patterns were never triggered in this artifact exclusion filter:
o  'com.alipay.dw:jstorm-client'
o  'com.alipay.dw:jstorm-client-extension'

[WARNING] The following patterns were never triggered in this artifact exclusion filter:
o  'com.alipay.dw:jstorm-client'
o  'com.alipay.dw:jstorm-client-extension'
应该没有什么问题,主要是目录警告和模块依赖警告,在mvn3和mvn2有些区别?

4.package完毕后,会在target目录中生成一个tgz文件: jstorm-jstorm.tar.gz,可以用于部署:

结构如下:
`-- jstorm
    |-- bin --运行路径
    |   `-- jstorm
    |-- conf --配置目录
    |   |-- jstorm.log4j.properties
    |   `-- storm.yaml
    |-- jstorm-client-0.7.1.jar --客户端jar
    |-- jstorm-client-extension-0.7.1.jar --客户端扩展
    |-- jstorm-server-0.7.1.jar --服务jar
    |-- jstorm-ui-0.7.1.war--可以部署在tomcat中用于管理jstorm的运行
    `-- lib--第三方依赖的jar包

构建完毕需要在jstorm的目录中touch RELEASE文件,否则bin/jstorm在执行的时候会报告错误:
******************************************
The jstorm client can only be run from within a release. You appear to be trying to run the client from a checkout of Storm's source code.

You can download a JStorm release 
******************************************

安装zmq和jzmq:
zmq:
tar -xzf zeromq-2.1.7.tar.gz
cd zeromq-2.1.7
./configure
make
sudo make install
jzmq:
#install jzmq
git clone https://github.com/nathanmarz/jzmq.git
cd jzmq
./autogen.sh
./configure
make
sudo make install

建议使用2.1.7,避免导致各种兼容问题。

refer: https://github.com/nathanmarz/storm/wiki/Installing-native-dependencies


本邮件及其附件含有"赶集网"的保密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制、或散发)本邮件中的信息。如果您错收了本邮件,请您立即电话或邮件通知发件人并删除本邮件!

This e-mail and its attachments contain confidential information from GanJi, which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender by phone or email immediately and delete it!

星期日, 九月 29, 2013

在centos中安装java

近期准 备将一些服务迁移到java环境中来,简单记录一些操作过程。

1.检查是否安装了openjdk,如果是的话,卸载重新安装oracle官方的jdk
java -version --查看java版本号
rpm -qa|grep java  查看rpm中安装的jdk版本信息
java-1.6.0-openjdk-1.6.0.0-1.40.1.11.11.el5_9
tzdata-java-2013c-1.el5
2.卸载默认安装的jdk信息,使用yum即可:
yum -y remove java-1.6.0-openjdk-1.6.0.0-1.40.1.11.11.el5_9
yum -y remove tzdata-java-2013c-1.el5
3.到oracle官方网站中下载jdk信息,通常使用tar.gz包进行安装:
可以通过uname -a查看自己的linux版本,可以下载32或者64位的jdk安装包
4.安装过程:
mkdir /usr/java
cp *.gz /usr/java
cd /usr/java
tar -xvzf jdk-7u13-linux-x64.gz
mv jdk1.7.0_13 jdk
          如果下载的是rpm包的话可以使用:rpm -ivh jdk-7u13-linux-x64.rpm 进行安装
5.修改profile:
vi /etc/profile 
加入:
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
export JAVA_HOME=/usr/java/jdk
export PATH=$JAVA_HOME:$PATH
export CLASSPATH=.;$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 

然后执行source /etc/profile,令其当前生效,输入java -version检查是否安装完毕


本邮件及其附件含有"赶集网"的保密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制、或散发)本邮件中的信息。如果您错收了本邮件,请您立即电话或邮件通知发件人并删除本邮件!

This e-mail and its attachments contain confidential information from GanJi, which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender by phone or email immediately and delete it!

星期三, 四月 03, 2013

北京的樱花开了,美图共赏

From Evernote:

北京的樱花开了,美图共赏

北京的春天终于姗姗来迟,在一场大雪以后,温度开始回暖。数值开始发芽,花儿含苞欲放,正是北京最漂亮的季节。


同时向大家报告一下生活状态:

  1. 上周一个人去了玉渊潭公园,顺手拍了几张照片,发给大家,希望能够给您带来简单的快乐。

  2. 近期钱包丢了,身份证,银行卡啥的都在里面,一顿证件补办,忙的不亦乐乎。破财免灾,不过向老婆交代上面出了点小问题:里面有结婚照仅存的一张照片,意义非凡,且钱包是她送的。不过所幸老婆大人宽宏大量,在答应一个月购物不受限的情况下,宽宏大量的原谅了我...

  3. 参加了几个投资公司的管理培训,才觉得,做人简单比较容易,但是管人还是蛮不简单的。之前没发现的问题,在被培训的时候才发现都是问题。不知道是培训师把管理搞太复杂,还是我把管理想象太简单了。且不管了,细心观察,仔细学习总有可能用得到。

  4. 看资治通鉴,有不少关于人才的论断还是不错,改天抄过来大家分享;

  5. 有新同学问我,怎么才能简单,从一个男人的角度抄书回复:

    "  

    要担当、要谦敬、要沉潜、要诚信,四者做人要言。

    不浅薄、不浮躁、不寡信、不自傲,四者处世要言。

    平凡平淡,持一平常心。
    简朴简约,持一简单道。
       

    "或者换言之,你开心不费劲就是简单了。对我个人来说,每天早上自己煎个鸡蛋吃,就很高兴,这就是我的简单。

照片来了:

chrome中的一些好的扩展用于代替opera

From Evernote:

chrome中的一些好的扩展用于代替opera

一直以来,我都使用着opera,主要因为有几点:
1.速度快,号称地球上面最快的浏览器,pestro引擎强大的js和css解析能力;
2.html5的支持能力;
3.高可定制性:如单键快捷键,内置支持的鼠标手势,支持rss阅读等,自定义搜索,自定义书别名等;
4.集成性:比如查看页面所有链接并打开,将当前页面部分内容copy note并可以进行管理;
5.opera turbo,当速度很慢的时候开启,速度会变得很快,同时自动做了代理服务器;
当然,还有一些其他的,如内存占用小,几乎从不崩溃等..

但是最近opera转向webkit,看得出来其发展方向摇摆不定,更重要是放在mobile上面。为了让移动浏览体验提升,不得不抛弃了自己开发的Pesto引擎,转而投向webkit的怀抱。而google则最近宣称,将弃用webkit,转而投入兵力开发自己的引擎。

于是,我在想,如果opera在某天以后不再适合我(10多年的opera忠实粉丝..),也需我需要一个其他可以代替opera工作的浏览器。我的眼光看向了chrome,于是今天上午"实地考察"了一下,记录如下。

从单独的chrome本身来说,并没有特别出彩的地方。打开速度与opera相差不大,在很多tab的情况下,略胜于opera。但是设置界面确实比opera简洁太多,且均云端存储,无论你换了哪个电脑,均能自动同步设置。这一点,opera并没有同步设置,只是同步了书签和搜索等功能。缺点:
1.默认没有鼠标手势;
2.快捷键少得可怜;
3.代理设置居然是和ie共享,想要翻墙不容易;

听说都可以使用extension来解决,于是装了这些插件,然后基本上可以代替opera工作了:
1.smooth guesture,用于鼠标手势,基本上与opera的鼠标手势相当,但仅能支持chrome的菜单内容,灵活性和全面性不如opera;
2.shortcuts manager,一个日本人开发的,用于管理快捷键,可以完成opera中的各种快捷键设置功能,包括单键;常用的如:1,2切换tab,r,t,c设置刷新,打开,关闭tab等;
3.hosts管理工具,对开发同学来说比较重要,可以方便的切换测试环境等;
4.adblock,方便屏蔽页面中的各种广告,包括facebook页面的,尝试了一下,比opera的屏蔽更方便,当然,前提是你没有自定义css和js来实现;
5.proxy switchySharp,代理切换。chrome默认的代理管理是与ie浏览器共享的,实在不方便,而且经常不生效(原因不明),于是安装了goagent和proxy swtichy,这两个组合起来,翻墙无敌。


其他的,如one numbertab exposeTweetshare 等都是增强型,也都还不错,居家必备。

整体来说,装了这些扩展以后,基本可以替换opera了,但是在书签别名(输入b打开百度,jr打开jira),自定义搜索上面还不能完全替换opera。因此,短期内还将继续使用opera,但同时关注chrome。chrome的插件功能还是蛮强大的,能够实现的事情太多了,相比起来opera的扩展简直就是玩具,很期待...

毕竟chrome的设计是按照操作系统来做的,不得不服啊..opera加油吧!

星期二, 二月 26, 2013

烟花易冷

烟花易 冷

梦中轻叹。唯红颜易老。 

泪水在飘。唇边是空门。 

萧瑟秋风伴我半世流离。 

落叶入流水。停不了是千年的宿命。 

他乡酒。醉不倒流浪的游子。 

入愁肠。怀念那泥板路上斑驳的青霜。 

锁不住。红尘纷纷。 

故事里。多少断肠。 


诉不尽的情伤缠在草丛旁摇摇欲坠的花梗上。 

繁华落尽。转身离开。带着一身哀怨。 

那孤单的背影。道不尽太多无奈。 

熟悉而又陌生的是回荡在耳边的呢喃。 

人散尽。谁管是与非。 

转开身。便是这一生。 

再回首。却已辨不清当年模样。 

醒了又梦的故事。重复着重复着撕扯那不堪的灵魂。 

迷路的人儿再也找不到路边的木椅。 

可怜。 

一扇门。了断了前世的誓言。 

一扇门。注定了今生的无缘。


烟花易冷。