• Kerberos (三) --------- 安全模式下启动 Hadoop 集群



    一、修改特定本地路径权限

    本地路径所属权限
    local$HADOOP_LOG_DIRhdfs:hadoopdrwxrwxr-x
    localdfs.namenode.name.dirhdfs:hadoopdrwx------
    localdfs.datanode.data.dirhdfs:hadoopdrwx------
    localdfs.namenode.checkpoint.dirhdfs:hadoopdrwx------
    localyarn.nodemanager.local-dirsyarn:hadoopdrwxrwxr-x
    localyarn.nodemanager.log-dirsyarn:hadoopdrwxrwxr-x

    A、$HADOOP_LOG_DIR (所有节点)

    该变量位于 hadoop-env.sh 文件,默认值为 ${HADOOP_HOME}/logs

    [root@hadoop102 ~]# chown hdfs:hadoop /opt/module/hadoop-3.1.3/logs/
    [root@hadoop102 ~]# chmod 775 /opt/module/hadoop-3.1.3/logs/
    [root@hadoop103 ~]# chown hdfs:hadoop /opt/module/hadoop-3.1.3/logs/
    [root@hadoop103 ~]# chmod 775 /opt/module/hadoop-3.1.3/logs/
    [root@hadoop104 ~]# chown hdfs:hadoop /opt/module/hadoop-3.1.3/logs/
    [root@hadoop104 ~]# chmod 775 /opt/module/hadoop-3.1.3/logs/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    B、dfs.namenode.name.dir (NameNode节点)

    该参数位于 hdfs-site.xml 文件,默认值为 file://${hadoop.tmp.dir}/dfs/name

    [root@hadoop102 ~]# chown -R hdfs:hadoop /opt/module/hadoop-3.1.3/data/dfs/name/
    [root@hadoop102 ~]# chmod 700 /opt/module/hadoop-3.1.3/data/dfs/name/
    
    • 1
    • 2

    C、dfs.datanode.data.dir (DataNode节点)

    该参数为于 hdfs-site.xml 文件,默认值为 file://${hadoop.tmp.dir}/dfs/data

    [root@hadoop102 ~]# chown -R hdfs:hadoop /opt/module/hadoop-3.1.3/data/dfs/data/
    [root@hadoop102 ~]# chmod 700 /opt/module/hadoop-3.1.3/data/dfs/data/
    
    
    [root@hadoop103 ~]# chown -R hdfs:hadoop /opt/module/hadoop-3.1.3/data/dfs/data/
    [root@hadoop103 ~]# chmod 700 /opt/module/hadoop-3.1.3/data/dfs/data/
    
    [root@hadoop104 ~]# chown -R hdfs:hadoop /opt/module/hadoop-3.1.3/data/dfs/data/
    [root@hadoop104 ~]# chmod 700 /opt/module/hadoop-3.1.3/data/dfs/data/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    D、dfs.namenode.checkpoint.dir (SecondaryNameNode节点)

    该参数位于 hdfs-site.xml 文件,默认值为file://${hadoop.tmp.dir}/dfs/namesecondary

    [root@hadoop104 ~]# chown -R hdfs:hadoop /opt/module/hadoop-3.1.3/data/dfs/namesecondary/
    [root@hadoop104 ~]# chmod 700 /opt/module/hadoop-3.1.3/data/dfs/namesecondary/
    
    • 1
    • 2

    E、yarn.nodemanager.local-dirs (NodeManager节点)

    该参数位于yarn-site.xml文件,默认值为file://${hadoop.tmp.dir}/nm-local-dir

    [root@hadoop102 ~]# chown -R yarn:hadoop /opt/module/hadoop-3.1.3/data/nm-local-dir/
    [root@hadoop102 ~]# chmod -R 775 /opt/module/hadoop-3.1.3/data/nm-local-dir/
    
    
    [root@hadoop103 ~]# chown -R yarn:hadoop /opt/module/hadoop-3.1.3/data/nm-local-dir/
    [root@hadoop103 ~]# chmod -R 775 /opt/module/hadoop-3.1.3/data/nm-local-dir/
    
    [root@hadoop104 ~]# chown -R yarn:hadoop /opt/module/hadoop-3.1.3/data/nm-local-dir/
    [root@hadoop104 ~]# chmod -R 775 /opt/module/hadoop-3.1.3/data/nm-local-dir/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    F、yarn.nodemanager.log-dirs (NodeManager节点)

    该参数位于 yarn-site.xml 文件,默认值为 $HADOOP_LOG_DIR/userlogs

    [root@hadoop102 ~]# chown yarn:hadoop /opt/module/hadoop-3.1.3/logs/userlogs/
    [root@hadoop102 ~]# chmod 775 /opt/module/hadoop-3.1.3/logs/userlogs/
    
    [root@hadoop103 ~]# chown yarn:hadoop /opt/module/hadoop-3.1.3/logs/userlogs/
    [root@hadoop103 ~]# chmod 775 /opt/module/hadoop-3.1.3/logs/userlogs/
    
    [root@hadoop104 ~]# chown yarn:hadoop /opt/module/hadoop-3.1.3/logs/userlogs/
    [root@hadoop104 ~]# chmod 775 /opt/module/hadoop-3.1.3/logs/userlogs/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    二、启动 HDFS

    需要注意的是,启动不同服务时需要使用对应的用户

    A、单点启动

    (1)启动NameNode

    [root@hadoop102 ~]# sudo -i -u hdfs hdfs --daemon start namenode
    
    • 1

    (2)启动DataNode

    [root@hadoop102 ~]# sudo -i -u hdfs hdfs --daemon start datanode
    [root@hadoop103 ~]# sudo -i -u hdfs hdfs --daemon start datanode
    [root@hadoop104 ~]# sudo -i -u hdfs hdfs --daemon start datanode
    
    • 1
    • 2
    • 3

    (3)启动SecondaryNameNode

    [root@hadoop104 ~]# sudo -i -u hdfs hdfs --daemon start secondarynamenode
    
    • 1

    说明:

    • -i:重新加载环境变量
    • -u:以特定用户的身份执行后续命令

    B、群起

    (1)在主节点 (hadoop102) 配置hdfs用户到所有节点的免密登录。
    (2)修改主节点 (hadoop102) 节点的$HADOOP_HOME/sbin/start-dfs.sh脚本,在顶部增加以下环境变量。

    [root@hadoop102 ~]# vim $HADOOP_HOME/sbin/start-dfs.sh
    在顶部增加如下内容
    HDFS_DATANODE_USER=hdfs
    HDFS_NAMENODE_USER=hdfs
    HDFS_SECONDARYNAMENODE_USER=hdfs
    
    • 1
    • 2
    • 3
    • 4
    • 5

    注:$HADOOP_HOME/sbin/stop-dfs.sh也需在顶部增加上述环境变量才可使用。

    (3)以 root 用户执行群起脚本,即可启动 HDFS 集群。

    [root@hadoop102 ~]# start-dfs.sh
    
    • 1

    C、查看HFDS web页面

    访问地址为https://hadoop102:9871

    三、修改 HDFS 特定路径访问权限

    HDFS路径所属权限
    hdfs/hdfs:hadoopdrwxr-xr-x
    hdfs/tmphdfs:hadoopdrwxrwxrwxt
    hdfs/userhdfs:hadoopdrwxrwxr-x
    hdfsyarn.nodemanager.remote-app-log-diryarn:hadoopdrwxrwxrwxt
    hdfsmapreduce.jobhistory.intermediate-done-dirmapred:hadoopdrwxrwxrwxt
    hdfsmapreduce.jobhistory.done-dirmapred:hadoopdrwxrwx—

    说明:

    若上述路径不存在,需手动创建

    A、创建 hdfs/hadoop 主体,执行以下命令并按照提示输入密码

    [root@hadoop102 ~]# kadmin.local -q "addprinc hdfs/hadoop"
    
    • 1

    B、认证 hdfs/hadoop 主体,执行以下命令并按照提示输入密码

    [root@hadoop102 ~]# kinit hdfs/hadoop
    
    • 1

    C、按照上述要求修改指定路径的所有者和权限

    (1)修改/、/tmp、/user路径

    [root@hadoop102 ~]# hadoop fs -chown hdfs:hadoop / /tmp /user
    [root@hadoop102 ~]# hadoop fs -chmod 755 /
    [root@hadoop102 ~]# hadoop fs -chmod 1777 /tmp
    [root@hadoop102 ~]# hadoop fs -chmod 775 /user
    
    • 1
    • 2
    • 3
    • 4

    (2)参数 yarn.nodemanager.remote-app-log-dir 位于 yarn-site.xml 文件,默认值 /tmp/logs

    [root@hadoop102 ~]# hadoop fs -chown yarn:hadoop /tmp/logs
    [root@hadoop102 ~]# hadoop fs -chmod 1777 /tmp/logs
    
    • 1
    • 2

    (3)参数 mapreduce.jobhistory.intermediate-done-dir 位于 mapred-site.xm l文件,默认值为 /tmp/hadoop-yarn/staging/history/done_intermediate,需保证该路径的所有上级目录(除/tmp) 的所有者均为mapred,所属组为hadoop,权限为770

    [root@hadoop102 ~]# hadoop fs -chown -R mapred:hadoop /tmp/hadoop-yarn/staging/history/done_intermediate
    [root@hadoop102 ~]# hadoop fs -chmod -R 1777 /tmp/hadoop-yarn/staging/history/done_intermediate
    
    [root@hadoop102 ~]# hadoop fs -chown mapred:hadoop /tmp/hadoop-yarn/staging/history/
    [root@hadoop102 ~]# hadoop fs -chown mapred:hadoop /tmp/hadoop-yarn/staging/
    [root@hadoop102 ~]# hadoop fs -chown mapred:hadoop /tmp/hadoop-yarn/
    
    [root@hadoop102 ~]# hadoop fs -chmod 770 /tmp/hadoop-yarn/staging/history/
    [root@hadoop102 ~]# hadoop fs -chmod 770 /tmp/hadoop-yarn/staging/
    [root@hadoop102 ~]# hadoop fs -chmod 770 /tmp/hadoop-yarn/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    (4)参数 mapreduce.jobhistory.done-dir 位于 mapred-site.xml 文件,默认值为 /tmp/hadoop-yarn/staging/history/done ,需保证该路径的所有上级目录 (除/tmp) 的所有者均为 mapred,所属组为 hadoop,权限为 770

    [root@hadoop102 ~]# hadoop fs -chown -R mapred:hadoop /tmp/hadoop-yarn/staging/history/done
    [root@hadoop102 ~]# hadoop fs -chmod -R 750 /tmp/hadoop-yarn/staging/history/done
    
    
    [root@hadoop102 ~]# hadoop fs -chown mapred:hadoop /tmp/hadoop-yarn/staging/history/
    [root@hadoop102 ~]# hadoop fs -chown mapred:hadoop /tmp/hadoop-yarn/staging/
    [root@hadoop102 ~]# hadoop fs -chown mapred:hadoop /tmp/hadoop-yarn/
    
    [root@hadoop102 ~]# hadoop fs -chmod 770 /tmp/hadoop-yarn/staging/history/
    [root@hadoop102 ~]# hadoop fs -chmod 770 /tmp/hadoop-yarn/staging/
    [root@hadoop102 ~]# hadoop fs -chmod 770 /tmp/hadoop-yarn/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    四、启动 Yarn

    A、单点启动

    启动ResourceManager

    [root@hadoop103 ~]# sudo -i -u yarn yarn --daemon start resourcemanager
    启动NodeManager
    [root@hadoop102 ~]# sudo -i -u yarn yarn --daemon start nodemanager
    [root@hadoop103 ~]# sudo -i -u yarn yarn --daemon start nodemanager
    [root@hadoop104 ~]# sudo -i -u yarn yarn --daemon start nodemanager
    
    • 1
    • 2
    • 3
    • 4
    • 5

    B、群起

    (1) 在Yarn主节点 (hadoop103) 配置 yarn 用户到所有节点的免密登录。
    (2) 修改主节点 (hadoop103) 的 $HADOOP_HOME/sbin/start-yarn.sh,在顶部增加以下环境变量。

    [root@hadoop103 ~]# vim $HADOOP_HOME/sbin/start-yarn.sh
    
    • 1

    在顶部增加如下内容

    YARN_RESOURCEMANAGER_USER=yarn
    YARN_NODEMANAGER_USER=yarn
    
    • 1
    • 2

    注:stop-yarn.sh也需在顶部增加上述环境变量才可使用。

    (3) 以 root 用户执行 $HADOOP_HOME/sbin/start-yarn.sh脚本即可启动yarn集群。

    [root@hadoop103 ~]# start-yarn.sh
    
    • 1

    C、访问 Yarn web 页面

    访问地址为 http://hadoop103:8088

    五、启动 HistoryServer

    A、启动历史服务器

    [root@hadoop102 ~]# sudo -i -u mapred mapred --daemon start historyserver
    
    • 1

    B、查看历史服务器 web 页面

    访问地址为 http://hadoop102:19888

  • 相关阅读:
    MySQL-逻辑架构
    螺杆支撑座对注塑机的生产过程有哪些重要影响?
    Revit中“结构框架显示与剪切“的应用和一键剪切功能
    【新媒体 | 自媒体 运营】虚拟素材(图片,字体,音频,视频)商用及CC版权相关问题
    CKEditor5定制及文件上传
    HBASE知识点
    SAP-ABAP-RFC类型接口创建步骤
    【Kafka系列】(二)Kafka的基本使用
    Three.js快速入门
    【机器学习】线性分类【上】广义线性模型
  • 原文地址:https://blog.csdn.net/m0_51111980/article/details/127652877