Changing the working directory did not solve the problem. Btw, there are multiple storm.py files
> storm$ find . -name "storm.py"
> ./storm-dist/binary/target/apache-storm-0.11.0-SNAPSHOT/bin/storm.py
>
>
>
> ./storm-core/target/test-classes/resources/storm.py
>
>
>
> ./bin/storm.py
>
>
>
> ./storm-multilang/python/target/classes/resources/storm.py
>
>
>
> ./storm-multilang/python/src/main/resources/resources/storm.py
Not all of them are equal (is this intended?).
Those three are equal:
./storm-core/target/test-classes/resources/storm.py
./storm-multilang/python/target/classes/resources/storm.py
./storm-multilang/python/src/main/resources/resources/storm.py
(I guess storm-multilang-src is the original one, copied to both target
directories).
The other two are different to those and to each other. Is there some
modification going on during build/packaging?
I tried to include all three version via changing working directory.
Neither worked.
Btw: I am wondering about this assumption. IMHO, for development, it is
much more convenient to start a topology in LocalCluster within an IDE.
-Matthias
On 08/10/2015 09:20 AM, Abhishek Agarwal wrote:
> 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
> documentation
>
> On 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
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>
signature.asc
Description: OpenPGP digital signature
