Hi,
Thanks Edward. You were right :). I had 4 BSP tasks and the following
solution worked for me. Thanks.

*hama-site.xml*
</property>
         <property>
                 <name>bsp.child.java.opts</name>

 
<value>-Djava.library.path=/home/behroz/Documents/cplex_setup/cplex/bin/x86-64_linux/</value>
                 <description>Java opts for the groom server child
processes.
                 The following symbol, if present, will be interpolated:
@taskid@ is replaced
                 by current TaskID. Any other occurrences of '@' will go
unchanged.
                 For example, to enable verbose gc logging to a file named
for the taskid in
                 /tmp and to set the heap maximum to be a gigabyte, pass a
'value' of:
                        -Xmx1024m -verbose:gc -Xloggc:/tmp/@[email protected]
                 The configuration variable bsp.child.ulimit can be used to
control the
                 maximum virtual memory of the child processes.
                 </description>
        </property>

On Sat, Jun 20, 2015 at 4:33 AM, Behroz Sikander <[email protected]> wrote:

> I tried to add HAMA_OPT in hama-env.sh but I get the same error. I did the
> following steps
> 1- Stopped Hama
> 2- Stopped Hadoop
> 3- Modified the file
> 4- Started Hadoop
> 5- Started Hama
> 6- Ran the ./bin/hama jar command
>
> *Content of hama-env.sh*
> # The java implementation to use.  Required.
> export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
>
> export
> HAMA_OPTS="-Djava.library.path=/home/behroz/Documents/cplex_setup/cplex/bin/x86-64_linux"
>
> On Sat, Jun 20, 2015 at 4:25 AM, Edward J. Yoon <[email protected]>
> wrote:
>
>> And, if "-Djava.library.path=$CPLEX_HOME" is needed for every BSP
>> tasks, you should use bsp.child.java.opts property. :-)
>>
>>   <property>
>>     <name>bsp.child.java.opts</name>
>>     <value>-Xmx2048m</value>
>>     <description>Java opts for the groom server child processes.
>>     The following symbol, if present, will be interpolated: @taskid@ is
>> replaced
>>     by current TaskID. Any other occurrences of '@' will go unchanged.
>>     For example, to enable verbose gc logging to a file named for the
>> taskid in
>>     /tmp and to set the heap maximum to be a gigabyte, pass a 'value' of:
>>           -Xmx1024m -verbose:gc -Xloggc:/tmp/@[email protected]
>>     The configuration variable bsp.child.ulimit can be used to control the
>>     maximum virtual memory of the child processes.
>>     </description>
>>   </property>
>>
>> On Sat, Jun 20, 2015 at 11:22 AM, Edward J. Yoon <[email protected]>
>> wrote:
>> > Please try to add below line into hama-env.sh file:
>> >
>> > export HAMA_OPTS="-Djava.library.path=/your/lib/path/"
>> >
>> > then, option will be added automatically when you use
>> > '${HAMA_HOME}/bin/hama jar' command:
>> > --
>> >
>> > Edwardui-MacBook-Pro:hama-trunk edwardyoon$ bin/hama jar
>> >
>> > -Djava.library.path=/your/lib/path/
>> > -Dhama.log.dir=/Users/edwardyoon/workspace/hama-trunk/bin/../logs
>> > -Dhama.log.file=hama.log
>> > -Dhama.home.dir=/Users/edwardyoon/workspace/hama-trunk/bin/..
>> > -Dhama.id.str= -Dhama.root.logger=INFO,console
>> > -Dhama.policy.file=hama-policy.xml
>> >
>> > Usage: hama jar <jar> [mainClass] args...
>> >
>> > On Sat, Jun 20, 2015 at 10:03 AM, Behroz Sikander <[email protected]>
>> wrote:
>> >> I tried to set $HAMA_OPT in /etc/environment (a system file to store
>> >> environment variables) but it didn't work. Then I modified the
>> >> $HAMA_HOME/bin/hama but it also didn't work. I added just the following
>> >> line in $HAMA_HOME/bin/hama file.
>> >>
>> >> *HAMA_OPTS="$HAMA_OPTS -Djava.library.path=$CPLEX_HOME"*
>> >>
>> >> *Note: $CPLEX_HOME is also defined in /etc/environment*
>> >>
>> >> Regards,
>> >> Behroz
>> >>
>> >> On Sat, Jun 20, 2015 at 2:04 AM, Júlio Pires <[email protected]>
>> wrote:
>> >>
>> >>> Hi,
>> >>>
>> >>> You tried to set the HAMA_OPTS in $HAMA_HOME/bin/hama or
>> >>> $HAMA_HOME/conf/hama-env.sh?
>> >>>
>> >>> Thanks!
>> >>>
>> >>> 2015-06-19 20:13 GMT-03:00 Behroz Sikander <[email protected]>:
>> >>>
>> >>> > Hi,
>> >>> > I recently wrote an algorithm on Hama which uses a third party
>> library
>> >>> > (CPLEX). This library comes with a JAR file and folder with Native
>> >>> > Libraries. I am using Ubuntu and my Hama version is 0.6.4.
>> >>> >
>> >>> > In eclipse everything is fine. I added the native library folder in
>> >>> "Native
>> >>> > Library location" option of JAR file in eclipse (Project properties
>> >
>> >>> Build
>> >>> > Path > libraries > Select CPLEX > open dropdown and set the
>> location) and
>> >>> > my code worked fine. Now, I am trying to deploy the code on the
>> cluster.
>> >>> I
>> >>> > tried on a single machine but I get the following exception
>> >>> >
>> >>> > *java.lang.UnsatisfiedLinkError: ilog.cplex.Cplex.CPXopenCPLEX([I)J*
>> >>> > *attempt_201506192258_0001_000001_0: at
>> >>> > ilog.cplex.Cplex.CPXopenCPLEX(Native Method)*
>> >>> > *attempt_201506192258_0001_000001_0: at
>> >>> > ilog.cplex.CplexI.init(CplexI.java:6608)*
>> >>> > *attempt_201506192258_0001_000001_0: at
>> >>> > ilog.cplex.CplexI.<init>(CplexI.java:629)*
>> >>> >
>> >>> > The above error is occuring because it was not able to locate the
>> native
>> >>> > library of CPLEX jar (I placed the CPLEX jar in $HAMA_HOME/lib/ ).
>> I used
>> >>> > the following command to run my jar
>> >>> > *./bin/hama jar myjar.jar <inputs>*
>> >>> >
>> >>> >
>> >>> > I tried to set the HAMA_OPTS in /etc/envirnment but still I get the
>> same
>> >>> > error.
>> >>> > *export
>> >>> >
>> >>> >
>> >>>
>> HAMA_OPTS="-Djava.library.path=/home/behroz/Documents/cplex_setup/cplex/bin/x86-64_linux"*
>> >>> >
>> >>> > Without HAMA if I run the following command I get no error and
>> everything
>> >>> > works fine
>> >>> > *java
>> >>> >
>> >>> >
>> >>>
>> -Djava.library.path=/home/behroz/Documents/cplex_setup/cplex/bin/x86-64_linux*
>> >>> >
>> >>> >
>> >>> > Can you please guide me how to resolve this issue ?
>> >>> >
>> >>> > Regards,
>> >>> > Behroz Sikander
>> >>> >
>> >>>
>> >
>> >
>> >
>> > --
>> > Best Regards, Edward J. Yoon
>>
>>
>>
>> --
>> Best Regards, Edward J. Yoon
>>
>
>

Reply via email to