Hadoop-3.3-1安装与环境搭建

一、安装Hadoop

下载地址:
https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz

二、解压文件

1.解压文件
sudo tar -zxf ~/Downloads/hadoop-3.3.1.tar.gz -C /usr/local
在这里插入图片描述
2.修改文件名以及权限
cd /usr/local
sudo mv ./hadoop-3.3.1 ./hadoop
sudo chown -R y ./hadoop
在这里插入图片描述
在这里插入图片描述y是我的用户名

三、查看版本信息

hadoop/bin/hadoop version
在这里插入图片描述
由于我这里还没安装java,没配置环境查看不了。

四、创建hadoop用户
sudo useradd -m hadoop -s /bin/bash 创建新用户
sudo passwd hadoop 为用户设置密码
sudo adduser hadoop sudo 为用户设置管理权限
在这里插入图片描述

2、更新apt

sudo apt-get update

3、安装ssh server 和配置ssh

集群,单节点模式都需要用到ssh登录,默认ubuntu上面已经有ssh client,还需要安装ssh server
sudo apt-get install openssh-server
在这里插入图片描述
设置无密码登录
在这里插入图片描述
在这里插入图片描述
将生成的SSH的公钥加入目标机器的SSH目录下,这里采用cat命令与>>,cat file1>>file2的含义为将file1内容append到file2中。
hadoop@ubuntu:~/.ssh$ cat ./id_rsa.pub >> ./authorized_keys

安装完成之后,查看ssh是否启动
sudo /etc/init.d/ssh status
在这里插入图片描述

如果没有启动,使用一下命令启动:
sudo /etc/init.d/ssh start

4、java环境变量的配置
下载安装linux 64位的jdk
下载地址:
https://www.oracle.com/java/technologies/downloads/#java8

创建java目录存放jdk文件
在这里插入图片描述
修改文件名
在这里插入图片描述
配置环境变量:
vim ~/.bashrc
在末尾添加这一段
export JAVA_HOME=/usr/local/lib/java/jdk1.8
export JRE_HOME= J A V A H O M E / j r e e x p o r t C L A S S P A T H = . : {JAVA_HOME}/jre export CLASSPATH=.: JAVAHOME/jreexportCLASSPATH=.:{JAVA_HOME}/lib: J R E H O M E / l i b e x p o r t P A T H = {JRE_HOME}/lib export PATH= JREHOME/libexportPATH={JAVA_HOME}/bin:$PATH
在这里插入图片描述
然后
source ~/.bashrc
java -version
在这里插入图片描述

hadoop的java环境变量配置
在这里插入图片描述
添加这一句:export JAVA_HOME=/usr/local/lib/java/jdk1.8
在这里插入图片描述
然后执行命令和查看版本信息:
在这里插入图片描述
运行WordCount例子:
hadoop@ubuntu:/usr/local/hadoop$ sudo mkdir input
hadoop@ubuntu:/usr/local/hadoop$ sudo cp ./etc/hadoop/.xml ./input
hadoop@ubuntu:/usr/local/hadoop$ sudo ./bin/hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-
.jar grep ./input ./output ‘dfs[a-z.]+’

执行
hadoop@ubuntu:/usr/local/hadoop$ cat ./output/*
可以得出一下结果:
在这里插入图片描述

五、Hadoop伪分布式安装:

在配置文件./etc/hadoop下,修改两个配置文件:
①core-site.xml文件:


hadoop.tmp.dir
file:/usr/local/hadoop/tmp
Abase for other temporary directories.


fs.defaultFS
hdfs://localhost:9000


②修改hdfs-site.xml文件


dfs.replication
1


dfs.namenode.name.dir
file:/usr/local/hadoop/tmp/dfs/name


dfs.datanode.data.dir
file:/usr/local/hadoop/tmp/dfs/data

如果需要从伪分布式模式切换回非分布式模式,需要删除core-site.xml 中的配置项

输入命令: ./bin/hdfs namenode -format
结果如下:
在这里插入图片描述

以下是遇到的问题:

第一个:
1、启动不了进程,这里是因为在ssh没有设置免密登录。
在这里插入图片描述
2、将start-dfs.sh,stop-dfs.sh(在hadoop安装目录的sbin里)两个文件顶部添加以下参数
在这里插入图片描述
在这里插入图片描述
3、将start-yarn.sh,stop-yarn.sh(在hadoop安装目录的sbin里)两个文件顶部添加以下参数
在这里插入图片描述
在这里插入图片描述

第二个:
是因为logs文件没有权限。
在这里插入图片描述
修改logs文件权限
sudo chmod 777 logs
y@ubuntu:/usr/local/hadoop$ sudo chmod 777 logs

第三个:进程占用
在这里插入图片描述
第四个还是启动不了所有进程:
然后就在etc/hadoop/hadoop-env.sh最后一行加上HADOOP_SHELL_EXECNAME=root
在这里插入图片描述

隔了一周没启动,现在启动不会有上面的错误,但是进程没够六个

在这里插入图片描述
修改core-site.xml配置文件中的配置中的目录下的文件的权限,然就启动就多了两个进程
在这里插入图片描述
在这里插入图片描述
第六个问题:
namenodes进程还是没有,
开启防火墙
在这里插入图片描述
关闭防火墙
在这里插入图片描述
还是namenodes进程没找到。

进行以下几个修改:
然后我修改用户对Hadoop目录的操作权限:sudo chown -R hadoop /usr/local/hadoop
删掉原来的tmp目录,重新启动要用 ./bin/hdfs namenode -format启动 不能用sudo ./bin/hdfs namenode -format
在这里插入图片描述
然后就有了namenode进程了。

浏览器访问localhost:9870
在这里插入图片描述

运行实例:

输入一下命令:
在这里插入图片描述
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar grep input output ‘dfs[a-z.]+’

在这里插入图片描述
第七第八个问题
运行实例执行jar 命令时,这里出现了两个错误,一个配置伪分布式时修改了mapred-site.xml 和yarn-site.xml 文件,是不用修改的,删掉原来的修改,
然后运行再次jar命令时,报错:
Java HotSpot™ 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000e9100000, 105381888, 0) failed; error=‘Cannot allocate memory’ (errno=12)
就是内存不够,然后我把一些进程给关了,然后就可以了

ok!

就简简单单的Hadoop环境配置,但是遇到了很多问题,一开始我在网上随便找一个教程就配置环境了,这不是很可以,他的版本与我的版本不一样等等原因,就出现了很多问题。建议找一个比较详细的而且版本相同的教程进行配置。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值