Jstorm下载安装步骤及报错分析

准备:

1) github上下载jstorm安装包https://github.com/alibaba/jstorm

2) tar -xzvf jstorm-2.1.1.tar.gz

3) vim ~/.bashrc 添加两行:

export JSTORM_HOME=/home/aegis/tools/jstorm-2.1.1

export PATH=$PATH:$JSTORM_HOME/bin

4) source ~/.bashrc

5) vim /home/aegis/tools/jstorm-2.1.1/conf/storm.yaml

6)修改storm.zookeeper.servers及nimbus.host

7) 安装jstorm web ui:

如下只在nimbus机器上执行,supervisor可省略:

一句话总结:cp jstorm安装目录下的jstorm-ui-2.1.1.war到/home/aegis/tools/tomcat-9.0.0/webapps下,建立ROOT软链接,重启tomcat 。

具体步骤:

必须使用tomcat 7.0 或以上版本, 注意不要忘记拷贝~/.jstorm/storm.yaml

Web UI 可以和Nimbus不在同一个节点

mkdir ~/.jstorm

cp -f $JSTORM_HOME/conf/storm.yaml ~/.jstorm

下载tomcat 7.x (以apache-tomcat-7.0.37 为例)

tar -xzf apache-tomcat-7.0.37.tar.gz

cd apache-tomcat-7.0.37

cd webapps

cp $JSTORM_HOME/jstorm-ui-0.9.6.3.war ./

mv ROOT ROOT.old

ln -s jstorm-ui-0.9.6.3 ROOT  这个地方可能变化,是根据你的JStorm版本来确定,比如当0.9.6.1时,是ln -s jstorm-0.9.6.1 ROOT

另外不是 ln -s jstorm-ui-0.9.6.3.war ROOT 这个要小心

cd ../bin

./startup.sh

8) cd install-packages; cp jstorm-core-2.1.1.jar /home/aegis/tools/jstorm-2.1.1

8.1) 为了避免混乱227机器上修改/home/aegis/tools/jstorm-2.1.1/conf/storm.yaml中的

storm.local.dir: "%JSTORM_HOME%/data227"

并在$JSTORM_HOME目录下新建data227目录 mkdir data227;

其他机器上类似新建data228 及data229

9) 在qa-m10-py229.py01上: 执行命令 nohup jstorm nimbus & ;

检查服务是否启动成功:输入命令 jps ;显示有进程 NimbusServer

查看$JSTORM_HOME/logs/nimbus.log检查有无错误,成功应提示如下:

[main] INFO com.alibaba.jstorm.daemon.nimbus.TopologyMetricsRunnable - Successfully init com.alibaba.jstorm.daemon.nimbus.metric.uploader.DefaultMetricUploader

10) 在qa-m10-py228.py01上:执行命令  nohup jstorm supervisor & ;

检查服务是否启动成功:  输入命令 jps ;显示有进程 Supervisor

查看$JSTORM_HOME/logs/supervisor.log检查有无错误

11) 在qa-m10-py227.py01上:执行命令  nohup jstorm supervisor & ;

检查服务是否启动成功:  输入命令 jps ;显示有进程 Supervisor

查看$JSTORM_HOME/logs/supervisor.log检查有无错误

12) 检查拓扑结构:http://XXX.XXX.XXX:8080ip为nimbus的ip地址

报错问题分析:

1)启动nimbus报错1:

/usr/bin/java

Error: Could not find or load main class backtype.storm.command.config_value

Failed to get config nimbus.classpath

None

解决方法:

git clone git@git.XXXXXX.com:panlinstephanie/install-packages.git

cp jstorm-core-2.1.1.jar /home/aegis/tools/jstorm-2.1.1

分析原因:

缺失jar包。

2)启动nimbus报错2:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".

SLF4J: Defaulting to no-operation (NOP) logger implementation

SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

解决方法:

参考http://stackoverflow.com/questions/7421612/slf4j-failed-to-load-class-org-slf4j-impl-staticloggerbinder

下载slf4j-simple-1.6.1.jar 并保存到工程git@git.xiaojukeji.com:panlinstephanie/install-packages.git

以后只需将slf4j-simple-1.6.1.jar 拷贝到/home/aegis/tools/jstorm-2.1.1/lib 即可,和原有的slf4j-api-1.7.5.jar放在一起。

分析原因:

一些函数依赖slf4j jar包的版本较老。

3)启动nimbus报错3:


ERROR com.alibaba.jstorm.daemon.nimbus.NimbusCache - Failed to create NimbusCache!

java.lang.RuntimeException: Failed to cleanup rooDir of rocksDB /home/aegis/tools/jstorm-2.1.1/data229/nimbus/rocksdb

解决方法:

根据错误提示删除rocksdb目录,并用aegis用户新建rocksdb目录。

分析原因:

该目录下文件的权限为root,因此aegis无权限写覆盖导致。

4)启动jstorm后打开网页http://100.90.XXX.XX:8080/不显示jstorm的ui界面

解决方法:

参考https://github.com/alibaba/jstorm/wiki/如何安装#%E5%AE%89%E8%A3%85jstorm-web-ui

首先将 jstorm-ui.war 拷贝到 tomcat/webapps ,当tomcat启动后, 该war包会自动被解压到 jstorm-ui 文件夹。

如果你不改这个文件名, 则需要访问 http://hostname:8080/jstorm-ui/

建议将解压出来的文件夹名换成 ROOT , 或者ROOT软链接到该文件夹,则可以通过 http://hostname:8080/直接访问了。

分析原因:

没有建立ROOT软链接,所以必须使用网页http://100.90.XXX.XX:8080/jstorm-ui-2.1.1/打开jstorm的UI界面。

5) sonar无法启动:

http://stackoverflow.com/questions/12583065/unable-to-access-sonar-through-web

2017.02.08 11:40:22 ERROR web[][o.a.c.c.C.[.[.[/]] Exception sending context initialized event to listener instance of class org.sonar.server.platform.web.PlatformServletContextListener

org.sonar.api.utils.SonarException: Unable to start database

Caused by: org.h2.jdbc.JdbcSQLException: Exception opening port "9092" (port may be in use), cause: "java.net.BindException: Address already in use (Bind failed)" [90061-176]

分析原因:

229机器上的9092端口已经被kafka broker占用了

解决方法:

在9092端口没有没占用的机器上启动sonar服务。


然后发现仍然无法打开网页http://100.90.xxx.xx:9000

查看/home/aegis/tools/sonarqube-6.2/logs 没有ERROR.

排除9000端口不能访问的问题:在本地执行telnet 100.90.xxx.xx 9000 显示Trying 100.90.xxx.xx... 发现9000端口可以访问

在100.90.xxx.xx上执行 netstat -anp | grep 9000 端口是在监听中的:

tcp        0      0 0.0.0.0:9000                0.0.0.0:*                   LISTEN      -

发现op对广州服务进行了端口权限管理,访问9000端口需要权限申请,流程参考jira:

JIRA Issues Macro: Data cannot be retrieved due to an unexpected error

 ,同时说明开通原因。

so, 打算换个端口,把默认的9000换成8080:

修改配置文件: /home/aegis/tools/sonarqube-6.2/conf/sonar.properties

sonar.web.host=100.90.204.58

sonar.web.port=8080

然后用root启动sonar :

cd /home/aegis/tools/sonarqube-6.2/bin/linux-x86-64

sh sonar.sh start

最后终于可以完美访问了:http://100.90.xxx.xx:8080

---------------------分割线------------------------------------------------

如果要在同一台机器上同时部署sonar和tomcat的话,

为了防止和tomcat 8080端口冲突,修改配置文件:/home/aegis/tools/sonarqube-6.2/conf/sonar.properties

把sonar web服务端口从原来的9000改为8081:

sonar.web.host=100.90.204.58

sonar.web.port=8080

sonar database数据库端口从9092改为8082:

sonar.embeddedDatabase.port=8082

同样可以完美访问http://100.90.xxx.xx:8081/projects

(完)。

6)Jstorm启动后拓扑图报错

java.lang.RuntimeException:

java.lang.RuntimeException:

org.apache.zookeeper.KeeperException$NoNodeException:

KeeperErrorCode = NoNode for /brokers/topics/SEC_AEGIS_async_req_out/partitions ,

at 2017-02-13 14:15

at storm.kafka.DynamicBrokersReader.getBrokerInfo(DynamicBrokersReader.java:81)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容