本地模式,伪分布配置(主要是伪分布) 操作指南

当运行时出现任何问题时来看

1. 首先将 namenode,datanode,resourcemanager,nodemanager 全部关闭
	sbin/hadoop-daemon.sh stop namenode
	sbin/hadoop-daemon.sh stop datanode
    sbin/yarn-daemon.sh stop resourcemanager
	sbin/yarn-daemon.sh stop nodemanager

2. 首先确认 配置文件中的 主机名 是否写错了,要改成自己的主机名,: kpl-VirtualBox
    主要看 core-site.xml,yarn-site.xml 这两个配置文件
    
3. 接着确认 配置文件中的 JAVA_HOME 路径是否写错了
    主要看 hadoop-env.sh,yarn-env.sh,mapred-env.sh
    
4. 当配置确认无误后,接着删除 你自己hadoop目录下的 logs 文件
    和 /opt/hadoop-2.7.2 路径下的 data 文件
    (这两个文件不影响操作,因为他们会在你重新启动节点后自动创建)

5. 格式化 
	bin/hdfs namenode -format

6.. 重新启动 namenode,datanode,resourcemanager,nodemanager
	sbin/hadoop-daemon.sh start namenode
	sbin/hadoop-daemon.sh start datanode
    sbin/yarn-daemon.sh start resourcemanager
    sbin/yarn-daemon.sh start nodemanager
    
7. 使用jps查看情况

8. 在 web 中使用
	ip:50070
    ip:8088
    查看网页能否正常打开
    
9. 如果网页无法打开 那么 有可能是 ip 地址弄错了,也可能是端口被占用了
	解决方法,先使用 ifconfig 查看本电脑 外网ip
    然后使用 vi /etc/hosts 查看当前电脑的 主机ip地址
    然后进行如下图的修改
    	把前面的 127.0.1.1 注释掉,然后添加新的外网ip

在这里插入图片描述
在这里插入图片描述

4.1.1 官方Grep案例–本地模式

  1. mkdir input;

  2. 向input路径cp文件;将 hadoop下的 etc/hadoop 目录中的 所有以 .xml 结尾的文件复制到 input文件夹中

  3. 运行:

    bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'
    
  4. 检视结果。

4.1.2 官方WordCount案例

  1. mkdir wcinput;

  2. 进入wcinput文件夹,生成wc.input文件,并写入数据 通常是一个文本文件,要被用作查找单词数目的文件;

  3. 运行:

    bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wcinput wcoutput
    
  4. 检视结果。

4.2 伪分布式运行模式

4.2.1 启动HDFS并运行MapReduce程序

修改配置文件:

  1. 在core-site.xml文件中写入
<!--指定HDFS中NameNode的地址-->
<property> 
	<name>fs.defaultFS</name>
	<value>hdfs://nodeb1:9000</value>  
    # 这里的 nodeb1 要改成你自己的主机名,如kpl-VirtualBox
</property>

<!--指定Hadoop运行时产生文件的存储路径-->
<property> 
	<name>hadoop.tmp.dir</name>
	<value>/opt/hadoop-2.7.2/data/tmp</value>  # 这一项是 data 文件的路径
</property>
  1. hadoop-env.sh
在 hadoop-env.sh 文件中加入 JAVA_HOME,也就是你的java路径
  1. hdfs-site.xml
<!--指定HDFS副本数量-->
<property> 
	<name>dfs.replication</name>
	<value>1</value>  # 这里的数字 表示 你要在多少个服务器上保存的副本数
</property>
1 启动伪分布式集群
1.1 格式化NameNode

# bin/hdfs namenode -format

1.2 启动NameNode

# sbin/hadoop-daemon.sh start namenode

1.3 启动DataNode

# sbin/hadoop-daemon.sh start datanode

启动namenode 和 datanode 时,必须在 root 用户下进行操作

当无法使用jps查看时,要先使用
sbin/hadoop-daemon.sh stop namenode
sbin/hadoop-daemon.sh stop datanode
关闭 namenode 和 datanode
接着删除 data 和 logs 这两个文件夹

最后重复 上述 1.11.21.3 过程
2 查看集群运行情况–使用 ip:50070 在web查看
2.1 jps
2.2 通过 ip:50070 在浏览器中访问
IP 可以通过 ifconfig 查看
3 HDFS的操作(必会点,错做类似 Linux)
3.1 创建(多级)路径

PS:使用伪分布必须提前 用 dfs 建立好 相应文件夹

dfs 的操作 类似Linux中的命令,只是前面多了一个 dfs 而已

# bin/hdfs dfs -mkdir -p /user/root/input

3.2 (递归)列出

# bin/hdfs dfs -ls /user/root/input

# bin/hdfs dfs -ls -R /user/root/input

3.3 向HDFS上传文件

PS:一定要把文件上传到 HDFS 上

# bin/hdfs dfs -put 源路径(本地文件系统) 目的路径(HDFS)

# bin/hdfs dfs -put ./wcinput/wc.input /user/root/input

3.4 基于HDFS运行WordCount程序
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcout /user/root/input /user/root/output
注意 在伪分布上 操作的目录,就是你在 3.1 中使用命令创建的目录

注意 这里的文件路径 一定是你上传到 yarn 上的文件路径 /user/root/input

在这里插入图片描述

3.5 输出HDFS上文件的内容

# bin/hdfs dfs -cat /user/root/output/p*

4.2.2 启动Yarn并运行MapReduce程序

1. 配置集群

(1)在 yarn-env.sh 文件中加入

加入 JAVA_HOME 的地址,指你的java的路径

(2)在 yarn-site.xml 文件中加入

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

<!--指定Yarn的ResourceManager的地址-->
<property> 
	<name>yarn.resourcemanager.hostname</name>
	<value>nodeb1</value>   # 同样这里的nodeb1要改成自己的主机名,如kpl-VirtualBox
</property>

(3)在 mapred-env.sh 文件中加入

加入 JAVA_HOME

(4)在 mapred-site.xml 文件中加入

首先要将mapred-site.xml.template重命名为mapred-site.xml

使用命令 cp mapred-site.xml.template mapred-site.xml

然后在文件中加入你下代码

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

2. 启动集群-启动集群后 使用 ip:8088 在web查看

(1)启动前必须保证NameNode和DataNode已经启动。

(2)启动ResourceManager

# sbin/yarn-daemon.sh start resourcemanager

(3)启动NodeManager

# sbin/yarn-daemon.sh start nodemanager

同样可以使用
sbin/yarn-daemon.sh stop resourcemanager
sbin/yarn-daemon.sh stop nodemanager
关闭 resourcemanager 和 nodemanager

4.2.3 配置历史服务器 History

1 配置集群

在 mapred-site.xml 文件中写入

<!--历史服务器端地址-->
<property> 
	<name>mapreduce.jobhistory.address</name>
	<value>hadoop1:10020</value>
    # 注意这里的 hadoop1 要改成你自己的 主机名,如:kpl-VirtualBox
</property>

<!--历史服务器Web端地址-->
<property> 
	<name>mapreduce.jobhistory.webapp.address</name>
	<value>192.168.31.41:19888</value> 
    # 注意这里的 192.168.31.41 要改成你自己的 主机对应的外网ip,比如我的外网ip为192.168.42.198
</property>

2 启动历史服务器

# sbin/mr-jobhistory-daemon.sh start historyserver

关闭历史服务器使用

# sbin/mr-jobhistory-daemon.sh stop historyserver

3 查看历史服务器是否启动

# jps

4 查看JobHistory

http://hadoop1:19888

4.2.4 配置日志的聚合

日志聚合的概念:应用运行完成以后,将程序运行的日志信息上传的HDFS。

日志聚合的好处:可以方便地查看程序运行的详情,方便开发调试。

注意:开启日志聚合功能,需要重启NodeManager、ResourceManager和HistoryManager。

1 配置集群

在 yarn-site.xml 文件中写入

<!--日志聚合功能开启,默认为false关闭-->
<property> 
	<name>yarn.log-aggregation-enable</name>
	<value>true</value> 
</property>

<!--日志保留时间设置为七天,用秒数来表示的-->
<property> 
	<name>yarn.log-aggregation.retain-seconds</name>
	<value>604800</value> 
</property>

2 关闭NodeManager、ResourceManager、HistoryManager

# sbin/mr-jobhistory-daemon.sh stop historyserver

# sbin/yarn-daemon.sh stop nodemanager

# sbin/yarn-daemon.sh stop resourcemanager

3 重启NodeManager、ResourceManager、HistoryManager

# sbin/yarn-daemon.sh start resourcemanager

# sbin/yarn-daemon.sh start nodemanager

# sbin/mr-jobhistory-daemon.sh start historyserver

4.2.5 配置文件说明

Hadoop配置文件分为两类:默认配置文件和自定义配置文件。只有用户想修改某一默认配置值时,才需要修改自定义配置文件,更改相应属性值。

配置文件都放在 $HADOOP_HOME/etc/hadoop 文件夹下

1 默认配置文件

这是一些系统默认采用的一些配置,如果你不想使用,那么可以 自定义配置文件

(1)core-default.xml

(2)hdfs-default.xml

(3)yarn-default.xml

(4)mapred-default.xml

2 自定义配置文件

(1)core-site.xml

(2)hdfs-site.xml

(3)yarn-site.xml

(4)mapred-site.xml

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值