• Hadoop 集群相关知识点



    前言:本篇文章主要分享一些 Hadoop 集群的相关知识点,欢迎纠错指正。

    集群时间同步

    先切换到 root 账户。

    # 安装 ntp 服务
    yum install -y ntp
    
    # 启动 ntp 服务
    systemctl enable ntpd
    systemctl start ntpd
    
    # 同步时间
    ntpdate ntp.aliyun.com
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    集群一键启动或关闭脚本

    我的集群规划如下:

    masterslave1slave2
    HDFSNameNode DataNodeDataNodeSecondaryNameNode DataNode
    YARNNodeManagerResourceManager NodeManagerNodeManager

    请提前配置好各个主机之间的免密登录。

    切换到 root 账号下的 bin 目录中,创建一个文件 tphadoop,根据自己的集群配置进行修改添加。

    添加模板内容如下:

    #!/bin/bash
    
    source /etc/profile
    
    # 参数小于 1 则直接退出。
    if [ $# -lt 1 ]
    then
        echo "未输入任何参数!"
        exit
    fi
    
    NAMENODE_HOST=hadoop201
    RESOURCEMANAGER_HOST=hadoop202
    
    # 启动
    if [ $1 = "start" ]
    then
    	echo "----------------- 正在启动 Hadoop 集群----------------- "
    	ssh $NAMENODE_HOST "source /etc/profile;$HADOOP_HOME/sbin/start-dfs.sh;"
    	echo "----------------- dfs 启动完成----------------- "
    	ssh $RESOURCEMANAGER_HOST "source /etc/profile;$HADOOP_HOME/sbin/start-yarn.sh;"
    	echo "----------------- yarn 启动完成----------------- "
    	echo "----------------- 启动完成----------------- "
    	exit
    fi
    
    # 关闭
    if [ $1 = "stop" ]
    then
    	echo "----------------- 正在关闭 Hadoop 集群----------------- "
    	ssh $NAMENODE_HOST "source /etc/profile;$HADOOP_HOME/sbin/stop-dfs.sh;"
    	echo "----------------- dfs 关闭完成----------------- "
    	ssh $RESOURCEMANAGER_HOST "source /etc/profile;$HADOOP_HOME/sbin/stop-yarn.sh;"
    	echo "----------------- yarn 关闭完成----------------- "
    	echo "----------------- 关闭完成----------------- "
    	exit
    fi
    
    # 重启
    if [ $1 = "restart" ]
    then
    	echo "----------------- 正在关闭 Hadoop 集群----------------- "
    	ssh $NAMENODE_HOST "source /etc/profile;$HADOOP_HOME/sbin/stop-dfs.sh;"
    	echo "----------------- dfs 关闭完成----------------- "
    	ssh $RESOURCEMANAGER_HOST "source /etc/profile;$HADOOP_HOME/sbin/stop-yarn.sh;"
    	echo "----------------- yarn 关闭完成----------------- "
    	echo "----------------- 关闭完成----------------- "
    	echo "----------------- 正在重新启动 Hadoop 集群----------------- "
    	ssh $NAMENODE_HOST "source /etc/profile;$HADOOP_HOME/sbin/start-dfs.sh;"
    	echo "----------------- dfs 启动完成----------------- "
    	ssh $RESOURCEMANAGER_HOST "source /etc/profile;$HADOOP_HOME/sbin/start-yarn.sh;"
    	echo "----------------- yarn 启动完成----------------- "
    	echo "----------------- 重启完成----------------- "
    	exit
    fi
    
    echo "参数不匹配!请输入【start / stop / restart】参数来操作集群。"
    exit
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58

    给创建的文件添加可执行权限:

    chmod +x tphadoop
    
    • 1

    然后分发给其它机器:

    rsync -r /bin/tphadoop slave1:/bin/
    rsync -r /bin/tphadoop slave2:/bin/
    
    • 1
    • 2

    测试是否可以启动成功:

    tphadoop start
    
    • 1

    NameNode

    ResourceManager

    SecondaryNameNode

    可以看到,脚本运行正常,设置完成。


    集群节点快速查看脚本

    同样,在 /bin 目录下创建 jpsall 文件,

    cd  /bin
    vim jpsall
    
    • 1
    • 2

    添加脚本执行逻辑,注意修改成你的主机映射名称。

    #!/bin/bash
    
    source /etc/profile
    
    for host in hadoop201 hadoop202 hadoop203
    do
    	echo "----------------- $host -----------------"
    	ssh $host "source /etc/profile;jps;"
    done
    
    exit
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    为脚本添加可执行权限

    sudo chmod +x jpsall
    
    • 1

    运行示例

    jpsall
    
    • 1

    在这里插入图片描述

  • 相关阅读:
    JavaWeb开发之——DDL-操作表-查询表与创建表(07)
    tx-前端笔试题记录
    Ubuntu安装MySQL 在线和离线方式
    【JavaScript】手撕前端面试题:手写new操作符 | 手写Object.freeze
    嵌入式驱动学习第一周——git的使用
    01 Java语言简介
    Visual Studio Code安装及常规配置
    CeiT:商汤提出结合CNN优势的高效ViT模型 | 2021 arxiv
    SwiftUI 组件大全之使用 SceneKit 和 SwiftUI 构建交互式 3D 饼图(教程含源码)
    【DevPress】V2.4.1版本发布,增加抽奖组件
  • 原文地址:https://blog.csdn.net/weixin_46389691/article/details/127527109