伪分布的搭建
环境准备
1) 网络配置(主机名, 映射文件(服务器的, windows,), ip)
2) 关闭防火墙及安全子系统
3) 安装jdk
切换为普通用户
sudo chmod 777 /opt
创建/opt/modules
/opt/software
搭建伪分布
1) 解压安装hadoop【注意上传和解压过程中的用户权限问题】
$ tar -zxvf /opt/software/hadoop-2.7.6.tar.gz -C /opt/modules/
2) 配置hadoop的java环境支持, etc/hadoop目录下
hadoop-env.sh
mapred-env.sh
yarn-env.sh
在这3个文件中都配置
export JAVA_HOME=/opt/modules/jdk1.8.0_112
3) 与hdfs相关的配置 etc/hadoop
I)core-site.xml
=============core-site.xml===================
<!-- NameNode地址,访问入口 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://learn01.bigdata.com:8020</value>
</property>
<!-- hadoop在运行时产生的文件,元数据在本地的存放目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.7.6/data</value>
</property>
============================================
II) hdfs-site.xml
=============hdfs-site.xml============
<!--存放到hdfs上的文件的副本数,伪分布式配置为1 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
======================================
4) 格式化namenode只格式化一遍
在${HADOOP_HOME}目录下:
[hadoop@learn01 hadoop-2.7.6]$ pwd
/opt/modules/hadoop-2.7.6
查看可以使用的命令及参数
$ bin/hdfs
格式化
$ bin/hdfs namenode -format
出现以下内容表示成功
18/06/01 11:41:16 INFO common.Storage: Storage directory /opt/modules/hadoop-2.7.6/data/dfs/name has been successfully formatted.
5) 启动hdfs守护进程
> $ sbin/hadoop-daemon.sh start namenode //启动namenode进程
$ sbin/hadoop-daemon.sh start datanode //启动datanode
验证:
$ jps
3097 Jps
2931 NameNode
3023 DataNode
web访问界面 http://learn01.bigdata.com:50070/
HDFS shell的使用
$ bin/hdfs dfs -ls /
$ bin/hdfs dfs -mkdir /input
$ bin/hdfs dfs -mkdir -p /input/test/hellohdfs
$ bin/hdfs dfs -rm -r /input
$ bin/hdfs dfs -put ~/hello.txt /input
6) 配置YARN 任务调度 (Mapreduce) 资源管理(resourcemanager nodemanager)
etc/hadoop目录下配置yarn-site.xml
=======yarn-site.xml=====
<!-- 指定ResorceManager所在服务器的主机名 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>learn01.bigdata.com</value>
</property>
<!-- 指明在执行MapReduce的时候使用shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
====================================
配置mapred-site.xml复制并重名模板文件
$ cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
=======mapred-site.xml=====
<!-- 指定MapReduce基于Yarn来运行 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
=====================================
7) 启动hdfs yarn进程
$ sbin/hadoop-daemon.sh stop namenode
$ sbin/hadoop-daemon.sh stop datanode
$ sbin/hadoop-daemon.sh start namenode
$ sbin/hadoop-daemon.sh start datanode
$ sbin/yarn-daemon.sh start resourcemanager
$ sbin/yarn-daemon.sh start nodemanager
查看进程启动
$ jps
6581 Jps
6406 DataNode
6347 NameNode
6507 NodeManager
6460 ResourceManager
通过web访问yarn
http://learn01.bigdata.com:8088/cluster
8) 向yarn提交mapreduce任务
圆周率计算
$ bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar pi 5 3