Hadoop各個服務端口列表

原文鏈接:https://blog.csdn.net/u011563666/article/details/79026114

 

分類專欄: Hadoop 大數據

端口

Hadoop集羣的各部分一般都會使用到多個端口,有些是daemon之間進行交互之用,有些是用於RPC訪問以及HTTP訪問。而隨着Hadoop周邊組件的增多,完全記不住哪個端口對應哪個應用,特收集記錄如此,以便查詢。這裏包含我們使用到的組件:HDFS, YARN, HBase, Hive, ZooKeeper:

 

組件 節點 默認端口 配置 用途說明
HDFS DataNode 50010 dfs.datanode.address datanode服務端口,用於數據傳輸
HDFS DataNode 50075 dfs.datanode.http.address http服務的端口
HDFS DataNode 50475 dfs.datanode.https.address https服務的端口
HDFS DataNode 50020 dfs.datanode.ipc.address ipc服務的端口
HDFS NameNode 50070 dfs.namenode.http-address http服務的端口
HDFS NameNode 50470 dfs.namenode.https-address https服務的端口
HDFS NameNode 8020 fs.defaultFS 接收Client連接的RPC端口,用於獲取文件系統metadata信息。
HDFS journalnode 8485 dfs.journalnode.rpc-address RPC服務
HDFS journalnode 8480 dfs.journalnode.http-address HTTP服務
HDFS ZKFC 8019 dfs.ha.zkfc.port ZooKeeper FailoverController,用於NN HA
YARN ResourceManager 8032 yarn.resourcemanager.address RM的applications manager(ASM)端口
YARN ResourceManager 8030 yarn.resourcemanager.scheduler.address scheduler組件的IPC端口
YARN ResourceManager 8031 yarn.resourcemanager.resource-tracker.address IPC
YARN ResourceManager 8033 yarn.resourcemanager.admin.address IPC
YARN ResourceManager 8088 yarn.resourcemanager.webapp.address http服務端口
YARN NodeManager 8040 yarn.nodemanager.localizer.address localizer IPC
YARN NodeManager 8042 yarn.nodemanager.webapp.address http服務端口
YARN NodeManager 8041 yarn.nodemanager.address NM中container manager的端口
YARN JobHistory Server 10020 mapreduce.jobhistory.address IPC
YARN JobHistory Server 19888 mapreduce.jobhistory.webapp.address http服務端口
HBase Master 60000 hbase.master.port IPC
HBase Master 60010 hbase.master.info.port http服務端口
HBase RegionServer 60020 hbase.regionserver.port IPC
HBase RegionServer 60030 hbase.regionserver.info.port http服務端口
HBase HQuorumPeer 2181 hbase.zookeeper.property.clientPort HBase-managed ZK mode,使用獨立的ZooKeeper集羣則不會啓用該端口。
HBase HQuorumPeer 2888 hbase.zookeeper.peerport HBase-managed ZK mode,使用獨立的ZooKeeper集羣則不會啓用該端口。
HBase HQuorumPeer 3888 hbase.zookeeper.leaderport HBase-managed ZK mode,使用獨立的ZooKeeper集羣則不會啓用該端口。
Hive Metastore 9083 /etc/default/hive-metastore中export PORT=<port>來更新默認端口  
Hive HiveServer 10000 /etc/hive/conf/hive-env.sh中export HIVE_SERVER2_THRIFT_PORT=<port>來更新默認端口  
ZooKeeper Server 2181 /etc/zookeeper/conf/zoo.cfg中clientPort=<port> 對客戶端提供服務的端口
ZooKeeper Server 2888 /etc/zookeeper/conf/zoo.cfg中server.x=[hostname]:nnnnn[:nnnnn],標藍部分 follower用來連接到leader,只在leader上監聽該端口。
ZooKeeper Server 3888 /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需要互相瞭解狀態。

 

參考博客:

       http://blog.csdn.net/jpc00939/article/details/79014613

       http://blog.csdn.net/wulantian/article/details/46341043

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章