pig2 发表于 2014-4-26 21:58:35

hadoop2.x常用端口、定义方法及默认端口、hadoop1.X端口对比

本帖最后由 pig2 于 2014-5-13 15:35 编辑

问题导读:1.DataNode的http服务的端口、ipc服务的端口分别是哪个?2.NameNode的http服务的端口、ipc服务的端口分别是哪个?3.journalnode的http服务的端口、ipc服务的端口分别是哪个?4.ResourceManager的http服务端口是哪个?5.NodeManager的http服务端口是哪个?6.Master的http服务的端口、ipc服务的端口分别是哪个?7.3888是谁的端口,用来做什么?扩展:hadoop1.X对应端口是哪个?9000、9001分别对应是hadoop2.X的那个端口?
static/image/hrline/4.gif



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 HA
YARNResourceManager8032yarn.resourcemanager.addressRM的applications manager(ASM)端口
YARNResourceManager8030yarn.resourcemanager.scheduler.addressscheduler组件的IPC端口
YARNResourceManager8031yarn.resourcemanager.resource-tracker.addressIPC
YARNResourceManager8033yarn.resourcemanager.admin.addressIPC
YARNResourceManager8088yarn.resourcemanager.webapp.addresshttp服务端口
YARNNodeManager8040yarn.nodemanager.localizer.addresslocalizer IPC
YARNNodeManager8042yarn.nodemanager.webapp.addresshttp服务端口
YARNNodeManager8041yarn.nodemanager.addressNM中container manager的端口
YARNJobHistory Server10020mapreduce.jobhistory.addressIPC
YARNJobHistory Server19888mapreduce.jobhistory.webapp.addresshttp服务端口
HBaseMaster60000hbase.master.portIPC
HBaseMaster60010hbase.master.info.porthttp服务端口
HBaseRegionServer60020hbase.regionserver.portIPC
HBaseRegionServer60030hbase.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=:nnnnn[:nnnnn],标蓝部分follower用来连接到leader,只在leader上监听该端口。
ZooKeeperServer3888/etc/zookeeper/conf/zoo.cfg中server.x=: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都会指定间隔验证块信息

pig2 发表于 2014-5-13 15:33:18

本帖最后由 pig2 于 2014-5-13 15:36 编辑

补充一些内容:

[*]需要知道的默认配置
在Hadoop 2.2.0中,YARN框架有很多默认的参数值,如果你是在机器资源比较不足的情况下,需要修改这些默认值,来满足一些任务需要。
NodeManager和ResourceManager都是在yarn-site.xml文件中配置的,而运行MapReduce任务时,是在mapred-site.xml中进行配置的。
下面看一下相关的参数及其默认值情况:
参数名称默认值进程名称配置文件含义说明
yarn.nodemanager.resource.memory-mb8192NodeManageryarn-site.xml从节点所在物理主机的可用物理内存总量
yarn.nodemanager.resource.cpu-vcores8NodeManageryarn-site.xml节点所在物理主机的可用虚拟CPU资源总数(core)
yarn.nodemanager.vmem-pmem-ratio2.1NodeManageryarn-site.xml使用1M物理内存,最多可以使用的虚拟内存数量
yarn.scheduler.minimum-allocation-mb1024ResourceManageryarn-site.xml一次申请分配内存资源的最小数量
yarn.scheduler.maximum-allocation-mb8192ResourceManageryarn-site.xml一次申请分配内存资源的最大数量
yarn.scheduler.minimum-allocation-vcores1ResourceManageryarn-site.xml一次申请分配虚拟CPU资源最小数量
yarn.scheduler.maximum-allocation-vcores8ResourceManageryarn-site.xml一次申请分配虚拟CPU资源最大数量
mapreduce.framework.namelocalMapReducemapred-site.xml取值local、classic或yarn其中之一,如果不是yarn,则不会使用YARN集群来实现资源的分配
mapreduce.map.memory.mb1024MapReducemapred-site.xml每个MapReduce作业的map任务可以申请的内存资源数量
mapreduce.map.cpu.vcores1MapReducemapred-site.xml每个MapReduce作业的map任务可以申请的虚拟CPU资源的数量
mapreduce.reduce.memory.mb1024MapReducemapred-site.xml每个MapReduce作业的reduce任务可以申请的内存资源数量
yarn.nodemanager.resource.cpu-vcores8MapReducemapred-site.xml每个MapReduce作业的reduce任务可以申请的虚拟CPU资源的数量




perfri 发表于 2014-4-27 00:00:51

收藏了,转走了。告诉楼主一声

chenabc 发表于 2014-4-30 14:43:49

这里在补充一些:

表 1. 新旧 Hadoop 脚本 / 变量 / 位置变化表


改变项原框架中新框架中(Yarn)备注
配置文件
位置${hadoop_home_dir}
/conf${hadoop_home_dir}
/etc/hadoop/Yarn 框架也兼容老的${hadoop_home_dir}/conf 位置配置,启动时会检测是否存在老的 conf 目录,如果存在将加载 conf 目录下的配置,否则加载 etc 下配置
启停脚本${hadoop_home_dir}
/bin/start(stop)-all.sh${hadoop_home_dir}
/sbin/start(stop)-dfs.sh

${hadoop_home_dir}/bin
/start(stop)-all.sh新的 Yarn 框架中启动分布式文件系统和启动Yarn 分离,启动 / 停止分布式文件系统的命令位于 ${hadoop_home_dir}/sbin 目录下,启动/ 停止 Yarn 框架位于${hadoop_home_dir}/bin/ 目录下
JAVA_HOME
全局变量${hadoop_home_dir}
/bin/start-all.sh 中${hadoop_home_dir}/etc
/hadoop/hadoop-env.sh
${hadoop_home_dir}/etc
/hadoop/Yarn-env.shYarn 框架中由于启动 hdfs 分布式文件系统和启动 MapReduce 框架分离,JAVA_HOME 需要在hadoop-env.sh 和 Yarn-env.sh 中分别配置
HADOOP_LOG_DIR全局变量不需要配置${hadoop_home_dir}/etc
/hadoop/hadoop-env.sh老框架在 LOG,conf,tmp 目录等均默认为脚本启动的当前目录下的 log,conf,tmp 子目录Yarn 新框架中 Log 默认创建在 Hadoop 用户的 home 目录下的 log 子目录,因此最好在${hadoop_home_dir}/etc/hadoop/hadoop-env.sh配置 HADOOP_LOG_DIR,否则有可能会因为你启动hadoop 的用户的 .bashrc 或者 .bash_profile 中指定了其他的 PATH 变量而造成日志位置混乱,而该位置没有访问权限的话启动过程中会报错


由于新的 Yarn 框架与原 Hadoop MapReduce 框架相比变化较大,核心的配置文件中很多项在新框架中已经废弃,而新框架中新增了很多其他配置项,看下表所示会更加清晰:

表 2. 新旧 Hadoop 框架配置项变化表


配置文件配置项Hadoop 0.20.X 配置Hadoop 0.23.X 配置说明
core-site.xml系统默认分布式文件 URIfs.default.namefs.defaultFS
hdfs-site.xmlDFS name node 存放 name table 的目录dfs.name.dirdfs.namenode.name.dir新框架中 name node 分成 dfs.namenode.name.dir( 存放 naname table 和 dfs.namenode.edits.dir(存放 edit 文件),默认是同一个目录
DFS data node 存放数据 block 的目录dfs.data.dirdfs.datanode.data.dir新框架中 DataNode 增加更多细节配置,位于 dfs.datanode. 配置项下,如dfs.datanode.data.dir.perm(datanode local 目录默认权限);dfs.datanode.address(datanode 节点监听端口);等
分布式文件系统数据块复制数dfs.replicationdfs.replication新框架与老框架一致,值建议配置为与分布式 cluster 中实际的 DataNode 主机数一致
mapred-site.xmlJob 监控地址及端口mapred.job.tracker无新框架中已改为 Yarn-site.xml 中的 resouceManager 及 nodeManager 具体配置项,新框架中历史 job 的查询已从 Job tracker 剥离,归入单独的mapreduce.jobtracker.jobhistory 相关配置,
第三方 MapReduce 框架无mapreduce.framework.name新框架支持第三方 MapReduce 开发框架以支持如 SmartTalk/DGSG 等非 Yarn 架构,注意通常情况下这个配置的值都设置为 Yarn,如果没有配置这项,那么提交的 Yarn job 只会运行在 locale 模式,而不是分布式模式。

Yarn-site.xmlThe address of the applications manager interface in the RM无Yarn.resourcemanager.address新框架中 NodeManager 与 RM 通信的接口地址
The address of the scheduler interface无Yarn.resourcemanager.scheduler.address同上,NodeManger 需要知道 RM 主机的 scheduler 调度服务接口地址
The address of the RM web application无Yarn.resourcemanager.webapp.address新框架中各个 task 的资源调度及运行状况通过通过该 web 界面访问
The address of the resource tracker interface无Yarn.resourcemanager.resource-tracker.address新框架中 NodeManager 需要向 RM 报告任务运行状态供 Resouce 跟踪,因此 NodeManager 节点主机需要知道 RM 主机的 tracker 接口地址



2278 发表于 2014-7-18 16:40:00

好像没事收藏帖子哦。。先mark下

hahaxixi 发表于 2014-8-28 16:26:08

超级赞!!!!!!

轩辕依梦Q 发表于 2014-9-25 21:25:16

正好用到,谢谢楼主分享

498487810 发表于 2014-12-19 14:02:17

学习学习。

hadroger 发表于 2015-2-12 10:19:20

太全了 谢谢 收藏

tang 发表于 2015-3-6 17:13:18

收集的很详细
页: [1] 2 3 4
查看完整版本: hadoop2.x常用端口、定义方法及默认端口、hadoop1.X端口对比