hadoop Unrecognized option: -jvm

21 篇文章 0 订阅
12 篇文章 0 订阅
情景描述:
        在VM虚拟机上,按照hadoop手册,搭建Single Node.
        启动hadoop时   #./start-all.sh
        报错:
        ###################
################## ##################
         localhost: Unrecognized option: -jvm
         localhost: Could not create the Java virtual machine.
       
################## ################## ##################     

环境:
      服务器:RHEL4.7_x86_64 内存:512M
      hadoop版本:hadoop-0.20.203.0rc1.tar.gz
      java版本:jdk-6u25-linux-x64.bin
        
解决:
   可以修改的地方有两个
      第一个(次要的):/usr/local/hadoop/conf/hadoop-env.sh
       修改参数: export HADOOP_HEAPSIZE=256   #默认值为1000M,为Java虚拟机占用的内存的大小

  第二个(主要的)
       查看
/usr/local/hadoop/bin/hadoop源码:
       ################################################
#### #### #### #### ## ##
       if [[ $EUID -eq 0 ]]; then
           HADOOP_OPTS="$HADOOP_OPTS -jvm server $HADOOP_DATANODE_OPTS"
       else
           HADOOP_OPTS="$HADOOP_OPTS -server $HADOOP_DATANODE_OPTS"
       fi
      
################################################ #### #### #### #### ####
       如果以root身份启动,则hadoop启动java虚拟机时,会带上-jvm参数。
       不同的java版本,启动参数可能会不一致,由此导致以上问题。
      
       其他解释
       (详细见链接地址:
       http://mail-archives.apache.org/mod_mbox/hadoop-hdfs-user/201105.mbox
       /%3CBANLkTinm3q4EAo=GkeMjG67ZnXXRLRV+yw@mail.gmail.com%3E):
       ####################################################################     

            > 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.             
            >
       ####################################################################       
       因此,
       新建一个hadoop用户,
       重新初始化操作:#./
hadoop namenode -format

       再次启动hadoop: #./start-all.sh
       正常。
      
补充: 修改JAVA_HEAP_MAX的大小:
        # vi bin/hadoop
          JAVA_HEAP_MAX=-Xmx1000m
   
       输出结果:
############################
############################ ############################ ###### ###### ###### ###### ##
[hadoop@localhost bin]$ ./start-all.sh
starting namenode, logging to /usr/local/hadoop/bin/../logs/hadoop-hadoop-namenode-localhost.out
localhost: starting datanode, logging to /usr/local/hadoop/bin/../logs/hadoop-hadoop-datanode-localhost.out
localhost: starting secondarynamenode, logging to /usr/local/hadoop/bin/../logs/hadoop-hadoop-secondarynamenode-localhost.out
starting jobtracker, logging to /usr/local/hadoop/bin/../logs/hadoop-hadoop-jobtracker-localhost.out
localhost: starting tasktracker, logging to /usr/local/hadoop/bin/../logs/hadoop-hadoop-tasktracker-localhost.out
###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值