鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

启动前准备

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

  • 普通模式启动和Yarn启动选择其一。
  • 使用Yarn包管理器启动时,如Hadoop版本为3.2.2及以上版本,则需重新编译container-executor,否则将无法启动Hadoop。详细内容请参考Yarn启动Hadoop失败的解决方法
  1. 主节点修改Hadoop配置文件。
    1. 修改“${HADOOP_HOME}/etc/hadoop/yarn-site.xml”文件。
      1. 开启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>
      2. 配置开启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>
      3. 重启ResourceManager组件以生效配置。
        • 执行以下命令查询节点列表,确认ResourceManager是否正在运行。
          yarn node -list
        • 执行以下命令停止ResourceManager服务。
          yarn --daemon stop resourcemanager
        • 待ResourceManager服务停止后,执行以下命令重启该服务。
          yarn --daemon start resourcemanager
    2. 修改“${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>
    3. 切换为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
    4. 切换为root用户,修改“/etc/hadoop/container-executor.cfg”文件权限为755。
      chmod 755 -R /etc/hadoop
    5. 在所有节点上执行以下操作。
      1. 切换为ockdadmin用户,并在该用户目录下创建.hadooprc文件,权限修改为640。
        su - ockadmin
        touch .hadooprc
        chmod 640 .hadooprc
      2. 添加以下内容:
        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
  2. 将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
  3. 重启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