• 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

    在这里插入图片描述

  • 相关阅读:
    Anaconda常用命令
    手工实现一个字符串内容替换方法来替换replace
    Puppeteer国产镜像配置
    408考研科目《数据结构》第二章:线性表
    javaweb基础:tomcat的安装,以及目录结构
    从一个表格render方法问题看React函数组件的更新
    C#调用bartender进行动态打印以及批量打印的完整教程
    DCL 单例模式设计为什么需要 volatile 修饰实例对象
    【C++11】lambda匿名函数和包装器
    OpenCV图像处理——停车场车位识别
  • 原文地址:https://blog.csdn.net/weixin_46389691/article/details/127527109