yarn安装配置_Hadoop v3.1.2 伪分布式安装(Pseudo-Distributed Operation)

大数据处理框架Hadoop

Hadoop 生态系统已经变得非常成熟和完善,包括Zookeeper、HDFS、MapReduce、HBase、Hive、Pig等子项目,其中HDFS和MapReduce是Hadoop的两大核心组件。

1ef262802618f63068bdc3f8b426e7cd.png

Hadoop伪分布式安装(Pseudo-Distributed Operation)

CentOS 7 单机安装最新版Hadoop v3.1.2以及配置和简单测试

介绍了单机模式的安装。接下来,本文演示如何在Linux环境下,进行伪分布式模式的安装,并运行Hadoop自带的WordCount实例检测是否运行正常。

Hadoop 支持如下三种模式的安装。

717458c7da8425c5f2b3b446e06b2370.png

其中,伪分布式安装是指在一台机器上模拟一个小的集群,但是集群中只有一个节点。此时每个 Hadoop 守护进程是一个独立的 Java 进程。

当Hadoop 应用于集群时,不论是伪分布式或者真正的分布式,都需要通过配置文件对各组件的协同工作进行设置。

fb040f060bcb88820e341c2f663c3a77.png

Hadoop 伪分布式的特点:

具备Hadoop所有的功能,在单机模拟Hadoop分布式环境。

把nameNode,dataNode 安装在同一个节点上,还需要装一个MapReduce的运行环境yarn。需要配置如下内容:

(1)HDFS:主节点:nameNode;数据节点:dataNode;

(2)yarn:是一个容器,用来运行MapReduce程序;类似jsp需要运行在tomcat容器一样。yarn也有两部分:

主节点:ReourceManager

从节点:NodeManager

修改配置文件

(1)etc/hadoop/core-site.xml - Hadoop core的配置项

fs.defaultFS

hdfs://localhost:9000

其中指定HDFS 的地址和端口号,端口号按照官方文档设置为9000即可。

34c2e2b6c6a9b983a824468996966320.png

(2)etc/hadoop/hdfs-site.xml - Hadoop 守护进程的配置项

dfs.replication

1

因为这里采用伪分布式,集群中只有一个节点,因此副本数量replication 的值也只能设置为1。

4eb08bcc5fdfd0e5b6883aed81ed704a.png

配置免密码的 ssh

现在,检查你是否可以 ssh 登录到本机而无需密码:

$ ssh localhost

1caef099fe1bf6f8c19eb929cf87f8cb.png

如果无法免密登录,请执行如下命令:

$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

$ chmod 0600 ~/.ssh/authorized_keys

执行 Execution

执行后续命令以本地运行一个 MapReduce 作业。

(1)格式化文件系统:

$ bin/hdfs namenode -format

e80c606761515f763edffbc178e8d7c7.png

(2)启动 NameNode 守护进程和 DataNode 守护进程:

$ sbin/start-dfs.sh

Hadoop 守护进程的日志输出目录是 $HADOOP_LOG_DIR,其默认值是 $HADOOP_HOME/logs。

如果输出如下错误信息:

ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.

e9f6c97f9c5ad177c6913a4144e64635.png

解决办法是在etc/hadoop/hadoop-env.sh 配置文件最后,添加如下信息:

# 添加如下环境变量

export HDFS_DATANODE_USER=root

export HDFS_NAMENODE_USER=root

export HDFS_SECONDARYNAMENODE_USER=root

export YARN_RESOURCEMANAGER_USER=root

export YARN_NODEMANAGER_USER=root

再次运行 sbin/start-dfs.sh,结果如下:

1463b6081c0c1bbd027a607ed651ce39.png

(3)浏览 NameNode 的网页,地址默认是:

NameNode - http://localhost:9870/

注意:Hadoop3 HDFS web端口改为9870(Hadoop 3.1.0版本后,50070端口 -> 9870端口了)。

如下是访问HDFS 文件系统的web页面,其中IP 地址为名称节点的IP。

613c17207804bfedecae82fa9a292068.png

通过该Web 界面,可以查看当前文件系统中各个节点的分布信息,浏览名称节点(namenode)上的存储、登录日志等等。

还可以通过Web 界面查看目录,如下图所示。

10bbf66a95e4edb6e45e7332059572f7.png

(4)创建运行 MapReduce 作业必需的 HDFS 目录:

$ bin/hdfs dfs -mkdir /user

$ bin/hdfs dfs -mkdir /user/

e1b61cf368b68f3f47f5a206dc7ac47d.png

(5)复制输入文件到分布式文件系统中:

$ bin/hdfs dfs -mkdir input

$ bin/hdfs dfs -put etc/hadoop/*.xml input

7c1f675e0a62a91698333abcbe73d9e3.png

如下是创建好的HFDS 目录,可以通过如下命令进行查询。

bin/hdfs dfs -ls

bin/hdfs dfs -ls /

1d6e4b746370996a79bc16177bf54b24.png

(6)运行提供的示例程序:

$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.2.jar grep input output 'dfs[a-z.]+'

3e64b23cbf06581d1aa9caf2b1dceebe.png

(7)从分布式文件系统中复制文件到本地文件系统,验证输出的结果:

$ bin/hdfs dfs -get output output

$ cat output/*

或者直接查看分布式文件系统的输出文件:

$ bin/hdfs dfs -cat output/*

4a5e584abe46b320ad67ee9d65967072.png

(8)完成以上步骤后,执行一下命令来停止所有的守护进程:

$ sbin/stop-dfs.sh

单机运行 Yarn

在伪分布式模式中,只需设定很少的参数,你就可以用 Yarn 运行一个 MapReduce 作业,并激活 ResourceManager 守护进程和 NodeManager 守护进程。

后续指令假定上述指令的第 1 ~ 4 步已被执行。

(1)设置如下配置参数:etc/hadoop/mapred-site.xml

mapreduce.framework.name

yarn

a074b4347e7dd5aee06a0cdc7a7acddc.png

etc/hadoop/yarn-site.xml

yarn.nodemanager.aux-services

mapreduce_shuffle

9879d0a96e2f1daa209e4e0c45a7a754.png

(2)启动 ResourceManager 守护进程和 NodeManager 守护进程:

$ sbin/start-yarn.sh

77bb00dafaaf6c02e1d9db3fe50b9845.png

(3)浏览 ResourceManager 的网页,地址默认是:

ResourceManager - http://localhost:8088/

访问群集的所有应用程序的默认端口号为8088。

0fe1300ad747a1fd9ca90d6bdd03bdcf.png

(4)运行一个 MapReduce 作业。

(5)完成以上步骤后,执行一下命令来停止所有的守护进程:

$ sbin/stop-yarn.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值