Hadoop配置问题合集

Hadoop配置问题合集

修改WSL为root账号登陆并修改root密码

  • 以管理员身份打开本地电脑PowerShell
  • 输入密码配置root为wsl默认登陆
    1
    ubuntu config --default-user root
  • 打开ubuntu
  • 输入passwd
  • 输入root账号的新密码

WSL切换用户

  • 切换到hadoop用户
    1
    su another_username

ssh Permission Denied

  • 解决方案一 启用密码认证(Password Authentication)
    • 使用nano编辑器
      1
      sudo nano /etc/ssh/sshd_config
    • 在文件中,找到PasswordAuthentication行,并确保其以yes结尾
    • 找到ChallengeResponseAuthentication选项,然后通过添加no来禁用它
    • 如果注释掉了行,请删除井号#以取消注释。
      Password Authentication
    • 保存并退出
    • 重启SSH Service
      1
      sudo service ssh restart
  • 解决方案二 修改 文件系统权限
    • 因为hadoop默认操作的时候是用的是无密码登陆,同时也是为了更换的安全策略,我们使用密钥认证
    • 打开sshd_config
      1
      sudo nano /etc/ssh/sshd_config
    • 修改下面的选项
      1
      2
      PermitRootLogin no
      PubkeyAuthentication yes
    • 通过在行的开头添加井号来注释掉与GSSAPI相关的选项
      1
      2
      #GSSAPIAuthentication yes
      #GSSAPICleanupCredentials no
    • 请确保UsePAM行设置为yes
      1
      UsePAM yes
    • 重启SSH Service
      1
      sudo service ssh restart
  • 导航到文件夹根目录
  • 通过命令查看文件夹权限
    1
    ls -ld
  • 如果权限不是读写drwx------
  • 执行命令设置读写权限
    1
    chmod 0700 /home/[your-username]
  • 一般来说,执行好上面的命令基本就可以了,可以继续下面的步骤查看特定文件或文件夹的权限
  • 查看.ssh文件夹权限
    1
    2
    cd .ssh
    ls -ld
  • 查看authorized_keys文件权限
    1
    ls –ld authorized_keys

    Exception in thread “main” java.lang.RuntimeException: java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset

  • Hadoop的安装目录配置到Windows的系统环境变量
    1
    C:\Users\xx\Meekou\Meekou.hadoop\hadoop-3.2.2.tar\hadoop-3.2.2\bin
  • 在Java代码中配置hadoop路径
    1
    System.setProperty("hadoop.home.dir", "C:/Users/xx/Meekou/Meekou.hadoop/hadoop-3.2.2.tar/hadoop-3.2.2");
  • WindowsProblems

Exception in thread “main” java.lang.UnsatisfiedLinkError: ‘boolean org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(java.lang.String, int)’

  • 这是由于没有配置winutils.exe
  • winutils下载对应版本的winnutils
  • 解压winutils并将内容复制到hadoop的bin目录下
    1
    C:\Users\xx\Meekou\Meekou.hadoop\hadoop-3.2.2.tar\hadoop-3.2.2\bin
  • 如果到上一步还没有解决问题,将WinUntils.exehadoop.dll复制到C:\Windows\System32目录下

ERROR: Cannot set priority of datanode process 18018

  • Check the configuration in hdfs-site.xml, make sure the path correct and exist
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <configuration>
    <property>
    <name>dfs.namenode.name.dir</name>
    <value>${HADOOP_HOME}data/nameNode</value>
    </property>

    <property>
    <name>dfs.datanode.data.dir</name>
    <value>${HADOOP_HOME}data/dataNode</value>
    </property>

    <property>
    <name>dfs.replication</name>
    <value>1</value>
    </property>
    </configuration>
  • 格式化namenode
    1
    hadoop namenode -format
  • Restart service by ${HADOOP_HOME}/hadoop/sbin/start-all.sh