I think that it was always assumed that topology would always be invoked
through storm-command line. Thus working directory would be
${STORM-INSTALLATION}/bin/storm
Since storm.py is in the this directory, splitSentence.py would be able to
find storm modules. Can you set the working directory to a path, where
storm.py is present and then try. If it works, we can add it later to the
documentationOn Mon, Aug 10, 2015 at 12:21 PM, Matthias J. Sax < [email protected]> wrote: > I am using current storm/master (ie, 0.11.0-SNAPSHOT). My Python is > 2.7.9 (I am using Debian Jessy). Using OpenJDK 1.7.0_79. > > About pom.xml: I am aware, that the environments are different and it > makes sense for cluster deployment to set scope to "provided". I just > claim, that this information should be on the web page. ;) > -> > > https://github.com/apache/storm/tree/master/examples/storm-starter#intellij-idea > > Of even better, your fix, using maven-shade-plugin, should be commited. :) > > Here is the correct error message: > > > java.lang.RuntimeException: backtype.storm.multilang.NoOutputException: > Pipe to subprocess seems to be broken! No output read. > > Serializer Exception: > > Traceback (most recent call last): > > File "splitsentence.py", line 18, in <module> > > class SplitSentenceBolt(storm.BasicBolt): > > AttributeError: 'module' object has no attribute 'BasicBolt' > > Thanks in advance! > > -Matthias > > > On 08/10/2015 07:33 AM, Abhishek Agarwal wrote: > > Adding/removing scope of storm-core is cumbersome. If you ship storm-core > > along with the uber jar, the topology will fail on production cluster. > > Instead I have set the scope of compile, and excluded the storm jars in > the > > maven shade plugin. This way, both environments work with no changes. > > > > You have pasted the same error twice. By the way, I didn't have to > install > > the python-storm to run the topology. Which version are you using? > > > > On Mon, Aug 10, 2015 at 3:19 AM, Matthias J. Sax < > > [email protected]> wrote: > > > >> Hi, > >> > >> I work with Storm for a while already, but want to get started with > >> development. As suggested, I am using Intellij (up to now, I was using > >> Eclipse). > >> > >> I was also looking at > >> > >> > https://github.com/apache/storm/tree/master/examples/storm-starter#intellij-idea > >> > >> This documentation is not complete. I was not able to run anything in > >> Intellij first. I could figure out, that I need to remove the scope of > >> storm-core dependency (in storm-starter pom.xml). (found here: > >> > >> > https://stackoverflow.com/questions/30724424/storm-starter-with-intellij-idea-maven-project-could-not-find-class > >> ) > >> > >> After that I wass able to build the project. I can also run > >> ExclamationTopology with no problems within Intellij. However, > >> WordCountTopology fails. > >> > >> First I got the following error: > >> > >>> java.lang.RuntimeException: backtype.storm.multilang.NoOutputException: > >> Pipe to subprocess seems to be broken! No output read. > >>> Serializer Exception: > >>> Traceback (most recent call last): > >>> File "splitsentence.py", line 16, in <module> > >>> import storm > >>> ImportError: No module named storm > >> > >> I was able to resolve it via: apt-get install python-storm > >> (from StackOverflow) > >> > >> However, I don't speak Python and was wondering what the problem is and > >> why I could resolve it like this. Just want to get deeper into it. Maybe > >> someone can explain. > >> > >> Unfortunately, I am getting a different error now: > >> > >>> java.lang.RuntimeException: backtype.storm.multilang.NoOutputException: > >> Pipe to subprocess seems to be broken! No output read. > >>> Serializer Exception: > >>> Traceback (most recent call last): > >>> File "splitsentence.py", line 16, in <module> > >>> import storm > >>> ImportError: No module named storm > >> > >> I did not find any solution on the Internet. And as I am not familiar > >> with Python and never used Storm differently as low-level Java API I am > >> stuck now. Because ExclamationTopology runs, I guess my basic setup is > >> correct. > >> > >> What do I do wrong? > >> > >> -Matthias > >> > >> > >> > >> > > > > > > -- Regards, Abhishek Agarwal
