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