伪分布式安装部署(运行MapReduce程序)

简介: 伪分布式安装部署(运行MapReduce程序)

启动HDFS并运行MapReduce程序

1. 配置集群

(a)配置:hadoop-env.sh

Linux系统中获取JDK的安装路径:

echo $JAVA_HOME

修改JAVA_HOME 路径:

把这一行代码改成下面的代码,前一半都是export JAVA_HOME=,很好找。

export JAVA_HOME=/opt/module/jdk1.8.0_202

(b)配置:core-site.xml

指定Hadoop运行时产生文件的存储目录

<property>

<name>fs.defaultFS</name>

<value>hdfs://hadoop101:9000</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/opt/module/hadoop-2.7.2/data/tmp</value>

</property>

在下面两个箭头之间配置上面代码

(c)配置:hdfs-site.xml

指定HDFS副本的数量

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

2.启动集群

(a)格式化NameNode

(第一次启动时格式化,以后就不要总格式化),就是安装文件系统

hdfs namenode -format

出现如下界面,说明格式化namenode成功

这个时候,在hadoop主目录中出现了data目录

(b)启动NameNode

hadoop-daemon.sh start namenode

(c)启动DataNode

hadoop-daemon.sh start datanode

3.查看集群

(a)查看是否启动成功

jps

出现了这两个进程表示hdfs配置成功了

注意:jps是JDK中的命令,不是Linux命令。不安装JDK不能使用jps

(b)web端查看HDFS文件系统

(c)查看产生的Log日志

说明:在使用Hadoop过程中,如果遇到某些异常,导致Hadoop不可用,或其它问题,则可以通过查 询Hadoop的日志文件获取错误信息。

里面就是前面配置出来的东西

(d)思考:为什么不能一直格式化NameNode,格式化NameNode要注意什么?

注意:格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致, 集群找不到已往数据。所以,格式化NameNode时,一定要先删除$HADOOP_HOME/data目 录及下面的所有内容,然后再格式化NameNode。由于NameNode被格式化,所有关于数据存 储的元素信息被重置,因此,原来在HDFS上存储的数据也就不能用了。

4. 操作集群

本地运行时,是将文件放在本地磁盘中,如果文件较大,需要将文件放在HDFS(分布式文件系统上)

(a)在HDFS文件系统上创建一个input目录

hdfs dfs -mkdir -p /user/ytsky/input

浏览文件系统,确认是否创建成功

(b)将测试文件内容上传到文件系统上

用上次本地运行模式创建过的文件

使用命令将文件wc.input上传到 HDFS中

hdfs dfs -put wcinput/wc.input /user/ytsky/input

(c)查看上传的文件是否正确

hdfs dfs -ls /user/ytsky/input

hdfs dfs -cat /user/ytsky/input/wc.input

已将需要分析的数据加载进了HDFS中

(d)运行MapReduce程序

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/ytsky/input  /user/ytsky/output

该条命令执行完后,会在文件系统上创建output目录,目录中存放的就是分析结果

(e)查看输出结果

命令行查看,下面两个都可以

hdfs dfs -cat /user/ytsky/output/*

hdfs dfs -cat /user/ytsky/output/part-r-00000

(f)将测试文件内容下载到本地

hdfs dfs -get /user/ytsky/output/part-r-00000 ./wcoutput/

我显示已存在,是本地运行模式的时候已经保存了

(g)删除输出结果

hdfs dfs -rm -r /user/ytsky/output

如果不删除,下次运行这个案例的时候就会报错,所以我们用命令行删除输出结果

以上就是在伪分布式集群模式下运行mapreduce运行结果 。

相关文章
|
13天前
|
分布式计算 Hadoop Java
Hadoop_MapReduce中的WordCount运行详解
MapReduce的WordCount程序在分布式系统中计算大数据集中单词出现的频率时,提供了一个可以复用和可伸缩的解决方案。它体现了MapReduce编程模型的强大之处:简单、可靠且将任务自动分布到一个集群中去执行。它首先运行一系列的Map任务来处理原始数据,然后通过Shuffle和Sort机制来组织结果,最后通过运行Reduce任务来完成最终计算。因此,即便数据量非常大,通过该模型也可以高效地进行处理。
26 1
|
2月前
|
分布式计算 Java Hadoop
简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行
简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行
36 0
|
2月前
|
分布式计算 数据挖掘
通过mapreduce程序统计旅游订单(wordcount升级版)
通过mapreduce程序统计旅游订单(wordcount升级版)
|
3月前
|
分布式计算 Hadoop Java
【集群模式】执行MapReduce程序-wordcount
【集群模式】执行MapReduce程序-wordcount
|
3月前
|
存储 分布式计算 算法
MapReduce计数器,Tash的运行机制,shuffle过程,压缩算法
MapReduce计数器,Tash的运行机制,shuffle过程,压缩算法
42 0
|
3月前
|
分布式计算 Java Hadoop
IDEA 打包MapReduce程序到集群运行的两种方式以及XShell和Xftp过期的解决
IDEA 打包MapReduce程序到集群运行的两种方式以及XShell和Xftp过期的解决
|
3月前
|
分布式计算 Java Hadoop
【本地模式】第一个Mapreduce程序-wordcount
【本地模式】第一个Mapreduce程序-wordcount
|
8月前
|
分布式计算 资源调度 Hadoop
centos7 伪分布式 hadoop 利用 python 执行 mapreduce
centos7 伪分布式 hadoop 利用 python 执行 mapreduce
33 0
|
9月前
|
存储 分布式计算 资源调度
提交MapReduce程序至YARN执行
提交MapReduce程序至YARN执行
82 0
|
9月前
|
分布式计算 资源调度 Hadoop
23 MAPREDUCE程序运行模式
23 MAPREDUCE程序运行模式
45 0