当前位置: 移动技术网 > IT编程>数据库>其他数据库 > Hadoop在启动时的坑——start-all.sh报错

Hadoop在启动时的坑——start-all.sh报错

2018年08月13日  | 移动技术网IT编程  | 我要评论
1、若你用的Linux系统是CentOS的话,这是一个坑: 它会提示你JAVA_HOME找不到,现在去修改文件: 这是CentOS的一个大坑,手动配置JAVA_HOME环境变量。 2、启动后无NameNode进程 如果在启动Hadoop,start-all.sh之后一切正常。但是Jps查看进程时发现 ...

1、若你用的Linux系统是CentOS的话,这是一个坑:

  它会提示你JAVA_HOME找不到,现在去修改文件:

.修改hadoop配置文件,手动指定JAVA_HOME环境变量
    [${hadoop_home}/etc/hadoop/hadoop-env.sh]
    ...
    export JAVA_HOME=/soft/jdk
    ...

  这是CentOS的一个大坑,手动配置JAVA_HOME环境变量。

 

2、启动后无NameNode进程

如果在启动Hadoop,start-all.sh之后一切正常。但是Jps查看进程时发现进程中少了一个NameNode进程,不要慌张。看看你现在的用户是否是root用户,因为种种原因用root用户启动时会出现这种情况。现在去建立hadoop专用的用户。不要直接用root用户了。特烦。

 

3、一定要设置ssh免密登陆,切记

配置SSH
        1)检查是否安装了ssh相关软件包(openssh-server + openssh-clients + openssh)
            $yum list installed | grep ssh

        2)检查是否启动了sshd进程
            $>ps -Af | grep sshd
        
        3)在client侧生成公私秘钥对。
            $>ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
        
        4)生成~/.ssh文件夹,里面有id_rsa(私钥) + id_rsa.pub(公钥)

        5)追加公钥到~/.ssh/authorized_keys文件中(文件名、位置固定)
            $>cd ~/.ssh
            $>cat id_rsa.pub >> authorized_keys
        
        6)修改authorized_keys的权限为644.
            $>chmod 644 authorized_keys
        
        7)测试
            $>ssh localhost

4、报以下错误:

This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
15/01/23 20:23:41 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [Java HotSpot(TM) Client VM warning: You have loaded library /hadoop/hadoop-2.6.0/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
hd-m1]
sed: -e expression #1, char 6: unknown option to `s'
-c: Unknown cipher type 'cd'

  不要慌张,看解决方案:

 

主要是环境变量设置好:
    在 /etc/profile  中加入

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

然后重新编译   source  /etc/profile  

若是不行的话,请把 hadoop/etc/hadoop/hadoop-env.sh 中:
添加
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
修改
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

  一般情况都能解决。

 

5、报以下错误:

  mkdir: cannot create directory ‘/soft/hadoop-2.7.3/logs’: Permission denied

  这是在创建logs时无权限,原因是/soft目录的用户权限为root,需要修改为hadoop用户权限

  注意:hadoop为用户名,/soft为安装目录,因人而异

  解决方案:

1、先切换到root用户
    su root
2、修改/soft目录的用户权限,记住要递归
    chown -R hadoop:hadoop /soft   // -R是递归修改
3、查看修改结果
    drwxr-xr-x. 3 hadoop hadoop 4096 8月  11 06:13 hadoop
    drwxr-xr-x. 3 hadoop hadoop 4096 8月  11 06:20 jdk
    修改成功

 

  有帮助的话,点个推荐让更多人看到

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网