Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
HDFS, mail # user - Re: Starting Datanode


Copy link to this message
-
Re: Starting Datanode
Bharath Mundlapudi 2011-05-21, 20:51
I think, that code is there for jsvc. If you run hadoop in secure mode, it executes this path. There is nothing wrong in -jvm option since it meant for jsvc.

In case of secure mode, jsvc process runs as root and invokes the datanode process as hdfs user (or any other configured user).
But it seems there is a bug in the code, if you run as root in non-secured mode this issue can trigger.

Checking secure_mode = true seems decent to me rather than EUID == 0.

Read help for jsvc (short snippet is pasted here)
./jsvc -help
Usage: jsvc [-options] class [args...]

Where options include:

-help | --help | -?
show this help page (implies -nodetach)
-jvm <JVM name>
use a specific Java Virtual Machine. Available JVMs:
'client' 'server'
-Bharath

________________________________
From: Harsh J <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Sent: Saturday, May 21, 2011 9:08 AM
Subject: Re: Starting Datanode

FWIW, my 'java' output tells me:

-jvm is a synonym for the "client" VM  [deprecated]

i.e., -jvm == -client

I do not know when it was introduced, but it says deprecated in u24.

Additionally, I do not think "java -jvm server" makes any sense at
all. Looks like a genuine typo/overlook/bug. Do file a JIRA for this,
and fix it to use "-client" alone, if I understand what it really
means to do if EUID == 0.

On Sat, May 21, 2011 at 4:27 AM, Anh Nguyen <[EMAIL PROTECTED]> wrote:
> On 05/20/2011 02:33 PM, Marcos Ortiz wrote:
>>
>> On 05/20/2011 04:08 PM, Anh Nguyen wrote:
>>>
>>> On 05/20/2011 02:06 PM, Marcos Ortiz wrote:
>>>>
>>>> On 05/20/2011 04:27 PM, Marcos Ortiz wrote:
>>>>>
>>>>> On 05/20/2011 03:46 PM, Anh Nguyen wrote:
>>>>>>
>>>>>> On 05/20/2011 01:15 PM, Marcos Ortiz wrote:
>>>>>>>
>>>>>>> On 05/20/2011 01:02 PM, Anh Nguyen wrote:
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I just upgraded to hadoop-0.20.203.0, and am having problem starting
>>>>>>>> the
>>>>>>>> datanode:
>>>>>>>> # hadoop datanode
>>>>>>>> Unrecognized option: -jvm
>>>>>>>> Could not create the Java virtual machine.
>>>>>>>>
>>>>>>>> It looks like it has something to do with daemon.sh, particularly
>>>>>>>> the
>>>>>>>> setting of HADOOP_OPTS:
>>>>>>>>   if [[ $EUID -eq 0 ]]; then
>>>>>>>>     HADOOP_OPTS="$HADOOP_OPTS -jvm server $HADOOP_DATANODE_OPTS"
>>>>>>>>   else
>>>>>>>>     HADOOP_OPTS="$HADOOP_OPTS -server $HADOOP_DATANODE_OPTS"
>>>>>>>>   fi
>>>>>>>>
>>>>>>>> Am I missing something?
>>>>>>>>
>>>>>>>> Thanks in advance.
>>>>>>>>
>>>>>>>> Anh-
>>>>>>>>
>>>>>>> Which Java's version are you using?
>>>>>>>
>>>>>>>
>>>>>> # java -version
>>>>>> java version "1.6.0_20"
>>>>>> Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
>>>>>> Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)
>>>>>>
>>>>>> It worked with hadoop-0.20.2.
>>>>>> Anh-
>>>>>
>>>>> How do you are starting the services? using bin/start-all.sh o simply
>>>>> the datanode?
>>>>>
>>>>>
>>>> Anh, test first that this option (-jvm is included in that Java
>>>> version).
>>>>
>>>>
>>> Tested earlier:
>>> # java -jvm
>>> Unrecognized option: -jvm
>>> Could not create the Java virtual machine.
>>>
>> Did you check the requirements for that release? I don´t know if this
>> version require at least a mayor version to 1.6.20.
>> Did you test with the 1.6.24?
>
> Frankly, I have seen/used -jvm. What is it?
> Anh-
>>
>> I think that can be a bug.
>> Take a time to review the last issues for Hadoop on the JIRA of the
>> project.
>>
>> Regards
>>
>
>

--
Harsh J