hadoop2.x常用端口

    技术2022-07-10  95

    端口

    Hadoop集群的各部分一般都会使用到多个端口,有些是daemon之间进行交互之用,有些是用于RPC访问以及HTTP访问。而随着Hadoop周边组件的增多,完全记不住哪个端口对应哪个应用,特收集记录如此,以便查询。这里包含我们使用到的组件:HDFS, YARN, HBase, Hive, ZooKeeper:

    组件节点默认端口配置用途说明HDFSDataNode50010dfs.datanode.addressdatanode服务端口,用于数据传输HDFSDataNode50075dfs.datanode.http.addresshttp服务的端口HDFSDataNode50475dfs.datanode.https.addresshttps服务的端口HDFSDataNode50020dfs.datanode.ipc.addressipc服务的端口HDFSNameNode50070dfs.namenode.http-addresshttp服务的端口HDFSNameNode50470dfs.namenode.https-addresshttps服务的端口HDFSNameNode8020fs.defaultFS接收Client连接的RPC端口,用于获取文件系统metadata信息。HDFSjournalnode8485dfs.journalnode.rpc-addressRPC服务HDFSjournalnode8480dfs.journalnode.http-addressHTTP服务HDFSZKFC8019dfs.ha.zkfc.portZooKeeper FailoverController,用于NN HAYARNResourceManager8032yarn.resourcemanager.addressRM的applications manager(ASM)端口YARNResourceManager8030yarn.resourcemanager.scheduler.addressscheduler组件的IPC端口YARNResourceManager8031yarn.resourcemanager.resource-tracker.addressIPCYARNResourceManager8033yarn.resourcemanager.admin.addressIPCYARNResourceManager8088yarn.resourcemanager.webapp.addresshttp服务端口YARNNodeManager8040yarn.nodemanager.localizer.addresslocalizer IPCYARNNodeManager8042yarn.nodemanager.webapp.addresshttp服务端口YARNNodeManager8041yarn.nodemanager.addressNM中container manager的端口YARNJobHistory Server10020mapreduce.jobhistory.addressIPCYARNJobHistory Server19888mapreduce.jobhistory.webapp.addresshttp服务端口HBaseMaster60000hbase.master.portIPCHBaseMaster60010hbase.master.info.porthttp服务端口HBaseRegionServer60020hbase.regionserver.portIPCHBaseRegionServer60030hbase.regionserver.info.porthttp服务端口HBaseHQuorumPeer2181hbase.zookeeper.property.clientPortHBase-managed ZK mode,使用独立的ZooKeeper集群则不会启用该端口。HBaseHQuorumPeer2888hbase.zookeeper.peerportHBase-managed ZK mode,使用独立的ZooKeeper集群则不会启用该端口。HBaseHQuorumPeer3888hbase.zookeeper.leaderportHBase-managed ZK mode,使用独立的ZooKeeper集群则不会启用该端口。HiveMetastore9083/etc/default/hive-metastore中export PORT=<port>来更新默认端口HiveHiveServer10000/etc/hive/conf/hive-env.sh中export HIVE_SERVER2_THRIFT_PORT=<port>来更新默认端口ZooKeeperServer2181/etc/zookeeper/conf/zoo.cfg中clientPort=<port>对客户端提供服务的端口ZooKeeperServer2888/etc/zookeeper/conf/zoo.cfg中server.x=[hostname]:nnnnn[:nnnnn],标蓝部分follower用来连接到leader,只在leader上监听该端口。ZooKeeperServer3888/etc/zookeeper/conf/zoo.cfg中server.x=[hostname]:nnnnn[:nnnnn],标蓝部分用于leader选举的。只在electionAlg是1,2或3(默认)时需要。

    所有端口协议均基于TCP。

    URL

    对于存在Web UI(HTTP服务)的所有hadoop daemon,有如下url:

    /jmx?get=MXBeanName::AttributeName 查询指定bean指定属性的值,例如/jmx?get=Hadoop:service=NameNode,name=NameNodeInfo::ClusterId 会返回ClusterId。 这个请求的处理类:org.apache.hadoop.jmx.JMXJsonServlet 

    /logs : 日志文件列表,用于下载和查看

    /logLevel : 允许你设定log4j的日志记录级别,类似于hadoop daemonlog

    /stacks : 所有线程的stack trace,对于debug很有帮助

    /jmx : 服务端的Metrics,以JSON格式输出。

    /jmx?qry=Hadoop:* 会返回所有hadoop相关指标。 

    NameNode: http://:50070/

    /dfshealth.jsp: HDFS信息页面,其中有链接可以查看文件系统

    /dfsnodelist.jsp?whatNodes=(DEAD|LIVE): 显示DEAD或LIVE状态的datanode

    /fsck: 运行fsck命令,不推荐在集群繁忙时使用!

    DataNode: http://:50075/

    /blockScannerReport: 每个datanode都会指定间隔验证块信息

    RPC

    RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。

    RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。

    有多种 RPC模式和执行。最初由 Sun 公司提出。IETF ONC 宪章重新修订了 Sun 版本,使得 ONC RPC 协议成为 IETF 标准协议。现在使用最普遍的模式和执行是开放式软件基础的分布式计算环境(DCE)。

    Hadoop IPC

    IPC

    实现RPC的一种方法,具有快速、简单的特点。 它不像Sun公司提供的标准RPC包,基于Java序列化。IPC无需创建网络stubs和skeletons。IPC中的方法调用要求参数和返回值的数据类型必须是Java的基本类型,String和Writable接口的实现类,以及元素为以上类型的数组。接口方法应该只抛出IOException异常。

    使用模型

    采用客户/服务器模型Server:它把Java接口暴露给客户端。指定好监听端口和接受远程调用的对象实例后,通过RPC.getServer()可以得到Server实例。Client:连接Server,调用它所暴露的方法。Client必须指定远程机器的地址,端口和Java接口类,通过RPC.getClient()可以得到Client实例。Server不可以向Client发出调用,但在Hadoop中,有双向调用的需求。 比如在DFS,NameNode和DataNode需要互相了解状态。

    **补充端口**

    hadoop IPC端口,hdfs操作端口:9000 SecondaryNameNode节点http端口号:50090

    Processed: 0.009, SQL: 9