启动前准备
使用Yarn包管理器启动前,需首先进行Hadoop相关配置,配置完成后重新启动Hadoop。

- 主节点修改Hadoop配置文件。
- 修改“${HADOOP_HOME}/etc/hadoop/yarn-site.xml”文件。
- 开启container-executor配置,用户组为ockadmin,如下所示。
<property> <name>yarn.nodemanager.container-executor.class</name> <value>org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor</value> </property> <property> <name>yarn.nodemanager.linux-container-executor.group</name> <value>ockadmin</value> </property> <property> <name>yarn.nodemanager.linux-container-executor.nonsecure-mode.limit-users</name> <value>false</value> </property>
- 配置开启Node Labels特性。
图1 开启Node Labels
yarn-site.xml文件配置示例如下:
<propert> <name>yarn.node-labels.enabled</name> <value>true</value> </propert> <propert> <name>yarn.node-labels.fs-store.root-dir</name> <value>/tmp/node-labels</value> </propert> <propert> <name>yarn.resourcemanager.scheduler.class</name> <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value> </propert>
- 重启ResourceManager组件以生效配置。
- 执行以下命令查询节点列表,确认ResourceManager是否正在运行。
yarn node -list
- 执行以下命令停止ResourceManager服务。
yarn --daemon stop resourcemanager
- 待ResourceManager服务停止后,执行以下命令重启该服务。
yarn --daemon start resourcemanager
- 执行以下命令查询节点列表,确认ResourceManager是否正在运行。
- 开启container-executor配置,用户组为ockadmin,如下所示。
- 修改“${HADOOP_HOME}/etc/hadoop/core-site.xml”文件,代理的用户和用户组分别为${HADOOP_USER}、${HADOOP_GROUP},如下所示。
<property> <name>hadoop.proxyuser.sparkadmin.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.ockadmin.groups</name> <value>*</value> </property>
- 切换为root用户,创建并修改“/etc/hadoop/container-executor.cfg”文件,添加以下内容。
mkdir -p /etc/hadoop/ touch container-executor.cfg
添加以下内容:
yarn.nodemanager.linux-container-executor.group=ockadmin #configured value of yarn.nodemanager.linux-container-executor.group banned.users= #comma separated list of users who can not run applications min.user.id=1000 #Prevent other super-users allowed.system.users= #comma separated list of system users who CAN run applications feature.tc.enabled=false
- 切换为root用户,修改“/etc/hadoop/container-executor.cfg”文件权限为755。
chmod 755 -R /etc/hadoop
- 在所有节点上执行以下操作。
- 切换为ockdadmin用户,并在该用户目录下创建.hadooprc文件,权限修改为640。
su - ockadmin touch .hadooprc chmod 640 .hadooprc
- 添加以下内容:
export HADOOP_USER_NAME=ockadmin export HDFS_DATANODE_USER=ockadmin export HDFS_NAMENODE_USER=ockadmin export HDFS_SECONDARYNAMENODE_USER=ockadmin export YARN_RESOURCEMANAGER_USER=ockadmin export YARN_NODEMANAGER_USER=ockadmin
- 切换为ockdadmin用户,并在该用户目录下创建.hadooprc文件,权限修改为640。
- 修改“${HADOOP_HOME}/etc/hadoop/yarn-site.xml”文件。
- 将yarn-site.xml、core-site.xml、container-executor.cfg分发至所有节点。并在各个节点执行以下命令修改container-executor权限。
chown root:ockadmin $HADOOP_HOME/bin/container-executor chmod 6050 $HADOOP_HOME/bin/container-executor
- 重启Hadoop。执行以下命令进入Hadoop bin目录下,重启Hadoop。
cd $HADOOP_HOME/sbin ./stop-all.sh ./start-all.sh
重启后执行jps命令查看ResourceManager是否启动。若未启动,可查看ResourceManager日志进行分析。若未启动原因为安全模式开启,则可执行以下命令退出安全模式并重启Hadoop服务。
hadoop dfsadmin -safemode leave ./start-all.sh
父主题: Yarn启动