安装环境准备
在安装hadoop 3.2.2之前,必须先安装java环境,请各位自行去安装官网jdk。关闭防火墙,这样安装比较简单。
下载hadoop 3.2.2
去hadoop官方地址下载hadoop 3.2.2(由于头条不允许发连接,请自行百度)
解压tar.gz
把下载好的tar.gz包解压到自己指定的路径
tar -zxvf hadoop-3.2.2.tar.gz -C /usr/local/hadoop-3.2.2
配置hadoop环境变量
vim /etc/profile
加入如下配置:
export HADOOP_HOME=/usr/local/hadoop-3.2.2
export PATH=$PATH:$HADOOP_HOME/bin
让配置生效:
source /etc/profile
配置hadoop-env.sh
vim /usr/local/hadoop-3.2.2/etc/hadoop/hadoop-env.sh
找到# The java implementation to use. 这个注释,加入下面一行配置:
export JAVA_HOME=/usr/java/jdk1.8/
配置core-site.xml
vim /usr/local/hadoop-3.2.2/etc/hadoop/core-site.xml
在configuration标签加入下面配置:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:///usr/local/hadoop-3.2.2</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://172.18.111.104:8888</value>
</property>
</configuration>
配置hdfs-site.xml
vim /usr/local/hadoop-3.2.2/etc/hadoop/hdfs-site.xml
在configuration标签加入下面配置:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///usr/local/hadoop-3.2.2/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///usr/local/hadoop-3.2.2/tmp/dfs/data</value>
</property>
<!--配置web界面ip跟端口-->
<property>
<name>dfs.http.address</name>
<value>0.0.0.0:50070</value>
</property>
</configuration>
dfs.http.address这个属性在必须配置,不然在浏览器通过http://主机ip:50070访问不了.
设置SSH免密码登录
创建sshkey
ssh-keygen -t rsa
接下来就一直按回车默认就好了.
再执行下面命令:
cd ~/.ssh
cat id_rsa.pub>>authorized_keys
验证是否可以免密登录
ssh localhost
启动与停止
第一次启动hdfs需要格式化:
cd /usr/local/hadoop-3.2.2
./bin/hdfs namenode -format
接下来全部输Y即可
启动hdfs:
./sbin/start-dfs.sh
停止hdfs:
./sbin/stop-dfs.sh
备注:如果启动出现but there is no HDFS_NAMENODE_USER defined.Aborting operation.看下面解决方案
解决方法:
在Hadoop安装目录下找到sbin文件夹
在里面修改四个文件
1.对于start-dfs.sh和stop-dfs.sh文件,添加下列参数:
#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
2.对于start-yarn.sh和stop-yarn.sh文件,添加下列参数:
#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
最后再启动一次,就解决问题了
./sbin/start-dfs.sh
验证,浏览器输入:http://主机IP:50070
简单的验证hadoop命令:
hadoop fs -mkdir /test
在浏览器查看,出现如下图所示,就说明成功
配置mapred-site.xml
cd /usr/local/hadoop-3.2.2/etc/hadoop
vim mapred-site.xml
在configuration标签加入下面配置:
<configuration>
<!-- 通知框架MR使用YARN -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
配置yarn-site.xml
vim yarn-site.xml
在configuration标签加入下面配置:
<configuration>
<!-- reducer取数据的方式是mapreduce_shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
yarn启动与停止
启动:
cd /usr/local/hadoop-3.2.2
./sbin/start-yarn.sh
停止:
./sbin/stop-yarn.sh
在浏览器查看:http://主机ip:8088
使用jps命令验证:
到此,hadoop单机模式就配置成功了!