一、安装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

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_ubuntu


2.修改文件名以及权限

cd /usr/local

sudo mv ./hadoop-3.3.1 ./hadoop

sudo chown -R y ./hadoop

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_ubuntu_02


hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_ubuntu_03

y是我的用户名

三、查看版本信息

hadoop/bin/hadoop version

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_ubuntu_04


由于我这里还没安装java,没配置环境查看不了。四、创建hadoop用户

sudo useradd -m hadoop -s /bin/bash 创建新用户

sudo passwd hadoop 为用户设置密码

sudo adduser hadoop sudo 为用户设置管理权限

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_hdfs_05

2、更新apt

sudo apt-get update

3、安装ssh server 和配置ssh

集群,单节点模式都需要用到ssh登录,默认ubuntu上面已经有ssh client,还需要安装ssh server

sudo apt-get install openssh-server

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_ubuntu_06


设置无密码登录

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_java_07


hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_hadoop 安装详细步骤_08


将生成的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

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_java_09


hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_hdfs_10

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

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

创建java目录存放jdk文件

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_hadoop 安装详细步骤_11


修改文件名

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_ubuntu_12


配置环境变量:

vim ~/.bashrc

在末尾添加这一段

export JAVA_HOME=/usr/local/lib/java/jdk1.8

export JRE_HOME=hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_hdfs_13{JAVA_HOME}/lib:hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_hadoop 安装详细步骤_14{JAVA_HOME}/bin:$PATH

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_hdfs_15


然后

source ~/.bashrc

java -version

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_ubuntu_16

hadoop的java环境变量配置

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_hdfs_17


添加这一句:export JAVA_HOME=/usr/local/lib/java/jdk1.8

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_hadoop 安装详细步骤_18


然后执行命令和查看版本信息:

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_hadoop 安装详细步骤_19


运行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 安装详细步骤 hadoop3.1.3安装详细步骤_hdfs_20

五、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

结果如下:

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_java_21

以下是遇到的问题:

第一个:

1、启动不了进程,这里是因为在ssh没有设置免密登录。

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_ubuntu_22


2、将start-dfs.sh,stop-dfs.sh(在hadoop安装目录的sbin里)两个文件顶部添加以下参数

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_hdfs_23


hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_hadoop_24


3、将start-yarn.sh,stop-yarn.sh(在hadoop安装目录的sbin里)两个文件顶部添加以下参数

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_hadoop 安装详细步骤_25


hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_java_26

第二个:

是因为logs文件没有权限。

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_hdfs_27


修改logs文件权限

sudo chmod 777 logs

y@ubuntu:/usr/local/hadoop$ sudo chmod 777 logs第三个:进程占用

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_ubuntu_28


第四个还是启动不了所有进程:

然后就在etc/hadoop/hadoop-env.sh最后一行加上HADOOP_SHELL_EXECNAME=root

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_hadoop 安装详细步骤_29

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

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_hadoop_30


修改core-site.xml配置文件中的配置中的目录下的文件的权限,然就启动就多了两个进程

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_hadoop 安装详细步骤_31


hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_java_32


第六个问题:

namenodes进程还是没有,

开启防火墙

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_ubuntu_33


关闭防火墙

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_ubuntu_34


还是namenodes进程没找到。进行以下几个修改:

然后我修改用户对Hadoop目录的操作权限:sudo chown -R hadoop /usr/local/hadoop

删掉原来的tmp目录,重新启动要用 ./bin/hdfs namenode -format启动 不能用sudo ./bin/hdfs namenode -format

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_java_35


然后就有了namenode进程了。浏览器访问localhost:9870

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_ubuntu_36

运行实例:

输入一下命令:

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_hadoop 安装详细步骤_37


./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar grep input output ‘dfs[a-z.]+’

hadoop 安装详细步骤 hadoop3.1.3安装详细步骤_hadoop 安装详细步骤_38


第七第八个问题

运行实例执行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环境配置,但是遇到了很多问题,一开始我在网上随便找一个教程就配置环境了,这不是很可以,他的版本与我的版本不一样等等原因,就出现了很多问题。建议找一个比较详细的而且版本相同的教程进行配置。