第一步、JDK、Hadoop下载安装
1、根据下载的JDK、Hadoop压缩包选择合适解压工具
.zip格式
解压:unzip 文件名.zip
压缩:zip 文件名.zip 目录名
.tar格式
压缩:tar cvf 文件名.tar 文件名
解压:tar xvf 文件名.tar
.tar.gz格式
解压:tar zxvf 文件名.tar.gz
压缩:tar zcvf 文件名.tar.gz 文件名
.tar.bz2格式
解压:tar jxvf 文件名.tar.bz2
压缩:tar jcvf 文件名.tar.bz2 目录名
.bz2格式
解压:bzip2 -d 文件名.bz2
压缩: bzip2 -z 文件名
2、JDK、Hadoop环境变量配置
要使配置的环境变量生效还得执行 source /etc/profile命令
3、验证环境变量配置情况
第二步、配置好环境变量后需要配置
hadoop伪分布式需要配置的东西只要有
以上这些配置文件中以.env结尾的配置文件只需要配置JDK的安装目录。
其他的配置文件这里只配置简单可以运行的,其他的配置参数参考官网
hadoop.env
core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop101:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/app/hadoop/tmp</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>HDFS 的数据块的副本存储个数, 默认是3</description>
</property>
<property>
<name>dfs.http.address</name>
<value>0.0.0.0:50070</value>
</property>
</configuration>
mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
<description>YARN 集群为 MapReduce 程序提供的 shuffle 服务</description>
</property>
第三步、格式化NameNode
启动namenode、datanode
查看namenode、datanode是否启动
访问hdfs的WebUI查看是否启动
http://ip地址:50070
通过dfs命令创建目录和上传文件
上传本地文件
启动Yarn并运行MR
配置yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
<description>YARN 集群为 MapReduce 程序提供的 shuffle 服务</description>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop101</value>
</property>
</configuration>
配置mapred-site.xml
mapreduce.framework.name
yarn
启动yarn中resourcemanager和nodemanager,启动之前要确保namenode和datanode都已经启动
运行MR
查看运行的结果
总结:伪分布式搭建过程中遇见的问题
问题一、hdfs的WebUI不能访问,也就是访问http://ip:50070不能访问的原因:
一般是因为操作系统防火墙没有关闭或者hosts文件没有设置正确
查看防火墙是否关闭的命令:
systemctl status firewalld --查看防火墙状态
systemctl stop firewalld --关闭防火墙
systemctl disable firewalld --关闭防火墙开机启动
设置系统hosts
vi /etc/hosts
问题二、运行MR时出现0/03/01 21:21:27 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032的问题
原因是因为没有开启yarn中的resourcemanager和nodemanager,jps查看是否开启,没有开启则运行
/sbin/hdfs-daemon.sh start resourcemanager
/sbin/hdfs-daemon.sh start nodemanager
然后在jps查看进程是否正常开启