Hadoop伪分布式安装教程——踩坑经验以及顺利安装的方法
Posted 长弓同学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop伪分布式安装教程——踩坑经验以及顺利安装的方法相关的知识,希望对你有一定的参考价值。
1.前言
在上上篇安装Hadoop的教程里,到了伪分布式这一步,总是卡在启动这一步,数据节点不知道为什么就是权限不够开不了,要么就是进程占用,在杀死进程之后,整个Hadoop出现瘫痪。查遍全网的资料,都说要用chown给他777超级权限,但是我试了两天,发现这个方法似乎不太可行(个人看法),但是在之前linux中配置opencv时也遇到过类似问题,最后是使用root换源来解决的。所以我想用root用户来启动hdfs,查阅资料后发现可行,所以重装系统,开始实践。在实践之后,最后顺利启动节点。
话不多说,上教程。
2.安装方法
(1)一开始是与之前的教程一样我们需要改变core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml四个配置文件(因为之前写过了所以不再赘述)
修改完这几个文件后可以将Hadoop系统进行初始化。
这几步操作详见 Hadoop大数据处理架构学习——Linux系统上安装Hadoop(Ubuntu22.04)_长弓同学的博客-CSDN博客
中的Hadoop伪分布式安装前几个步骤
由于是使用root启动因此我们还需要改变另外几个配置文件。
(2)在/hadoop/sbin路径下:
将start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
start-yarn.sh,stop-yarn.sh顶部也需添加以下
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
(3)接着我们还需要修改一个文件:
输入以下命令行打开文件并修改:
vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh
在hadoop-env.sh文件中最后一行加入
HADOOP_SHELL_EXECNAME=root
并且在文件中段配置JAVA环境(加入“export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_341”),如下图所示
(4)在root中设置免密码登录
如果直接像单机中一样设置ssh免密码登录,会出现报错“root@localhost's password: localhost: Permission denied, please try again.”,这种情况需要进行以下操作:
1.(此步前需要退出root用户)修改root密码:
sudo passwd root
2.辑配置文件,允许以 root 用户通过 ssh 登录:
sudo vi /etc/ssh/sshd_config
找到:PermitRootLogin prohibit-password禁用
添加:PermitRootLogin yes
3.重新启动:
sudo service ssh restart
启动完毕后可以再次进入root用户修改ssh密钥并设置无密码登录。
设置无密码登录命令行:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
结束这一步后可以尝试输入“ssh localhost” 命令行进行无密码登录,如果这一步完成(即可以实现无密码登录ssh),如下图所示:
那么可以输入以下命令行启动hdfs:
cd /usr/local/hadoop
./sbin/start-dfs.sh
出现以下结果,即为启动成功(节点生成完毕):
到这一步,就启动成功了。
3.坑总结以及有用的解决方法整理:
(1)在设置ssh无密码登录时输入主机密码报错(配置文件权限问题):
问题root@localhost's password:localhost:permission denied,please try again - 努力中国 - 博客园
(2)启动hdfs时权限不够:
Hadoop localhost: frankxulei@localhost: Permission denied (publickey,password) - 程序员大本营
(3)使用root启动hdfs报错:
使用root配置的hadoop并启动会出现报错 - 猿大侠 - 博客园
(4)Hadoop启动HDFS进程的时候报错,提示权限不够:
(5)启动hadoop进程提示Permission denied的一种解决方法_非典型废言的博客-CSDN博客
以上是关于Hadoop伪分布式安装教程——踩坑经验以及顺利安装的方法的主要内容,如果未能解决你的问题,请参考以下文章
HBase入门基础教程 HBase之单机模式与伪分布式模式安装