Hadoop之伪分布模式_学习笔记

伪分布模式

所谓伪分布模式的含义是:把所有的角色全部运行在一个节点上,就叫做伪分布式。

贴上官方文档:

https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html

步骤

(1)配置集群

(a) 配置:hadoop-env.sh
			Linux系统中获取JDK的安装路径	
		echo $JAVA_HOME

在这里插入图片描述
修改JAVA_HOME路径:

export JAVA_HOME=/opt/module/jdk1.7.0_80

(b)配置core-site.xml

<!-- 指定HDFS中NameNode地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://192.168.247.135:9000</value>
    </property>

	<property>
		<name>hadoop.tmp.dir</name>
		<value>/opt/module/hadoop-2.6.5/data/tmp</value>
	</property>

解释:
FS:file system
第一个是改变文件系统,改成了hdfs://localhost:9000 文件系统;要不然的话就是原来的本地文件系统;运行的datanode需要存数据,就存在/data/tmp文件夹里面。

©配置:hdfs-site.xml

    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>

解释:
指定hdfs副本数量是1;原来的信息默认是三种,为什么?
因为现在只有一个节点,所以设置为1,这就是伪分布式。

(2)启动集群

(a)格式化NameNode(第一次启动时需要格式化,以后就不用格式化)
bin/hdfs namenode -format

在这里插入图片描述
在这里插入图片描述
表示格式化成功了

(b)启动NameNode
hadoop-daemon.sh start namenode

在这里插入图片描述
启动成功

(c) 启动DataNode
hadoop-daemon.sh start datanode

在这里插入图片描述
由于是单点式,所以SecondNode就不存在了,但是起码需要启动NN和DN

最后访问网页:hdfs的端口一般是50070
在这里插入图片描述
这里有踩了一个坑,前面由于电脑的防火墙没有关闭,所以不能访问,关闭防火墙:

 systemctl stop firewalld

注意:
格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据;所以,格式NameNode时,一定需要先删除data数据和log日子,然后再格式化NameNode。
可以通过下面的文件去查看data和name的ID:

cat data/tmp/dfs/name/current/
cat data/tmp/dfs/data/current

遇到有问题可以找日志文件:

cd logs

在这里插入图片描述
查看某一条日志:

cat hadoop-root-datanode-localhost.localdomain.log

在这里插入图片描述

配置yarn伪分布式

(1)配置yarn-env.sh

配置一下JVA_HOME

export JAVA_HOME=/opt/module/jdk1.7.0_80

进入yarn-env.sh
在这里插入图片描述
修改前:
在这里插入图片描述

修改后:
在这里插入图片描述

(2)配置yarn-site.xml

配置代码:

	<!-- Reduce获取数据的方式 -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

	<!-- 指定YARN的ResourceManager的地址 -->
    <property>
    	<name>yarn.resourcemanager.hostname</name>
    	<value>192.168.247.135</value>
    </property>
(4)配置:mapred-env.sh

配置一下:JAVA_HOME

export JAVA_HOME=/opt/module/jdk1.7.0_80
(5)配置:(对mapred-site.xml.template重新命名为)mapred-site.xml

命令:

mv mapred-site.xml.template mapred-site.xml
vi mapred-site.xml

配置文件:

<!-- 指定MR运行在YARN上面 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

前面我们将默认的文件系统改成了hdfs
现在我们则是将它默认的资源调度器改成了yarn

(2)启动集群

	(a)启动前必须保证NameNode 和 DataNode 已经启动
 	(b)启动ResourceManager:启动代码如下:
yarn-daemon.sh start resourcemanager
(c)启动NodeManager,启动代码如下:
yarn-daemon.sh start nodemanager

(3)集群操作

访问网页:
resourcemanager的端口一般是:8088
在这里插入图片描述

测试实战,跑一个在hdfs上的yarn的测试程序

(1)本地的文件就不能用了,所以需要将文件上传到HDFS上,这里依然用wcinput,即单词测试的那个样例
操作hdfs的前缀:hadoop fs
上传到hdfs,命令如下:
这里的-put就是之上传文件的意思

hadoop fs -put wcinput /

在这里插入图片描述
通过网页访问,查看刚刚上传的文件夹:
在这里插入图片描述

(2)执行jar包
运行的命令:
这里注意:此时的输入文件应是:/wcinput ,含义是去hdfs的更目录下去找到wcinput文件,所以前面会有一个‘/’

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar wordcount /wcinput /wcoutput

执行命令效果图:
在这里插入图片描述
去网页上寻找刚才产生的输出文件:
在这里插入图片描述
在这里插入图片描述

(3)最后查看刚才的输出文件
执行的命令如下:

通过命令查看:

hadoop fs -cat /wcoutput/*

在这里插入图片描述

直接在网上下载下来看:
在这里插入图片描述

That’s all.

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值