Hadoop集羣的各部分通常都會使用到多個端口,有些是daemon之間進行交互之用,有些是用於RPC訪問以及HTTP訪問。而隨着Hadoop周邊組件的增多,徹底記不住哪一個端口對應哪一個應用,特收集記錄如此,以便查詢。node
這裏包含咱們使用到的組件:HDFS, YARN, HBase, Hive, ZooKeeper:web
組件apache |
節點app |
默認端口框架 |
配置webapp |
用途說明jsp |
HDFSoop |
DataNodeurl |
50010spa |
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。
對於存在Web UI(HTTP服務)的全部hadoop daemon,有以下url:
/logs
日誌文件列表,用於下載和查看
/logLevel
容許你設定log4j的日誌記錄級別,相似於hadoop daemonlog
/stacks
全部線程的stack trace,對於debug頗有幫助
/jmx
服務端的Metrics,以JSON格式輸出。
/jmx?qry=Hadoop:*會返回全部hadoop相關指標。
/jmx?get=MXBeanName::AttributeName 查詢指定bean指定屬性的值,例如/jmx?get=Hadoop:service=NameNode,name=NameNodeInfo::ClusterId會返回ClusterId。
這個請求的處理類:org.apache.hadoop.jmx.JMXJsonServlet
而特定的Daemon又有特定的URL路徑特定相應信息。
NameNode:http://:50070/
/dfshealth.jsp
HDFS信息頁面,其中有連接能夠查看文件系統
/dfsnodelist.jsp?whatNodes=(DEAD|LIVE)
顯示DEAD或LIVE狀態的datanode
/fsck
運行fsck命令,不推薦在集羣繁忙時使用!
DataNode:http://:50075/
/blockScannerReport
每一個datanode都會指定間隔驗證塊信息
補充一些內容:
在Hadoop 2.2.0中,YARN框架有不少默認的參數值,若是你是在機器資源比較不足的狀況下,須要修改這些默認值,來知足一些任務須要。
NodeManager和ResourceManager都是在yarn-site.xml文件中配置的,而運行MapReduce任務時,是在mapred-site.xml中進行配置的。
下面看一下相關的參數及其默認值狀況:
參數名稱 |
默認值 |
進程名稱 |
配置文件 |
含義說明 |
yarn.nodemanager.resource.memory-mb |
8192 |
NodeManager |
yarn-site.xml |
從節點所在物理主機的可用物理內存總量 |
yarn.nodemanager.resource.cpu-vcores |
8 |
NodeManager |
yarn-site.xml |
節點所在物理主機的可用虛擬CPU資源總數(core) |
yarn.nodemanager.vmem-pmem-ratio |
2.1 |
NodeManager |
yarn-site.xml |
使用1M物理內存,最多可使用的虛擬內存數量 |
yarn.scheduler.minimum-allocation-mb |
1024 |
ResourceManager |
yarn-site.xml |
一次申請分配內存資源的最小數量 |
yarn.scheduler.maximum-allocation-mb |
8192 |
ResourceManager |
yarn-site.xml |
一次申請分配內存資源的最大數量 |
yarn.scheduler.minimum-allocation-vcores |
1 |
ResourceManager |
yarn-site.xml |
一次申請分配虛擬CPU資源最小數量 |
yarn.scheduler.maximum-allocation-vcores |
8 |
ResourceManager |
yarn-site.xml |
一次申請分配虛擬CPU資源最大數量 |
mapreduce.framework.name |
local |
MapReduce |
mapred-site.xml |
取值local、classic或yarn其中之一,若是不是yarn,則不會使用YARN集羣來實現資源的分配 |
mapreduce.map.memory.mb |
1024 |
MapReduce |
mapred-site.xml |
每一個MapReduce做業的map任務能夠申請的內存資源數量 |
mapreduce.map.cpu.vcores |
1 |
MapReduce |
mapred-site.xml |
每一個MapReduce做業的map任務能夠申請的虛擬CPU資源的數量 |
mapreduce.reduce.memory.mb |
1024 |
MapReduce |
mapred-site.xml |
每一個MapReduce做業的reduce任務能夠申請的內存資源數量 |
yarn.nodemanager.resource.cpu-vcores |
8 |
MapReduce |
mapred-site.xml |
每一個MapReduce做業的reduce任務能夠申請的虛擬CPU資源的數量 |