hadoop环境搭建

一、规划目录结构

1.规划目录 /opt
sudo mkdir software
sudo mkdir modules
sudo mkdir datas
sudo mkdir tools
2.改变所有者和所有组
sudo chown -R beifeng:beifeng *
3.安装RZ工具
sudo yum -y install lrzsz
4.解压
tar -zxf hadoop-2.5.0.tar.gz -C /opt/modules/
tar -zxf jdk-8u144-linux-x64.tar.gz -C /opt/modules/
5.删除不用文件
$ cd /opt/modules/hadoop-2.5.0/share
$ rm -rf doc/

二、配置环境变量

1.位置:/etc/profile
#JAVA_HOME
export JAVA_HOME=/opt/modules/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH

2.刷新
# source /etc/profile #刷新
3.查看版本
java -version

三、配置/opt/modules/hadoop-2.5.0/内置环境

说明:$ bin ,$ sbin都是在/opt/modules/hadoop-2.5.0/执行

1. etc/hadoop/hadoop-env.sh
export JAVA_HOME=/opt/modules/jdk1.8.0_144
2. etc/hadoop/mapred-env.sh
export JAVA_HOME=/opt/modules/jdk1.8.0_144
3. etc/hadoop/yarn-env.sh
export JAVA_HOME=/opt/modules/jdk1.8.0_144
4. etc/hadoop/core-site.xml

说明:主节点NameNode位置及交互端口

<configuration>
    <!---   fs.defaultFS表示默认文件系统     --->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop-senior02.ibeifeng.com:8020</value>
    </property>
    
     <!---   运行时产生文件存储目录     --->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/modules/hadoop-2.5.0/data/tmp</value>
    </property>
</configuration>

5. etc/hadoop/hdfs-site.xml

说明:系统中文件块的数据副本个数,是所有datanode总和,每个datanode上只能存放1个副本

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>
6. etc/hadoop/salves

说明:配置在从节点DataNode的位置,直接添加主机名

hadoop-senior02.ibeifeng.com
7. 格式化HDFS文件系统
$ bin/hdfs namenode -format
8. 启动HDFS文件系统测试读写文件
$ sbin/hadoop-daemon.sh start namenode
$ sbin/hadoop-daemon.sh start datanode
(1)jps查看进程
$ jps
3348 DataNode
3494 Jps
3274 NameNode
(2)关闭防火墙
# firewall-cmd --state                      #查看防火墙状态
# systemctl stop firewalld.service          #关闭防火墙
# systemctl disable firewalld.service       #禁止防火墙开机启动
(3)登陆HDFS管理界面,windows界面

http://hadoop-senior02.ibeifeng.com:50070/explorer.html#/

(4)创建目录
$ bin/hdfs dfs -mkdir -p /user/hello/
(5)上传文件
$ bin/hdfs dfs -put etc/hadoop/core-site.xml /user/hello/
(6)读取文件
$ bin/hdfs dfs -cat /user/hello/core-site.xml
9.etc/hadoop/yarn-site.xml:
<configuration>
    <!-- reduce获取数据的方式  -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
	
	<!-- 指定ResourceManager的位置  -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop-senior02.ibeifeng.com</value>
    </property>
	
</configuration>
10.etc/hadoop/mapred-site.xml
<configuration>

    <!-- 指定MapReduce运行在yarn上  -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
	
	<!-- 配置历史服务器端口  -->
	<property>
        <name>mapreduce.jobhistory.address</name>
        <value>hadoop-senior02.ibeifeng.com:10020</value>
    </property>
	
	<!-- 开历史服务器的WEB UI界面  -->
	<property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop-senior02.ibeifeng.com:19888</value>
    </property>
</configuration>
11.启动yarn并开启历史服务器
$ sbin/yarn-daemon.sh start nodemanager
$ sbin/yarn-daemon.sh start resourcemanager
$ sbin/mr-jobhistory-daemon.sh start historyserver          #启动历史服务器
12.yarn管理界面

http://hadoop-senior02.ibeifeng.com:8088/cluster

13.运行MapReduce WordCount程序
(1)创建wc.input
$ touch /opt/datas/wc.input
word shanghai
word newyork
word london
word japan
hello word
(2)创建测试目录(输入路径)
$ bin/hdfs dfs -mkdir -p /user/mapreduce/wordcount/input
(3)上传文件
$ bin/hdfs dfs -put /opt/datas/wc.input /user/mapreduce/wordcount/input
(4)运行程序
$ bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/mapreduce/wordcount/input /user/mapreduce/wordcount/output
(5)查看结果
$ bin/hdfs dfs -text /user/mapreduce/wordcount/output/part-r-00000

hello	1
japan	1
london	1
newyork	1
shanghai	1
word	5

MapReduce 会针对key进行排序

Hadoop2.X伪分布式搭建并且测试完成

原文地址:https://www.cnblogs.com/xuwei1/p/7851182.html