CDH架构

CDH - 图1

主要由如下几部分组成:

  1. 服务端Server : Cloudera Manager的核心。主要用于管理web server和应用逻辑。它用于安装软件,配置,开始和停止服务,以及管理服务运行的集群。
  2. 代理Agent :安装在每台主机上。它负责启动和停止的进程,部署配置,触发安装和监控主机。
  3. 数据库Database :存储配置和监控信息。通常可以在一个或多个数据库服务器上运行的多个逻辑数据库。例如,所述的Cloudera管理器服务和监视后台程序使用不同的逻辑数据库。
  4. Cloudera Repository :用于软件分发由Cloudera软件仓库。
  5. 客户端Clients :提供了一个与Server交互的接口 : 管理平台Admin Console :提供一个管理员管理集群和 Cloudera Manage的基于网页的交互界面。 API :为开发者提供了创造自定义Cloudera Manager程序的API。
  6. Management Service:由一组执行各种监控,警报和报告功能角色的服务。

    数据库需求

    CDH - 图2

    CDH组件TCP端口

    Φ Hadoop

    | 组件 | 服务 | 端口 | 访问要求 | 配置项 | Qualifier | | —- | —- | —- | —- | —- | —- | | HDFS | DataNode | 50010 | 外部 | dfs.datanode.address | | | | | 1004 | 外部 | dfs.datanode.address | Secure | | | | 50075 | 外部 | dfs.datanode.http.address | | | | | 50475 | 外部 | dfs.datanode.https.address | | | | | 1006 | 外部 | dfs.datanode.http.address | Secure | | | | 50020 | 外部 | dfs.datanode.ipc.address | | | | NameNode | 8020 | 外部 | fs.defaultFS | | | | | 8022 | 外部 | dfs.namenode.servicerpc-address | | | | | 50070 | 外部 | dfs.namenode.http-address | | | | | 50470 | 外部 | dfs.namenode.https-address | Secure | | | Secondary NameNode | 50090 | 内部 | dfs.namenode.secondary.http-address | | | | | 50495 | 内部 | dfs.secondary.https.address | Secure | | | JournalNode | 8485 | 内部 | dfs.namenode.shared.edits.dir | | | | | 8480 | 内部 | dfs.journalnode.http-address | | | | | 8481 | 内部 | dfs.journalnode.https-address | | | | Failover Controller | 8019 | 内部 | | 用于NameNode HA | | | NFS gateway | 2049 | 外部 | nfs3.server.port | nfs端口 | | | | 4242 | 外部 | nfs3.mountd.port | NFS挂载端口 | | | | 111 | 外部 | | rpcbind端口 | | | | 50079 | 外部 | nfs.http.port | 提供度量 | | | | 50579 | 外部 | nfs.https.port | 提供度量 | | | HttpFS | 14000 | 外部 | | | | | | 14001 | 外部 | | | | YARN (MRv2) | ResourceManager | 8032 | 外部 | yarn.resourcemanager.address | | | | | 8030 | 内部 | yarn.resourcemanager.scheduler.address | | | | | 8031 | 内部 | yarn.resourcemanager.resource-tracker.address | | | | | 8033 | 外部 | yarn.resourcemanager.admin.address | | | | | 8088 | 外部 | yarn.resourcemanager.webapp.address | | | | | 8090 | 外部 | yarn.resourcemanager.webapp.https.address | | | | NodeManager | 8040 | 内部 | yarn.nodemanager.localizer.address | | | | | 8041 | 内部 | yarn.nodemanager.address | | | | | 8042 | 外部 | yarn.nodemanager.webapp.address | | | | | 8044 | 外部 | yarn.nodemanager.webapp.https.address | | | | JobHistory Server | 10020 | 内部 | mapreduce.jobhistory.address | | | | | 10033 | 内部 | mapreduce.jobhistory.admin.address | | | | | 19888 | 外部 | mapreduce.jobhistory.webapp.address | | | | | 19890 | 外部 | mapreduce.jobhistory.webapp.https.address | | | | Shuffle HTTP | 13562 | 内部 | mapreduce.shuffle.port | | | | ApplicationMaster | 端口范围 | 外部 | | 到AM web服务的请求,使用RM路由 | | KMS | Key Management Server | 16000 | 外部 | kms_http_port | KeyStore KMS和Key Trustee KMS | | | Key Management Server | 16001 | Localhost | kms_admin_port | |

Φ Flume

组件 服务 端口 访问要求 配置项 Qualifier
Flume Flume Agent 41414 外部

Φ HBase

组件 服务 端口 访问要求 配置项 Qualifier
HBase Master 60000 外部 hbase.master. port IPC
60010 外部 hbase.master.info.port HTTP
RegionServer 60020 外部 hbase.regionserver.port IPC
60030 外部 hbase.regionserver.port HTTP
HQuorumPeer 2181 内部 hbase.zookeeper.property.clientPort HBase管理的ZK模式
2888 内部 hbase.zookeeper.property.clientPort HBase管理的ZK模式
3888 内部 hbase.zookeeper.leaderport HBase管理的ZK模式
REST 8080 外部 hbase.rest.port 默认为8080,CM会设置为20550
20550 外部 hbase.rest.port 默认为8080,CM会设置为20550
REST UI 8085 外部
Thrift Server 9090 外部 命令行-p
9095 外部
Avro server 9090 外部 命令行—port
hbase-solr-indexer 11060 外部 Lily Indexer

Φ Hive

组件 服务 端口 访问要求 配置项 Qualifier
Hive Metastore 9083 外部
HiveServer2 10000 外部 hive.server2.thrift.port Beeline需要定义这个端口
HiveServer2 Web User Interface (UI) 10002 外部 hive.server2.webui.port
WebHCat Server 50111 外部 templeton.port

Φ Hue

组件 服务 端口 访问要求 配置项 Qualifier
Server 8888 外部
Load Balancer 8889 外部

Φ Kafka

组件 服务 端口 访问要求 配置项 Qualifier
Broker 9092 外/内部 port 生产者/消费者和内部broker使用的通信端口
9093 外/内部 ssl_port 安全通信端口
9393 内部 jmx_port JMX管理使用的内部端口
24042 内部 kafka.http.metrics.port 通过HTTP上报度量,替代JMX
MirrorMaker 9394 内部 jmx_port MirrorMaker管理生产者/消费者用

Φ Kudu

组件 服务 端口 访问要求 配置项 Qualifier
Kudu Master 7051 外部 主RPC端口
8051 外部 主HTTP端口
TabletServer 7050 外部 RPC端口
8050 外部 HTTP端口

Φ Oozie

组件 服务 端口 访问要求 配置项 Qualifier
Oozie Oozie Server 11000 外部 OOZIE_HTTP_PORT HTTP
11443 外部 HTTPS

Φ Sentry

组件 服务 端口 访问要求 配置项 Qualifier
Sentry Sentry Server 8038 外部 sentry.service.server.rpc-port
51000 外部 sentry.service.web.port

Φ Spark

组件 服务 端口 访问要求 配置项 Qualifier
Default Master RPC port 7077 外部
Default Worker RPC port 7078 外部
Default Master web UI port 18080 外部
Default Worker web UI port 18081 外部
History Server 18088 外部 history.port
Shuffle service 7337 内部

Φ ZooKeeper

组件 服务 端口 访问要求 配置项 Qualifier
ZooKeeper Server 2181 外部 clientPort 客户端端口
2888 内部 X in server.N =host:X:Y
3888 内部 X in server.N =host:X:Y
3181 内部 X in server.N =host:X:Y
4181 内部 X in server.N =host:X:Y
ZooKeeper JMX port 9010 内部

TODO
Zookeeper会为RMI使用随机端口来选举;
为了允许Cloudera Manager监控Zookeeper,你必需:

  • 当Cloudera Manager服务连接时,打开所有端口
  • 在防火墙打开非临时端口(如9011)
  • 安装JDK7以上
  • 在高级配置代码段添加-Dcom.sun.management.jmxremote.rmi.port=9011
  • 重启Zookeeper