• HA 模式 Hadoop+ZooKeeper+Hbase启动顺序


    一. 背景(原http://blog.csdn.net/u011414200/article/details/50437356 ,对其进行了一定更改)

    1.1 网络上的大部分教程

    都是机器间含有SSH联通来启动的。生产环境一般都是不配置SSH机器之间互通的。


    1.2 主机规划

    IP主机名用户名部署模块进程
    10.6.3.43 master5 hadoop5 NameNode
    ResourceManager
    HBase
    NameNode
    DFSZKFailoverController
    ResourceManager
    HMaster
    JobHistoryServer
    10.6.3.33 master52 hadoop5 NameNode
    ResourceManager
    HBase
    NameNode
    DFSZKFailoverController
    ResourceManager
    HMaster
    JobHistoryServer
    10.6.3.48 slave51 hadoop5 DataNode
    NodeManager
    Zookeeper
    HBase
    DataNode
    NodeManager
    HRegionServer
    JournalNode
    QuorumPeerMain
    10.6.3.32 slave52 hadoop5 DataNode
    NodeManager
    Zookeeper
    HBase
    DataNode
    NodeManager
    HRegionServer
    JournalNode
    QuorumPeerMain
    10.6.3.36 slave53 hadoop5 DataNode
    NodeManager
    Zookeeper
    HBase
    DataNode
    NodeManager
    HRegionServer
    JournalNode
    QuorumPeerMain

    1.3 正确的启动顺序

    1. ZooKeeper -> Hadoop -> HBase

    2. ZooKeeper -> JournalNode (Hadoop) -> NameNode (Hadoop) -> DataNode (Hadoop) -> 主 ResourceManager/NodeManager (Hadoop) -> 备份 ResourceManager (Hadoop) -> ZKFC (Hadoop) ->MapReduce JobHistory (Hadoop) -> 主 Hmaster/HRegionServer (HBase) ->备份 Hmaster (HBase)


    二. 首次启动/格式化集群

    1. 启动 ZooKeeper 集群 
    在集群中安装 ZooKeeper 的主机上启动 ZooKeeper 服务。在本教程中也就是在 slave51、slave52、slave53 的主机上启动相应进程。分别登陆到三台机子上执行:

    zkServer.sh start
    • 1


    2. 格式化 ZooKeeper 集群 
    在任意的 namenode 上都可以执行,笔者还是选择了 master5 主机执行格式化命令

    hdfs zkfc  -formatZK
    • 1


    3. 启动 JournalNode 集群 
    分别在 slave51、slave52、slave53 上执行以下命令

    hadoop-daemon.sh start journalnode
    • 1


    4. 格式化集群的 NameNode

    在 master5 的主机上执行以下命令,以格式化 namenode:

    hdfs namenode -format
    • 1


    5. 启动刚格式化的 NameNode 
    刚在 master5 上格式化了 namenode ,故就在 master5 上执行

    hadoop-daemon.sh start namenode
    • 1


    6. 同步 NameNode1 元数据到 NameNode2 上 
    复制你 NameNode 上的元数据目录到另一个 NameNode,也就是此处的 master5 复制元数据到 master52 上。在 master52 上执行以下命令:

    hdfs namenode -bootstrapStandby
    • 1


    7. 启动 NameNode2 
    master52 主机拷贝了元数据之后,就接着启动 namenode 进程了,执行

    hadoop-daemon.sh start namenode
    • 1


    8. 启动集群中所有的DataNode

    在所有datanode节点上执行

    hadoop-daemon.sh start datanode
    • 1


    9. 在 RM1 启动 YARN

    在 master5 的主机上执行以下命令:

    yarn-daemon.sh start resourcemanager
    • 1

    10. 在 RM2 单独启动 YARN

    虽然上一步启动了 YARN ,但是在 master52 上是没有相应的 ResourceManager 进程,故需要在 master52 主机上单独启动:

    yarn-daemon.sh start resourcemanager
    • 1


    11. 启动 ZKFC

    在 master5 和 master52 的主机上分别执行如下命令:

    hadoop-daemon.sh start zkfc
    • 1

    12. 开启历史日志服务

    在 master5 和 master52 的主机上执行

    mr-jobhistory-daemon.sh   start historyserver
    • 1


    13. 启动主 HMaster

    在其中一台主机上启动 Hmaster,即笔者在 master5 上

    hbase-daemon.sh start master
    • 1


    14. 启动备份 HMaster 
    另一台 Hmaster 的主机上,即笔者在 master52 上,执行以下命令

    hbase-daemon.sh start master
    • 1

    三. 开启与关闭集群顺序

    3.1 Hadoop 生态系统集群的启动顺序概览

    以下中标注红色加粗的即为笔者集群目前已经安装的。

    顺序服务备注有关说明和更多信息
    1 ZooKeeper 建议在启动 HDFS 之前先启动 ZooKeeper;这是高可用性 (HA) 部署中的要求。在任何情况下,始终在 HBase 之前先启动 ZooKeeper 在单个服务器上安装 ZooKeeper Server 包并启动 ZooKeeper;在生产环境中安装 ZooKeeper;部署 HDFS High Availability;为 ResourceManager (YARN) 配置 高可用性
    2 HDFS 除 ZooKeeper 以外,在所有其它服务之前先启动 HDFS。如果您正在使用 HA,请参阅高可用性指南中的说明 在集群中部署 HDFS; HDFS 高可用性
    3 HttpFS   HttpFS 安装
    4a MRv1 在 Hive 或 Oozie 之前先启动 MapReduce。如果 YARN 正在运行,请勿启动 MRv1 在集群中部署 MapReduce v1 (MRv1);为 JobTracker (MRv1) 配置 高可用性
    4b YARN 在 Hive 或 Oozie 之前启动 YARN。如果 MRv1 正在运行,请勿启动 YARN 在集群中部署 MapReduce v2 (YARN)
    5 HBase   启动 HBase Master;在分布式集群中部署 HBase
    6 Hive 在启动 HiveServer2 和 Hive console 之前先启动 Hive Metastore 安装 Hive
    7 Oozie   启动 Oozie Server
    8 Flume 1.x   运行 Flume
    9 Sqoop   Sqoop 安装和 Sqoop 2 安装
    10 Hue   Hue 安装

    3.2 非首次启动集群

    顺序步骤操作主机命令开启的相应进程
    1 启动 ZooKeeper 集群 slave51、slave52、slave53 zkServer.sh start QuorumPeerMain
    2 启动 JournalNode 集群 slave51、slave52、slave53 hadoop-daemon.sh start journalnode JournalNode
    3 启动刚格式化的 NameNode master5 hadoop-daemon.sh start namenode NameNode
    4 同步 NameNode1 元数据到 NameNode2 上 master52 hdfs namenode -bootstrapStandby  
    5 启动 NameNode2 master52 hadoop-daemon.sh start namenode NameNode
    6 启动集群中所有的DataNode 1) master5 
    2) slave51、slave52、slave53 
    (二者选一即可,下同)
    1) hadoop-daemons.sh start datanode
    2) hadoop-daemon.sh start datanode
    DataNode
    7 在 RM1 启动 YARN master5 start-yarn.sh ResourceManager(master5)
    NodeManager(slave节点)
    8 在 RM2 单独启动 YARN master52 yarn-daemon.sh start resourcemanager ResourceManager
    9 启动 ZKFC master5 与 master52 hadoop-daemon.sh start zkfc DFSZKFailoverController
    10 开启历史日志服务 master5 mr-jobhistory-daemon.sh start historyserver JobHistoryServer
    11 启动主 HMaster 和 HRegionServer master5 start-hbase.sh HMaster (master5上)
    HRegionServer (slave节点上)
    12 启动备份 HMaster master52 hbase-daemon.sh start master HMaster


    Note:与 “首次启动格式化集群” 不同的是没有 格式化 ZooKeeper 集群 和 格式化集群的 NameNode 这两个步骤!


    3.3 Hadoop 生态系统集群的关闭顺序概览

    以下中标注红色加粗的即为笔者集群目前已经安装的。

    关闭顺序服务备注有关说明和更多信息
    1 Hue   在 Hue Server 机器上运行以下内容以停止 Hue:
    sudo service hue stop
    2a Sqoop 1   在运行其的所有节点上运行以下内容:
    sudo service sqoop-metastore stop
    2b Sqoop 2   在运行其的所有节点上运行以下内容:
    sudo /sbin/service sqoop2-server stop
    3 Flume 0.9   在运行 Flume Node 进程的每个节点上将其停止:
    sudo service flume-node stop 
    停止 Flume Master:
    sudo service flume-master stop
    4 Flume 1.x 没有 Flume Master 在运行 Flume Node 进程的每个节点上将其停止:
    sudo service flume-ng-agent stop
    5 Oozie   sudo service oozie stop
    6 Hive   要停止 Hive,请退出 Hive 控制台,并确保没有 Hive 脚本运行,关闭 HiveServer2:
    sudo service hiveserver2 stop 
    关闭每个客户端上的 Hive Metastore Daemon:
    sudo service hive-metastore stop
    如果 Metastore 从命令行运行,使用 Ctrl-c 将其关闭
    7 HBase 停止 Thrift Server 和客户端,然后关闭集群 要停止 Thrift Server 和客户端:
    sudo service hbase-thrift stop 
    要关闭集群,请在主节点上使用此命令:
    hbase-daemon.sh stop master 
    在托管 Region Server 的每个节点上使用以下命令: 
    hbase-daemon.sh stop regionserver
    8a MapReduce v1 停止 MapReduce 之前先停止 Hive 和 Oozie 要停止 MapReduce,请停止 JobTracker service,然后在运行 Task Tracker 的所有节点上将其停止。使用以下命令: 
    sudo service hadoop-0.20-mapreduce-jobtracker stop 
    sudo service hadoop-0.20-mapreduce-tasktracker stop
    8b YARN 停止 YARN 之前先停止 Hive 和 Oozie 要停止 YARN,请在运行 MapReduce JobHistory 服务、ResourceManager 服务和 NodeManager 的所有节点上停止这些服务。使用以下命令:
    hadoop-daemon.sh stop historyserver
    yarn-daemon.sh stop resourcemanager
    yarn-daemon.sh stop nodemanager
    9 HttpFS   sudo service hadoop-httpfs stop
    10 HDFS   要停止 HDFS:在 NameNode 上:
    hadoop-daemon.sh stop namenode 
    在 Secondary NameNode 上(如果使用):
    hadoop-daemon.sh stop secondnamenode 
    在每个 DataNode 上:
    hadoop-daemon.sh stop datanode
    11 ZooKeeper 在停止 ZooKeeper 之前先停止 HBase 和 HDFS 要停止 ZooKeeper Server,请在每个 ZooKeeper 节点上使用以下命令:
    zkServer.sh stop

    3.4 集群关闭

    顺序步骤操作主机命令关闭的相应进程
    1 关闭备份 HMaster master52 hbase-daemon.sh stop master HMaster
    2 关闭主 HMaster 和 HRegionServer master5 stop-hbase.sh HMaster (master5上)
    HRegionServer (slave节点上)
    3 关闭历史日志服务 master5 mr-jobhistory-daemon.sh stop historyserver JobHistoryServer
    4 关闭 ZKFC master5 与 master52 hadoop-daemon.sh stop zkfc DFSZKFailoverController
    5 在 RM2 单独关闭 YARN master52 yarn-daemon.sh stop resourcemanager ResourceManager
    6 在 RM1 关闭 YARN master5 stopt-yarn.sh ResourceManager (master5)
    NodeManager (slave节点)
    7 关闭集群中所有的DataNode 1) master5 
    2) slave51、slave52、slave53 
    (二者选一即可,下同)
    1) hadoop-daemons.sh stop datanode
    2) hadoop-daemon.sh stop datanode
    DataNode
    8 关闭 NameNode2 master52 hadoop-daemon.sh stop namenode NameNode
    9 关闭剩下的 NameNode master5 hadoop-daemon.sh stop namenode NameNode
    10 关闭 JournalNode 集群 slave51、slave52、slave53 hadoop-daemon.sh stop journalnode JournalNode
    11 关闭 ZooKeeper 集群 slave51、slave52、slave53 zkServer.sh stop QuorumPeerMain

    注意:一定要按顺序停止。之间的依赖关系很重要、

     

  • 相关阅读:
    jQuery插件开发模式
    优化布局
    jquery easyui 选项卡
    easy ui 点击行展开与折叠
    考拉海购技术支持的前世今生
    跑的好好的 Java 进程,怎么突然就瘫痪了
    Dubbo 如何成为连接异构微服务体系的最佳服务开发框架
    微服务治理实践:如何对单点异常进行自动摘除
    盘点阿里巴巴 15 款开发者工具
    千万创业者的自白:踩过坑才明白这些真相!
  • 原文地址:https://www.cnblogs.com/hit-zb/p/8418180.html
Copyright © 2020-2023  润新知