yarn安装 转

转http://dongxicheng.org/mapreduce-nextgen/hadoop-yarn-install/

 

1. 准备

首先你需要准备一台或多台服务器,同Hadoop 1.0一样,你需要安装JDK,利用ssh设置免密码登录,在此不具体介绍。

2. 安装

接下来,你可从http://archive.cloudera.com/cdh4/cdh/4/下载最新版的CDH4,然后解压后,修改以下几个配置文件:

(1) 设置环境变量

在${HADOOP_HOME}/etc/hadoop/hadoop-env.sh中,添加JAVA安装目录:

export JAVA_HOME=/usr/lib/jvm/java-6-openjdk

(2) 修改mapred-site.xml

在${HADOOP_HOME}/etc/hadoop/下,将mapred-site.xml.templat重命名成mapred-site.xml,并添加以下内容:

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

【解释】相比于Hadoop1.0,用户无需再配置mapred.job.tracker,这是因为JobTracker已变成客户端的一个库,他可能被随机调度到任何一个slave上,也就是它的位置是动态生成的。需要注意的是,在该配置文件中需用mapreduce.framework.name指定采用的框架名称,默认是将作业提交到MRv1的JobTracker端。

(3) 修改core-site.xml

在${HADOOP_HOME}/etc/hadoop/中,修改core-site.xml,为了简单,我们仍采用Hadoop1.0中的HDFS工作模式(不配置HDFS Federation):

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://YARN001:8020</value>
<final>true</final>
</property>
</configuration>

(4) 修改yarn-site.xml

在${HADOOP_HOME}/etc/hadoop/中,修改yarn-site.xml:

<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce.shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>

【解释】为了能够运行MapReduce程序,需要让各个NodeManager在启动时加载shuffle server,shuffle server实际上是Jetty/Netty Server,Reduce Task通过该server从各个NodeManager上远程拷贝Map Task产生的中间结果。上面增加的两个配置均用于指定shuffle serve。如果YARN集群有多个节点,你还要配置yarn.resourcemanager.address等参数,具体参考Cloudera的这篇文档:Deploying MapReduce v2 (YARN) on a Cluster

(5) 修改hdfs-site.xml

<configuration>

<property>

<name>dfs.namenode.name.dir</name>

<value>/mnt/disk1/yarn/dfs/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>/mnt/disk1/yarn/dfs/data</value>

</property>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<property>

<name>dfs.permissions</name>

<value>false</value>

</property></configuration>

(6) 修改slaves

在slaves文件中添加你的节点ip或者host:

YARN001

如果有多个NodeManager,可一次添加到该文件中,每个占一行。

(7) 启动HDFS

你可以使用以下命令分别启动NameNode和DataNode:
bin/hadoop namenode -format
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode(如果有多个datanode,需使用hadoop-daemons.sh)
或者一次启动:sbin/ start-dfs.sh

(8) 启动YARN

你可以使用以下命令分别启动ResourceManager和NodeManager:
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager(如果有多个datanode,需使用yarn-daemons.sh)
或者一次启动过:sbin/start-yarn.sh

(9) 检查是否运行成功

打开浏览器,输入:http://yarn001:8088

(10) 运行应用程序

通常而言,我们会运行examples中的最简单的作业—sleepjob,但CDH已将之移除,我们可运行另外一个很简单的作业—pi:

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.0.0-cdh4.1.1.jar pi 20 10

界面截图(点击图片查看大图):

ResourceManager主界面:

MapReduce Application Master界面:

-

Map Task运行状况:

某个Node上各个Container状态:

3. 总结

在启动YARN时,最好手工顺次启动各个服务,并通过jps命令查看服务是够启动成功,如果不成功,则在安装目录下的logs文件夹中查看相应的日志以发现原因。

<think>嗯,用户现在的问题是,在npm版本不兼容的情况下如何安装Yarn。根据之前的对话历史,用户可能已经尝试过解决npm版本的问题,但遇到了困难,现在安装Yarn作为替代方案。需要参考提供的引用内容,特别是引用[1]和[2]中的信息,这些内容提到Yarn的优势以及如何通过npm安装Yarn。 首先,用户提到npm版本不兼容,可能是指当前的npm版本过低或过高,无法正常工作,所以需要安装Yarn。根据引用中的信息,安装Yarn可以通过npm进行,但如果npm本身有问题,可能需要其他方法。需要确保用户即使npm有问题,也能安装Yarn。 接下来,需要考虑用户可能的场景:他们可能在使用旧项目,或者node版本不对,导致npm安装失败。需要提供多种方法,比如使用npm安装Yarn,但也要考虑到npm不可用的情况,比如通过脚本安装或者直接下载二进制文件。 还要注意用户之前的问题是关于npm版本不兼容的解决方法,比如使用nvm切换node版本,所以在回答中可能需要结合之前的建议,例如先切换node版本再安装Yarn。但用户现在可能不想切换node版本,而是直接安装Yarn,所以需要提供替代方案。 另外,引用中提到的Yarn安装步骤,比如并行安装、离线模式等,可能不需要在回答中详细展开,但需要确保安装Yarn的方法正确。同时,需要指出在npm不兼容的情况下,如何绕过npm安装Yarn,比如使用corepack或者直接脚本安装。 还要检查用户可能的问题,比如权限问题,是否需要sudo,或者环境变量配置。此外,安装后的验证步骤也很重要,确保Yarn正确安装。 最后,生成的相关问题需要围绕用户可能遇到的后续问题,比如如何迁移项目到Yarn,处理锁定文件,或者解决安装后的依赖问题。</think>### 如何在npm版本不兼容的情况下安装Yarn #### 1. **通过npm安装Yarn(若npm仍可用)** - 即使npm版本不兼容,可尝试强制安装Yarn: ```bash npm install -g yarn --force ``` - 若提示权限问题,使用管理员权限(Linux/macOS加`sudo`,Windows以管理员身份运行): ```bash sudo npm install -g yarn --force ``` #### 2. **绕过npm:使用独立脚本或二进制文件** - **通过curl脚本安装**(适用于Unix/Linux/macOS): ```bash curl -o- -L https://yarnpkg.com/install.sh | bash ``` 此方法直接下载并配置Yarn,不依赖npm[^1]。 - **手动下载二进制文件**: 1. 访问[Yarn官网](https://yarnpkg.com/)下载对应系统的二进制包。 2. 解压后将其路径添加到环境变量(如`PATH`)。 #### 3. **利用Node.js内置的Corepack(推荐)** - **启用Corepack**(Node.js 16.10+自带): ```bash corepack enable # 激活Yarn和PNPM管理 corepack prepare yarn@stable --activate # 安装最新稳定版Yarn ``` - 验证安装: ```bash yarn --version ``` 此方法无需依赖npm,直接通过Node.js工具链安装[^2]。 #### 4. **修复npm版本后再安装Yarn** - 若npm版本冲突严重,先用以下方法修复: 1. **使用nvm切换Node.js版本**(兼容Yarn要求的Node版本): ```bash nvm install 16.14.0 # Yarn推荐Node 16+ nvm use 16.14.0 ``` 2. **重新安装npm**: ```bash npm install -g npm@latest ``` 3. 再执行`npm install -g yarn`。 --- ### 验证安装成功 ```bash yarn --version # 输出版本号(如1.22.19) ``` --- ### 相关问题 1. 如何将现有项目的`package-lock.json`迁移到`yarn.lock`? 2. Yarn的离线模式如何配置以提升安装速度? 3. 使用Corepack管理Yarn和PNPM时如何指定版本? 4. Yarn与npm混合使用时可能引发哪些依赖冲突?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值