You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

手动启动HDP服务需遵循的正确顺序是什么?

HDP服务手动启动的正确顺序指南

嘿,我来帮你梳理下HDP服务手动启动的正确顺序——毕竟服务间的依赖关系挺严格的,乱序启动很容易出问题。下面是按依赖优先级排序的完整启动步骤,覆盖HDP绝大多数常用服务:

1. 先启动底层基础依赖服务

这些是所有其他服务的“基石”,必须最先启动:

  • ZooKeeper:分布式协调核心,HDFS、YARN、HBase等一堆服务都依赖它
    启动命令:sudo su - zookeeper -c "zkServer.sh start"
    验证状态:zkServer.sh status
  • Ambari Server:如果后续还要用Ambari监控状态,先启动它更方便
    启动命令:sudo ambari-server start
  • Ambari Agent:每个节点上的代理进程,确保所有节点的Agent都正常运行才能统一管理
    启动命令(所有节点执行):sudo ambari-agent start

2. 启动核心分布式存储服务

数据存储层是上层服务的基础,必须在资源调度之前启动:

  • HDFS JournalNode(仅HA架构需要):用于共享NameNode编辑日志,要在NameNode之前启动
    启动命令(每个JournalNode节点):sudo su - hdfs -c "hdfs --daemon start journalnode"
  • HDFS NameNode:先启动主NameNode,HA架构下再启动备用NameNode
    首次启动需格式化:sudo su - hdfs -c "hdfs namenode -format"(之后启动无需此步骤)
    启动主NameNode:sudo su - hdfs -c "hdfs --daemon start namenode"
    启动备用NameNode(HA架构):sudo su - hdfs -c "hdfs --daemon start secondarynamenode"
  • HDFS DataNode:所有数据节点启动,依赖NameNode就绪
    启动命令(每个数据节点):sudo su - hdfs -c "hdfs --daemon start datanode"

3. 启动资源管理服务

YARN负责集群资源调度,依赖HDFS和ZooKeeper:

  • YARN ResourceManager:先启动主RM,HA架构下再启动备用RM
    启动命令:sudo su - yarn -c "yarn --daemon start resourcemanager"
  • YARN NodeManager:每个节点的资源代理,依赖ResourceManager就绪
    启动命令(每个节点):sudo su - yarn -c "yarn --daemon start nodemanager"
  • MapReduce2 HistoryServer:记录MR任务历史,依赖YARN和HDFS
    启动命令:sudo su - mapred -c "mapred --daemon start historyserver"

4. 启动分布式数据库/实时计算服务

这类服务依赖基础协调、存储或资源调度服务:

  • HBase:分布式列式数据库,依赖ZooKeeper和HDFS
    启动HBase Master:sudo su - hbase -c "hbase-daemon.sh start master"
    启动HBase RegionServer:sudo su - hbase -c "hbase-daemon.sh start regionserver"
    (HA架构下记得启动备用HBase Master)
  • Kafka:消息队列服务,依赖ZooKeeper
    启动命令(每个Kafka节点):sudo su - kafka -c "kafka-server-start.sh -daemon /etc/kafka/conf/server.properties"
  • Storm:实时计算框架,依赖ZooKeeper
    启动Storm Nimbus:sudo su - storm -c "storm nimbus start"
    启动Storm Supervisor:sudo su - storm -c "storm supervisor start"
    启动Storm UI:sudo su - storm -c "storm ui start"

5. 启动数据处理与分析服务

这些是上层业务服务,依赖核心存储和资源调度:

  • Spark:大数据处理框架,依赖HDFS和YARN
    启动Spark History Server:sudo su - spark -c "spark-class org.apache.spark.deploy.history.HistoryServer start"
  • Hive:数据仓库服务,依赖HDFS、YARN和Metastore
    启动Hive Metastore:sudo su - hive -c "hive --service metastore &"
    启动HiveServer2:sudo su - hive -c "hive --service hiveserver2 &"
  • Pig/Sqoop:这类工具无需单独启动,执行任务脚本时会自动调用底层依赖服务

6. 启动管理与辅助服务

最后启动监控、日志类服务,依赖前面的核心服务就绪:

  • Ganglia:集群监控服务
    启动Ganglia Server:sudo su - ganglia -c "gmetad start"
    启动Ganglia Monitor(每个节点):sudo su - ganglia -c "gmond start"
  • Nagios:告警监控服务
    启动命令:sudo service nagios start
  • Log Search:日志查询服务
    启动Log Search Server:sudo su - logsearch -c "logsearch-server start"
    启动Log Search Shipper(每个节点):sudo su - logsearch -c "logsearch-shipper start"

重要提醒

  • 每个服务启动后,先通过状态命令或日志确认稳定就绪,再启动下一个依赖它的服务,避免因依赖未初始化导致启动失败
  • HA架构的服务(如NameNode、ResourceManager)要确保主备节点都正常启动并完成故障切换初始化
  • 命令中的服务用户(如zookeeper、hdfs)是HDP默认配置,如果你修改过服务用户,要替换成对应的用户

内容的提问来源于stack exchange,提问作者Carole

火山引擎 最新活动