一、Hadoop进程监听的地址和端口:
Hadoop启动时会运行两个服务器进程,一个为用于hadoop各进程间进行通信的RPC服务进程,另一个是提供了便于管理员查看hadoop集群各进程相关信息页面的http服务进程。
用于定义各RPC服务器所监听的地址和端口的属性有如下几个:
fs.default.name : 定义HDFS的namenode用于提供URI所监听的地址和端口,默认端口8020
dfs.datanode.ipc.address : DataNode上IPC服务器监听的地址和端口,默认为0.0.0.0:50020
mapred.job.tracker : JobTracker的RPC服务器所监听的地址和端口,默认为8021。
mapred.task.tracker.report.address :TaskTracker的RPC服务器监听的地址和端口:TaskTracker的子JVM使用此端口与tasktracker进行通讯,它仅需要监听在本地回环地址127.0.0.1上,因此可以使用任何端口,只有在当本地没有回环接口时才需要修改此属性值。
除了RPC服务外,DataNode还会运行一个TCP/IP服务用于数据块传输,其监听的地址和端口可以通过dfs.datanode.address属性进行定义,默认为0.0.0.0:50010
HTTP服务属性:(可以通过浏览器访问获取对应进程的信息)
mapred.job.tracker.http.address : JobTracker的HTTP服务器地址和端口,默认0.0.0.0:50030
mapred.task.tracker.http.address: TaskTracker的HTTP服务器地址和端口,默认0.0.0.0:50060
dfs.http.address : NameNode的HTTP服务器地址和端口,默认0.0.0.0:50070
dfs.datanode.http.address: DataNode的HTTP服务地址和端口,默认0.0.0.0:50075
dfs.secondary.http.address: SecondaryNameNode的HTTP服务地址和端口,默认0.0.0.0:50090
二、Hadoop配置文件:
Hadoop配置文件主要有core-site.xml,hdfs-site.xml,mapred-site.xml三个配置文件;
不过根据版本不同,配置文件也不尽相同,可以解压hadoop包后,用(find hadoop-*** -name *.xml/sh )查找,里面有详细的官方说明文档:
大致有以下几个:
masters : 运行 secondarynamenode的机器列表(容易混淆,新版本中这个文件没有了)
slavers: 运行datanode和tasktrackers的机器列表;
hadoop-env.sh/ yarn-env.sh/ httpfs-env.sh/ mapred-env.sh 这三个配置文件是配置hadoop环境变量的配置文件(如果在全局模式下配置了,在这可以忽略,在新版本中才有的配置文件) 一般就是配置 JAVA_HOME / HADOOP_HOME之类;
core-site.xml 这个配置文件是对hadoop全局的配置文件:
fs.default.name:namenode RPC交互端口,默认hdfs://master:8020
hadoop.tmp.dir:hadoop临时文件目录,hdfs/mapreduce等很多文件目录的父目录,
默认:/tmp/hadoop-${user.name}
fs.checkpoint.dir:secondary NameNode的元数据存放目录 以,号隔开,hdfs会把元数据冗余复制到这些目录,一般这些目录是不同的块设备,不存在的目录会被忽略掉;
默认:${hadoop.tmp.dir}/dfs/namesecondary
fs.checkpoint.edits.dir:secondary NameNode的事务文件存储的目录,以,号隔开,hdfs会把事务文件冗余复制到这些目录。
默认:${fs.checkpoint.dir}
hdfs-site.xml这个配置文件是对hdfs局部的配置文件:
dfs.data.dir:data node的数据目录,以,号隔开,hdfs会把数据存在这些目录下,一般这些目录是不同的块设备,不存在的目录会被忽略掉
默认:${hadoop.tmp.dir}/dfs/data
dfs.name.dir:name node的元数据,以,号隔开,hdfs会把元数据冗余复制到这些目录,一般这些目录是不同的块设备,不存在的目录会被忽略掉
默认:{hadoop.tmp.dir}/dfs/name
dfs.name.edits.dir :name node的事务文件存储的目录,以,号隔开,hdfs会把事务文件冗余复制到这些目录,一般这些目录是不同的块设备,不存在的目录会被忽略掉
默认:${dfs.name.dir}
dfs.replication : 文件副本复制的数量数,不指定默认3份。
dfs.support.append:支持文件append,主要是支持hbase
默认:false,改为true支持。
dfs.http.address:NameNode web管理端口:0.0.0.0:50070
dfs.datanode.address:datanode 控制端口:0.0.0.0:50010
dfs.datanode.ipc.address:datanode的RPC服务器地址和端口:0.0.0.0:50020
dfs.datanode.http.address:datanode的HTTP服务器和端口:0.0.0.0:50075
dfs.secondary.http.address :secondary NameNode web管理端口:50090
mapred-site.xml这个是对mapreduce的局部的 配置文件:
mapred.local.dir:MapReduce产生的中间数据存放目录,以,号隔开,hdfs会把数据存在这些目录下,一般这些目录是不同的块设备,不存在的目录会被忽略掉
默认:${hadoop.tmp.dir}/mapred/local
mapred.system.dir:MapReduce的控制文件
默认:${hadoop.tmp.dir}/mapred/system
mapred.job.tracker:job tracker交互端口 :hdfs://master:8021/
mapred.job.tracker.http.address:job tracker的web管理端口0.0.0.0:50030
mapred.task.tracker.http.address:task tracker的HTTP端口0.0.0.0:50060
没 有特殊需求的情况下,配置上 面 标红色的 项目就可以。
新版本中,又加了好几个配置文件,具体内容还没研究过,有待更新: