storm local版本本地测试错误汇总

storm local版本本地测试异常汇总

1,报错如下:

ava.lang.RuntimeException: Error when launching multilang subprocess
Caused by: java.io.IOException: Cannot run program "python" (in directory "/tmp/eaf0b6b3-67c1-4f89-b3d8-23edada49b04/supervisor/stormdist/word-count-1-1414559082/resources"): error=2, No such file or directory

修复:1,在Eclipse中配置python路径

             2,将:multilang目录加入classpath


2,报错如下:

9688 [Thread-34] INFO  backtype.storm.task.ShellBolt - ShellLog pid:11612, name:split Traceback (most recent call last):
  File "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\bc681c09-ff50-4ec3-808f-158917b93992\supervisor\stormdist\word-count-1-1421735162\resources\storm.py", line 172, in run
    self.process(tup)
  File "splitsentence.py", line 5, in process
    words = tup.values[0].split(" ")
IndexError: list index out of range

修改splitsentence.py即可

 

import storm

class SplitSentenceBolt(storm.BasicBolt):
    def process(self, tup):
        if len(tup.values) != 0:
                words = tup.values[0].split(" ")
                if len(words) != 0:
                    for word in words:
                      storm.emit([word])

SplitSentenceBolt().run()