配置 YARN 并启动测试|学习笔记

简介: 快速学习配置 YARN 并启动测试

开发者学堂课程【快速掌握 Hadoop 集成 Kerberos 安全技术YARN 并启动测试】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/708/detail/12567


YARN 并启动测试


配置 YARN

1.配置 YARN 相关的 Kerberos 账户

(1)配置 cdho

#在 root 用户下执行

kadmin #进入 kerberos admin 后台

首先回到 cdh0的操作平台,回到 root 账户看一下目前还是托管着 admin 权限的,输入 kadmin 后台,输入他的密码。

#添加 resourcemanager 的账户

addprinc -randkeyrm/cdheitcast.cnITCAST.CN

输入 cd /etc/security/keytabs/,会发现已经添加好。

#添加 job historvserver 的账户

addprinc -randkeyjhs/cdhitcastnITCASTCN

执行 kadmin,输入密码,添加 job historvserver 账户

#添加 rm 账户的本地 keytab

ktadd -k/etc/security/keytabs/rmservicekeytab rm/cdhitcast.cn@ITCAST.CN

ktadd -k/etc/security/keytabs/ihs.servicekeytabhs/cdhitcast.cn@ITCAST.CN

将以上代码执行并添加,没有问题后会发现多了 jhs.service keytabhs

# 将得到的 rm.service.keytab 改权限

chmod 400rm.service kevtab

chown yarn:hadoop rm.service.keytab

#将得到的 ihs.service.kevtab 改权限

chmod 400 ihs.service.kevtab

chown mapred:hadoop ihs.service.keytab

先改一下400,再改一下所属,

# 得到

[root@cdhe keytabs]# 11

total 20mapred hadoop 412 Sep 26 14:20 jhsservicekeytab

-r--------- 1 hdfs hadoop 406 Sep 26 11:11 nnservicekeytab

-r--------1

-r---------1yarn hadoop 406 Sep 26 14:09 m.service.keytab

-r-------- 1 hdfs hadoop 486 Sep 26 11:13snservicekeytab

-r-------- 1 hdfs hadoop 418 Sep 26 12:20 spnego.service.keytab

(2)配置 cdh1

#在 root 用户下执行

kadmin#进 Akerberos admin 后台

进入到 cd/ect/security/keytabs

#添加 nodemanager 的账户

addprinc-randkeynm/cdh1iteastnITCAST.CN

#添加 nm 账户的本地 keytab

ktadd -k/etc/security/keytabs/nm.servicekeytabnm/cdh1itcastcn@ITCAST.CN

# 将得到的 nm.service.keytab 改权限

chmod 400 nm.service kevtab

chown yarn:hadoop nm.service.keytab

# 得到

[rootecdh1 keytabs]#11

total 12

-r-------- 1 hdfs hadoop 406 Sep 26 11:18 dn.service.keytab

-r-------- 1 yarn hadoop 406 Sep 26 14:14nmservicekeytab

-r-------- 1 hdfs hadoop 418 Sep 26 12:22 spnegoservicekeytab

(3)配置 cdh2

#在 root 用户下执行

kadmin #进入kerberos admin后台

#添加 nodemanager 的账户

addprinc -randkeynm/cdh2iteastcnITCAST.CN

#添加 nm 账户的本地 keytab

ktadd -k/etc/security/keytabs/nmservicekeytabnm/cdh2itcast.cn@ITCASTCN

#将得到的 nm.service.kevtab 改权限 chmod 400 nm.service keytab

chown yarn:hadoopnm.service.keytab

# 得到

rootecdh1 kevtabs # 11

total 12

-r-------- 1 hdfs hadoop 406 Sep 26 11:18 dn.service.keytab

-r-------- 1 varn hadoop 406 Sep 2614:14nmservicekevtab

-r-------- 1 hdfs hadoop 418 Sep 26 12:22 spnego.service.keytab

检查时会发现 nmservicekevtab 已经创建好了

2、配置 yarn-site.xml

<?xml version="1.0"?>

<!--

Licensed under the Apache License,Version 2.0(the"License");you may not use this file except in compliance with the License.

You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing. softwaredistributed under the License is distributed on an"AS IS" BASIS.WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND. either express orimplied.See the License for the specific language governing permissionsand

limitations under the License. See accompanying LICENSE file.

-->

<confiauration>

<property>

<name>yarn.log.server.url</name>

<value>https://cdh0.itcast.cn:19890/jobhistory/logs</value><description></description>

</property>

首先是配置 jobhistory 的 ul 路径

<propertyx

<name>yarn.acl.enable</name>

<value>false</value>

<description>lnable ACLs? Defaults to false.</description>

</property>

这里配置 acl.,这里没有开启 sl

所有的配置大多数都是 yarn 本身的配置。

<property>

<name>yarn.resourcemanager.principal</name>

<value>rm/_HOST@ITCAST.CN</value>

</property>

<property>

<name>yarn.resourcemanager.keytab</name>

<value>/etc/security/keytabs/rm.service.keytab</value>

</property>

这里 resourcemanager 对应账户,_HOST 来转换成主题名,同时对应 keytabs 文件转化在哪里

这里还有个 webapp 对应的是 true,同样是 manager 账户是哪一个,对应的 keytab 存放在那个路径下。

还有一些 timeline,这里并没有使用 timeline,在这个示例里面用不到。

还是需要对 yarn 实行一些 ssl,开启 httpsonly,只允许使用 https

有个关键配置 linux-container-executor.要首先给他个 group,用 Hadoop 作为他的管理者

这里有个执行的 class,这里配置为这样一个 class:org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor.

3、配置 mapred.xml

<?xml version="1.0"?>

e?xml-stylesheettype="text/xsl"hrefconfiquration xsl"?>

<!--Licensed under the Apache License, Version 2.e (the “License").you may not use this file except in compliance with the License.You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0Unless required by apolicable lam or agreed to in writing, software

distributed under the License is distributed on an"AS IS" BASIS.WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND. either express orimplied.See the License for the specific languace coverning permissionsand

limitations under the License. See accompanying LICENSE file.

--->

<!-- Put site specifie property overrides in this file.-->

<property>

<name>mapreduce.framework.name</name><value>yarn</value>(这里是 mapreduce 的框架登录)

<description></description></property>

<!--

<property>

<name>mapreduce.map.memory.mb</nam><value>1024</value>

<description>Larger resource limit for maps.

</description>

</property>

<property>

<name>mapreduce.mapjava.opts</name><value>-Xmx768M</value>

<description></description></property>

<property>

<name>mapreduce.reduce.memory.mb</name><value>1024</value>

<description></description></property>

<property>

<name>mapreduce.reduce.java.opts</name><value>-Xmx2000M</value>

<description></description></property>

<property>

<name>mapreduce.task.io.sort.mb</name><value>256</value>

<description></description></property>

I

<property>

<name>mapreduce.task.io.sort.factor</name><value>50</value>

<description></descliption></property>

<property>

<name>mapreduce.reduce.shuffle.parallelcopies</name><value>25</value><description>Higher number of parallel copies run by reduces tofetch outputs from very large number of maps.</description>

</property>

<property>

<name>mapreduce.jobhistory.webapp.address</name><value>cdh0.itcast.cn:19888</value><description></description></property>

<property>

<name>mapreduce.jobhistory.intermediate-done-dir</name><value>/mr-data/mr-history/tmp</value><description></description></property>

<property>

<name>mapreduce.jobhistory.done-dir</name><value>/mr-data/mr-history/done</value><description></description></property>

<property> I

<name>mapreduce.obhistorykeytab</name>

<value>/etc/security/keytabs/ihs.servicekeytab</value></property><property>

<name>mapreduce.jobhistory.principal</name><value>jhs/_HOST@ITCAST.CN</value></property>

<property>

<name>mapreduce.jobhistory.webapp.spnego-principal</name><value>HTTP/_HOST@ITCAST.CN</value></property><property>(他要使用的账户在哪里)

<name>mapreduce.jobhistory.webapp.spnego-keytab-file</name>

<value>/etc/security/keytabs/spnego.servicekeytab</value>

</property>

<property>

<name>mapreduce.jobhistory.http.policy</name><value>HTTPS_ONLY</value>

</property>

</configuration>

将以上代码复制,保存即可

添加操作如图:

image.png

4、配置 container-executor.cfg

以 root 账户编辑

yarn.nodemanager.local-dirs=/data/nm-local

yarn.nodemanagerlog-dirs=/data/nm-1og

yarnnodemanager.linux-container-executor.group-hadoop

#configured value of yarn.nodemanager.linux-container-executor. Group

banned.users bin

#comma separated list of users who can not run applications

min.user.id=100

#Prevent other super-users

allowed.system.users=root,yarn,hdfs,mapred,hive,dev t

##comma separated list of system users who can run applications

将以上进行复制,首先定义 yarn 两个路径,banned.users bin 是不允许提交 yarn 的容器的,如果不想某个账户提交,就把这个账户放在这里面这些对应的账户它就没有权限去创建对应的容器,有一个最小的 user.id 设置为100,因为某些 superu id 就是他的 ID 是很小的,低于100是不允许执行的,还有一个叫做允许的系统用户,比如说 root,yarn,hdfs,mapred,hive,dev t,这些用户它是可以有权限去提交 yarn 任务的。

5.将配置文件复制到其他机器

scp container-executor.cfg mapred-site.xml yarn-site.xml cdh1:/bigdata/hadoop-2.6.0 cdh5.14.4/etc/hadoop/

scp container-executor.cfg mapred-site.xml yarn-site.xml cdh2:/bigdata/hadoop-2.6.0 cdh5.14.4/etc/hadoop/

6.启动 HistoryServer

在 cdho 机器,切换到 mapred 账户

执行: kinit -kt /etc/security/keytabs/jhs.service.keytab jhs/cdh0.itcast.cn@ITCAST.CN(授权)

执行: mr-jobhistory-daemon.sh start historyserver,会发现正常运行

浏览器打开:https://cdh0:19890

image.png

7.启动 resourcemanager

在 cdho 机器,切换到 yarn 账户

执行:kinit -kt /etc/securitv/kevtabs/rm.service keytab rm/cdhe.itcast.cneITCAST.CN(授权)

执行: yarn-daemon.sh start resource manager,(启动)正常运行,查看日志,没有问题

浏览器打开:https://cdho:8090

没有问题同样启动 cdh1、cdh2。操作步骤相同,打开浏览器页面如下:

image.png

image.png

8.提交 MR 程序测试

在 cdho 机器上:

1. su-yirn

2. kinit -kt /etc/security/kevtabs/rm.service.kevtab rm/cdh0.itcast.cneITCAST.CN(注册)

3.hadoopiar/biadata/hadoop-2.6.0-cdh5.14.4/share/hadoop/mapreduce/hadoon-mapreduce-examples-2.6.0-cdh5.14.4 iar wordcount /readme txt /tmp/wd-outputi(运行)

这个异常一般忽略就可以:

image.png

Job 已经运行成功了,再切换到 hdfs 账户,运行会发现有/tmp/wd-output1目录

以上所有步骤操作完后,会发现都可以正常执行了。

相关文章
|
7天前
|
JavaScript 测试技术 Windows
vue配置webpack生产环境.env.production、测试环境.env.development(配置不同环境的打包访问地址)
本文介绍了如何使用vue-cli和webpack为Vue项目配置不同的生产和测试环境,包括修改`package.json`脚本、使用`cross-env`处理环境变量、创建不同环境的`.env`文件,并在`webpack.prod.conf.js`中使用`DefinePlugin`来应用这些环境变量。
23 2
vue配置webpack生产环境.env.production、测试环境.env.development(配置不同环境的打包访问地址)
|
12天前
|
Linux
kickstart自动安装系统 --DHCP 配置及测试
PXE+Kickstart自动安装系统需配置DHCP服务器分配IP。dhcpd.conf示例:设置更新样式、忽略客户端更新、指定下一服务器及启动文件。定义子网、网关、掩码、动态地址池并预留特定MAC地址。重启xinetd、NFS、DHCP服务,确保新服务器与Kickstart服务器在同一网络,避免误装其他机器。注意隔离测试网络以防干扰生产环境。
56 18
|
9天前
|
JavaScript 测试技术
vue配置生产环境.env.production、测试环境.env.development
该文章介绍了如何在Vue项目中配置和使用不同的环境变量文件(.env、.env.production、.env.development)以适应开发、测试和生产环境,并通过修改`package.json`中的scripts来实现不同环境的打包。
33 0
vue配置生产环境.env.production、测试环境.env.development
|
2月前
|
存储 Ubuntu 安全
ROS2教程02 ROS2的安装、配置和测试
本文是关于ROS2(机器人操作系统2)的安装、配置和测试的教程。内容包括使用一键安装脚本快速安装ROS2 Humble版,手动安装步骤,设置语言环境、添加软件源、更新软件包、安装ROS2桌面版和开发工具,配置ROS2环境,创建工作空间,配置ROS2领域以避免网络冲突,以及如何删除ROS2。此外,还包括了测试ROS2是否安装成功的两个案例:基本的Topic通信测试和使用Turtlesim演示程序。适用于Ubuntu 22.04操作系统。
86 1
ROS2教程02 ROS2的安装、配置和测试
|
2月前
|
资源调度 关系型数据库 MySQL
【Flink on YARN + CDC 3.0】神操作!看完这篇教程,你也能成为数据流处理高手!从零开始,一步步教会你在Flink on YARN模式下如何配置Debezium CDC 3.0,让你的数据库变更数据瞬间飞起来!
【8月更文挑战第15天】随着Apache Flink的普及,企业广泛采用Flink on YARN部署流处理应用,高效利用集群资源。变更数据捕获(CDC)工具在现代数据栈中至关重要,能实时捕捉数据库变化并转发给下游系统处理。本文以Flink on YARN为例,介绍如何在Debezium CDC 3.0中配置MySQL连接器,实现数据流处理。首先确保YARN上已部署Flink集群,接着安装Debezium MySQL连接器并配置Kafka Connect。最后,创建Flink任务消费变更事件并提交任务到Flink集群。通过这些步骤,可以构建出从数据库变更到实时处理的无缝数据管道。
126 2
|
2月前
|
缓存 NoSQL 网络协议
【Azure Redis 缓存 Azure Cache For Redis】在创建高级层Redis(P1)集成虚拟网络(VNET)后,如何测试VNET中资源如何成功访问及配置白名单的效果
【Azure Redis 缓存 Azure Cache For Redis】在创建高级层Redis(P1)集成虚拟网络(VNET)后,如何测试VNET中资源如何成功访问及配置白名单的效果
|
2月前
|
Docker 容器
FunASR离线文件转写软件包3.0问题之推理效率测试的配置如何解决
FunASR离线文件转写软件包3.0问题之推理效率测试的配置如何解决
26 0
|
1月前
|
资源调度 分布式计算 Hadoop
YARN(Hadoop操作系统)的架构
本文详细解释了YARN(Hadoop操作系统)的架构,包括其主要组件如ResourceManager、NodeManager和ApplicationMaster的作用以及它们如何协同工作来管理Hadoop集群中的资源和调度作业。
37 3
YARN(Hadoop操作系统)的架构
|
1月前
|
资源调度 分布式计算 Hadoop
使用YARN命令管理Hadoop作业
本文介绍了如何使用YARN命令来管理Hadoop作业,包括查看作业列表、检查作业状态、杀死作业、获取作业日志以及检查节点和队列状态等操作。
29 1
使用YARN命令管理Hadoop作业
|
2月前
|
资源调度 分布式计算 算法
【揭秘Yarn调度秘籍】打破资源分配的枷锁,Hadoop Yarn权重调度全攻略!
【8月更文挑战第24天】在大数据处理领域,Hadoop Yarn 是一种关键的作业调度与集群资源管理工具。它支持多种调度器以适应不同需求,默认采用FIFO调度器,但可通过引入基于权重的调度算法来提高资源利用率。该算法根据作业或用户的权重值决定资源分配比例,权重高的可获得更多计算资源,特别适合多用户共享环境。管理员需在Yarn配置文件中启用特定调度器(如CapacityScheduler),并通过设置队列权重来实现资源的动态调整。合理配置权重有助于避免资源浪费,确保集群高效运行,满足不同用户需求。
34 3
下一篇
无影云桌面