win11 vm虚拟机的乌班图18.04系统下安装hadoop记录

乌班图18.04下安装hadoop

因学校实验要求,需要使用hadoop,因此在此记录下遇到的诸多问题和解决方案。

安装java

hadoop使用前需要安装java环境。这里网上教程很多,没什么坑。安装成功以后是这样的
使用命令:

java -version

在这里插入图片描述
同样的,javac也可以

javac -version

我们甚至可以echo一下java路径。这里就不作展示。
环境变量供参考
在这里插入图片描述

安装SSH

命令

sudo apt-get install openssh-server 

这里在安装时出现问题了。

问题1

E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)
E: 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend),是否有其他进程正占用它?

这是进程被占用的原因。可以选择等待一会(因为乌班图可能在自更新)
如果不愿意等,可以尝试以下指令:

sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
sudo dpkg --configure -a

此时报错:dpkg: 错误: 另外一个进程已经为 dpkg frontend 加锁
我们继续输入

sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/lib/dpkg/lock
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo apt-get update

问题基本可以解决。随后下一步。
我们安装完成ssh后,要测试一下,输入指令:

ssh localhost

在这里插入图片描述
如图所示,已经成功。

安装hadoop

这里提供一个镜像网站
https://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.10.2/
下载hadoop2.10.2.tar.gz
下载完成后解压缩指令:

sudo tar -zxf 安装包路径 -C 解压路径

注意啊,我这里命令是缺东西的,因为后面要添上你自己想使用的路径
如图所示完整命令:
在这里插入图片描述
进入解压的文件夹,发现hadoop已经解压完成
更改文件夹名称以及修改权限

sudo chown -R 用户名 ./hadoop

在这里插入图片描述
查看hadoop版本

hadoop version

结果出问题了,找不到那个路径。

问题2

在这里插入图片描述
发现问题所在了么?图片中显示的bin/java/bin/java路径不对哦!!
可是我实际在配置java jdk时的环境变量没有问题!
我分别在几种环境变量配置中进行了尝试:

先说成功的第一种:

进入

cd /usr/local/hadoop/etc/Hadoop

打开hadoop配置文件

gedit hadoop-env.sh

改为java的绝对路径!
在这里插入图片描述
保存退出后编译一下:source hadoop-env.sh

第二种

进入etc目录下 运行gedit profile
在这里插入图片描述
添加上自己的java和hadoop路径,保存退出后用source指令编译。
这里我用没成功,但有些人成功了。


随后我们再测试hadoop版本,成功。
在这里插入图片描述

配置hadoop

输入指令:gedit ./etc/hadoop/core-site.xml
配置如下图所示
在这里插入图片描述
输入指令:gedit ./etc/hadoop/hdfs-site.xml
配置如下图所示
在这里插入图片描述
执行node格式化

cd /usr/local/hadoop

./bin/hdfs namenode -format

出现下图则表示成功
在这里插入图片描述
开启守护

./sbin/start-dfs.sh

但问题又出现了。

问题3

./sbin/start-dfs.sh运行时不管如何都登录不进去。密码也输入正确了。
一直报错 try again
解决方案:
首先,我们重置一次密码:sudo passwd
进入ssh配置文件中 sudo vi /etc/ssh/sshd_config
修改命令:
在这里插入图片描述

退出后在重新sudo service ssh restart
再格式化一次Namenode
然而,我们又遇到了新问题:

Unable to load native-hadoop library for your platfor…

这是因为我们需要再hadoop配置文件中添加一个路径
输入gedit /etc/hadoop/hadoop-env.sh
添加export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native"
完美解决问题

解决问题后,我们可以成功启动hadoop了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值