This repository has been archived by the owner on Jun 16, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
常见问题
Longda edited this page Dec 27, 2013
·
16 revisions
参考性能优化
0.9.0 开始,JStorm切换到logbak,因此应用程序如果有依赖slf4j-log4j12.jar, 则需要exclude 所有slf4j-log4j12.jar依赖,下个版本将自定义classloader,就不用担心这个问题。
SLF4J: Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError.
SLF4J: See also
http://www.slf4j.org/codes.html#log4jDelegationLoop for more details.
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.apache.log4j.Logger.getLogger(Logger.java:39)
at org.apache.log4j.Logger.getLogger(Logger.java:43)
at com.alibaba.jstorm.daemon.worker.Worker.<clinit>(Worker.java:32)
Caused by: java.lang.IllegalStateException: Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError. See also
http://www.slf4j.org/codes.html#log4jDelegationLoop for more details.
at org.apache.log4j.Log4jLoggerFactory.<clinit>(Log4jLoggerFactory.java:49)
... 3 more
Could not find the main class: com.alibaba.jstorm.daemon.worker.Worker. Program will exit.
0.9.0 以前的版本和0.9.0 版本,如果应用程序使用和JStorm相同的jar,JStorm会强制使用JStorm依赖的jar,这个问题会在下个版本中解决
有2种情况:
如果有用户程序的日志输出,则表明是用户的初始化太慢或者出错,查看日志即可。 另外对于MetaQ 1.x的应用程序,Spout会recover ~/.meta_recover/目录下文件,可以直接删除这些消费失败的问题,加速启动。
打开supervisor 日志,找出启动worker命令,单独执行,然后检查是否有问题。类似下图:
#提示端口被绑定 有2种情况:
假设是6800 端口被占, 可以执行命令 “ps -ef|grep 6800” 检查是否有多个进程, 如果有多个进程,则手动杀死他们
Linux对外连接端口数限制,TCP client对外发起连接数达到28000左右时,就开始大量抛异常,需要
# echo "10000 65535" > /proc/sys/net/ipv4/ip_local_port_range
其他问题,可以入QQ群进行咨询228374502