Hadoop分布环境搭建步骤,及自带MapReduce单词计数程序实现

时间:2023-03-10 04:46:02
Hadoop分布环境搭建步骤,及自带MapReduce单词计数程序实现

Hadoop分布环境搭建步骤:

1.软硬件环境

CentOS 7.2 64 位
JDK- 1.8
Hadoo p- 2.7.4

2.安装SSH

sudo yum install openssh-clients openssh-server
测试: ssh localhost 测试完事 exit命令退出

3.安装JAVA环境

sudo yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
配置:目录root/下面的bashrc文件结尾添加:export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
使用命令 source ~/.bashrc 使文件生效
测试:java -version
$JAVA_HOME/bin/java -version
若两条命令输出的结果一致,且都为我们前面安装的 openjdk-1.8.0 的版本,则表明 JDK 环境已经正确安装并配置

4.安装Hadoop:

(1). 下载 Hadoop :wget https://archive.apache.org/dist/hadoop/common/hadoop-2.7.4/hadoop-2.7.4.tar.gz

(2).将 Hadoop 安装到 /usr/local 目录下: tar -zxf hadoop-2.7.4.tar.gz -C /usr/local
(3).重命名: cd /usr/local
mv ./hadoop-2.7.4/ ./hadoop
(4) 检查Hadoop是否已经正确安装:/usr/local/hadoop/bin/hadoop version

5. Hadoop 伪分布式环境配置:

(1).设置 Hadoop 的环境变量 :在 root/ 目录下的 .bashrc,在结尾追加如下内容: export HADOOP_HOME=/usr/local/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
(2).使Hadoop环境变量配置生效:source ~/.bashrc
(3).修改 Hadoop 的配置文件Hadoop的配置文件位于安装目录的 /etc/hadoop 目录下:
<!-- 编辑 core-site.xml,修改<configuration></configuration>节点的内容: -->
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>location to store temporary files</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
<!-- 编辑 hdfs-site.xml,修改<configuration></configuration>节点的内容: -->
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
(4).格式化 NameNode:/usr/local/hadoop/bin/hdfs namenode -format
(5).启动 NameNode 和 DataNode 进程:/usr/local/hadoop/sbin/start-dfs.sh
检查是否成功:jps
如果NameNode和DataNode已经正常启动,会显示NameNode、DataNode和SecondaryNameNode的进程信息:
[hadoop@VM_80_152_centos ~]$ jps
3689 SecondaryNameNode
3520 DataNode
3800 Jps
3393 NameNode

6.调试:自带单词计数程序

Hadoop实现自带的MapReduce单词计数:
第一步找到examples例子:
第二步在HDFS上面建立几个数据目录:
hadoop fs -mkdir -p /data/wordcount
hadoop fs -mkdir -p /output/
第三步建立文件存放数据:vi /usr/inputWord
新建完成,查看内容:cat /usr/inputWord
第四步:将本地文件上传到HDFS:hadoop fs -put /usr/inputWord /data/wordcount/
查看上传文件情况:hadoop fs -ls /data/wordcount
第五步运行:hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.4.jar wordcount /data/wordcount /output/wordcount
第六步显示结果:hadoop fs -text /output/wordcount/part-r-00000 
参考腾讯云实验室