Hadoop1.x安装配置文件及参数说明
一、常用文件及参数说明
Core-site.xml 配置Common组件的属性
hdfs-site.xml 配置hdfs参数,比如备份数目,镜像存放路径
Mapred-site.xml 配置map-reduce组件的属性
1.conf/core-site.xml
- <configuration>
- <property>
- <name>fs.default.name</name>
- <value>hdfs://localhost:9000</value>
- </property>
- </configuration>
复制代码
fs.default.name:代表配置NN节点地址和端口号
hdfs://localhost:9000:其中localhost替换为ip或则映射主机名
2.conf/hdfs-site.xml:
- <configuration>
- <property>
- <name>dfs.replication</name>
- <value>1</value>
- </property>
- <property>
- <name>hadoop.tmp.dir</name>
- <value>/home/work/hadoop_tmp</value>
- </property>
- </configuration>
复制代码
说明:
dfs.replication:hdfs数据块的复制份数,默认3,理论上份数越多跑数速度越快,但是需要的存储空间也更多。有钱人可以调5或者6。
上面alue值为1,代表是一份。因为安装的时候,如果是伪分布,则此值为1
hadoop.tmp.dir:
指定name镜像文件存放目录,如不指定则
默认为core-site中配置的tmp目录
3.conf/mapred-site.xml
- <configuration>
- <property>
- <name>mapred.job.tracker</name>
- <value>localhost:9001</value>
- </property>
- </configuration>
复制代码
说明:
mapred.job.tracker:连接jobtrack服务器的配置项,默认不写,是localhost,map数1,reduce数1
---------------------------------------------------------------------------------------------------------------------------------------------------
看到另外的帖子对此解释的也很好,贴出来给大家欣赏:
1. 在conf/hadoop-env.sh文件中增加:
- export JAVA_HOME=/home/Java/jdk1.6
复制代码
2. 在conf/core-site.xml文件中增加如下内容:
<!-- fs.default.name - 这是一个描述集群中NameNode结点的URI(包括协议、主机名称、端口号),集群里面的每一台机器都需要知道NameNode的地址。DataNode结点会先在NameNode上注册,这样它们的数据才可以被使用。独立的客户端程序通过这个URI跟DataNode交互,以取得文件的块列表。-->
- <property>
- <name>fs.default.name</name>
- <value>hdfs://localhost:9000</value>
- </property>
复制代码
<!—hadoop.tmp.dir 是hadoop文件系统依赖的基础配置,很多路径都依赖它。如果hdfs-site.xml中不配 置namenode和datanode的存放位置,默认就放在这个路径中-->
- <property>
- <name>hadoop.tmp.dir</name>
- <value>/home/hdfs/tmp</value>
- </property>
复制代码
3. 在conf/hdfs-site.xml中增加如下内容:
<!-- dfs.replication -它决定着 系统里面的文件块的数据备份个数。对于一个实际的应用,它 应该被设为3(这个数字并没有上限,但更多的备份可能并没有作用,而且会占用更多的空间)。少于三个的备份,可能会影响到数据的可靠性(系统故障时,也许会造成数据丢失)-->
- <property>
- <name>dfs.replication</name>
- <value>1</value>
- </property>
复制代码
<!-- dfs.data.dir - 这是DataNode结点被指定要存储数据的本地文件系统路径。DataNode结点上的这个路径没有必要完全相同,因为每台机器的环境很可能是不一样的。但如果每台机器上的这个路径都是统一配置的话,会使工作变得简单一些。默认的情况下,它的值hadoop.tmp.dir, 这 个路径只能用于测试的目的,因为,它很可能会丢失掉一些数据。所以,这个值最好还是被覆 盖。dfs.name.dir - 这是NameNode结点存储hadoop文件系统信息的本地系统路径。这个值只对NameNode有效,DataNode并不需要使用到它。上面对于/temp类型的警告,同样也适用于这里。在实际应用中,它最好被覆盖掉。-->
- <property>
- <name>dfs.name.dir</name>
- <value>/home/hdfs/name</value>
- </property>
- <property>
- <name>dfs.data.dir</name>
- <value>/home/hdfs/data</value>
- </property>
复制代码
<!—解决:org.apache.hadoop.security.AccessControlException:Permission denied:user=Administrator,access=WRITE,inode="tmp":root:supergroup:rwxr-xr-x 。
因为Eclipse使用hadoop插件提交作业时,会默认以 DrWho 身份去将作业写入hdfs文件系统中,对应的也就是 HDFS 上的/user/hadoop , 由于 DrWho 用户对hadoop目录并没有写入权限,所以导致异常的发生。解决方法为:放开 hadoop 目录的权限, 命令如下 :$ hadoop fs -chmod 777 /user/hadoop -->
- <property>
- <name>dfs.permissions</name>
- <value>false</value>
- <description> If "true", enable permission checking in HDFS. If "false", permission checking is turned off, but all other behavior is unchanged. Switching from one parameter value to the other does not change the mode, owner or group of files or directories
- </description>
- </property>
复制代码
4. 在conf/mapred-site.xml中增加如下内容:
- <!-- mapred.job.tracker -JobTracker的主机(或者IP)和端口。-->
- <property>
- <name>mapred.job.tracker</name>
- <value>localhost:9001</value>
- </property>
复制代码
---------------------------------------------------------------------------------------------------------------------------------------------------
上面是对常用文件和配置项目的说明,下面详细说一下。
二、详细参数说明
因为我们在配置文件的时候,配置文件都是空的,所以我们该如何从网上获取配置文件可以,
http://hadoop.apache.org/common/docs/r0.20.2/core-default.html
http://hadoop.apache.org/common/docs/r0.20.2/hdfs-default.html
http://hadoop.apache.org/common/docs/r0.20.0/mapred-default.html
这里是浏览hadoop当前版本号的默认配置文件,其他版本号,要另外去官网找。
其中第一个方法找到默认的配置是最好的,因为每个属性都有说明,可以直接使用。
另外,core-site.xml是全局配置,hdfs-site.xml和mapred-site.xml分别是hdfs和mapred的局部配置。
常用的端口配置对于下面端口我们是可以只定义的,仅供参考。
参数 | 描述 | 默认 | 配置文件 | 例子值 |
fs.default.name | namenode RPC交互端口 | 9000 | core-site.xml | hdfs://master:8020/ |
dfs.http.address | NameNode web管理端口 | 50070 | hdfs-site.xml | 0.0.0.0:50070 |
dfs.datanode.address | datanode 控制端口 | 50010 | hdfs-site.xml | 0.0.0.0:50010 |
dfs.datanode.ipc.address | datanode的RPC服务器地址和端口 | 50020 | hdfs-site.xml | 0.0.0.0:50020 |
dfs.datanode.http.address | datanode的HTTP服务器和端口 | 50075 | hdfs-site.xml | 0.0.0.0:50075 |
参数 | 描述 | 默认 | 配置文件 | 例子值 |
mapred.job.tracker | job tracker交互端口 | 9001 | mapred-site.xml | hdfs://master:8021/ |
mapred.job.tracker.http.address | job tracker的web管理端口 | 50030 | mapred-site.xml | 0.0.0.0:50030 |
mapred.task.tracker.http.address | task tracker的HTTP端口 | 50060 | mapred-site.xml | 0.0.0.0:50060 |
参数 | 描述 | 默认 | 配置文件 | 例子值 |
dfs.secondary.http.address | secondary NameNode web管理端口 | 50090 | hdfs-site.xml | 0.0.0.0:28680 |
集群目录配置
参数 | 描述 | 默认 | 配置文件 | 例子值 |
dfs.name.dir | name node的元数据,以,号隔开,hdfs会把元数据 冗余复制到这些目录,一般这些目录是不同的块 设备,不存在的目录会被忽略掉 |
{hadoop.tmp.dir}
/dfs/name
|
hdfs-site.xm | /hadoop/hdfs/name |
dfs.name.edits.dir | node node的事务文件存储的目录,以,号隔开, hdfs会把事务文件冗余复制到这些目录,一般 这些目录是不同的块设备,不存在的目录会被 忽略掉 |
${dfs.name.dir} | hdfs-site.xm | ${dfs.name.dir} |
fs.checkpoint.dir | secondary NameNode的元数据以,号隔开,hdfs 会把元数据冗余复制到这些目录,一般这些目 录是不同的块设备,不存在的目录会被忽略掉 |
${hadoop.tmp.dir}
/dfs/namesecondary
|
core-site.xml | /hadoop/hdfs/namesecondary |
fs.checkpoint.edits.dir | secondary NameNode的事务文件存储的目录, 以,号隔开,hdfs会把事务文件冗余复制到这些目录 |
${fs.checkpoint.dir} | core-site.xml | ${fs.checkpoint.dir} |
hadoop.tmp.dir | 临时目录,其他临时目录的父目录 | /tmp/hadoop-${user.name} | core-site.xml | /hadoop/tmp/hadoop-${user.name} |
dfs.data.dir | data node的数据目录,以,号隔开,hdfs会把数据 存在这些目录下,一般这些目录是不同的块设备, 不存在的目录会被忽略掉 |
${hadoop.tmp.dir}
/dfs/data
|
hdfs-site.xm |
/hadoop/hdfs/data1/data,
/hadoop/hdfs/data2/data
|
mapred.local.dir | MapReduce产生的中间数据存放目录,以,号隔开, hdfs会把数据存在这些目录下,一般这些目录是 不同的块设备,不存在的目录会被忽略掉 |
${hadoop.tmp.dir}
/mapred/local
|
mapred-site.xml |
/hadoop/hdfs/data1/mapred/local,
/hadoop/hdfs/data2/mapred/local
|
mapred.system.dir | MapReduce的控制文件 |
${hadoop.tmp.dir}
/mapred/system
|
mapred-site.xml | /hadoop/hdfs/data1/system |
其他配置
参数 | 描述 | 默认 | 配置文件 | 例子值 |
dfs.support.append | 支持文件append,主要是支持hbase | false | hdfs-site.xml | true |
dfs.replication | 文件复制的副本数,如果创建时不指定这个参数, 就使用这个默认值作为复制的副本数 |
3 | hdfs-site.xml | 2 |
-------------------------------------------------------------------------------------------------------------------------------------------------三、hadoop配置文件说明
1、dfs.hosts 记录即将作为datanode加入集群的机器列表
2、mapred.hosts 记录即将作为tasktracker加入集群的机器列表
3、dfs.hosts.exclude mapred.hosts.exclude 分别包含待移除的机器列表
4、master 记录运行辅助namenode的机器列表
5、slave 记录运行datanode和tasktracker的机器列表
6、hadoop-env.sh 记录脚本要用的环境变量,以运行hadoop
7、core-site.xml hadoop core的配置项,例如hdfs和mapreduce常用的i/o设置等
8、hdfs-site.xml hadoop守护进程的配置项,包括namenode、辅助namenode和datanode等
9、mapred-site.xml mapreduce守护进程的配置项,包括jobtracker和tasktracker
10、hadoop-metrics.properties 控制metrics在hadoop上如何发布的属性
11、log4j.properties 系统日志文件、namenode审计日志、tasktracker子进程的任务日志的属性
Hadoop1.x安装配置文件及参数说明的更多相关文章
- Hadoop1的安装
目前hadoop1的稳定版本是1.2.1,我们以版本1.2.1为例详细的介绍hadoop1的安装,此过程包括OS安装与配置,JDK的安装,用户和组的配置,这些过程在hadoop2也有可能用到. Had ...
- nginx(Window下安装 & 配置文件参数说明 & 实例)
一.为什么需要对Tomcat服务器做负载均衡: Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果有超过500的并发数便会出现Tomcat不能响应新的请求的情况,严重影响网站 ...
- PRESTO安装部署和参数说明(一)
PRESTO部署和参数说明(一) 一,概要 在部署和使用presto的过程中,在此记录一下部署记录和使用记录以及需要注意的事项.本人使用的presto版本是0.214,3台redhat虚拟机.使用背景 ...
- hadoop1.X安装
1. 配置主机的名称 master,slave1,slave2 2. 安装JDK: 3. 配置IP与主机名称的映射: 192.168.0.100 master 192.1 ...
- redis安装配置文件配置
环境: 虚拟机redhat5.5安装redis4.0.2 虚拟机IP:192.168.60.130 reids端口:6379 安装步骤不详述了(可参考: 亲密接触Redis-第一天), 大致步骤如下: ...
- Hadoop1.2.1 配置文件详解
首先我们先回顾一下Hadoop的一些概念: Apache Hdoop 1.x 组成 NameNode(元数据服务器) Secondary NameNode(辅助元数据服务器) JobTracker(任 ...
- Hadoop在ubuntu下安装配置文件及出现问题
我的配置: 路径: hadoop /home/flyuz/hadoop jdk1.8.0_172 /opt/java/jdk1.8.0_172 eclipse /opt/eclipse 版本: ubu ...
- Redis配置文件各项参数说明及性能调优
Redis配置文件参数说明: 1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no 2. 当Redis以守护进程方式运行时,Redis默 ...
- MYSQL数据库的安装,配置文件,登入
07.13自我总结 MYSQL数据库 一.MYQL数据库的安装 可以去mysql官网下载mysql压缩包 运行程序:在bin文件夹中,其中客户端运行文件是mysql.exe,服务端运行文件为mysql ...
随机推荐
- 一致性hash演示
看到点关于一致性hash的说明,觉得挺有意思,就想体验一下. 上代码看看,体会一下在一致性hash环境下的cache和获取. 因为是小代码演示,没有很细致,包括hash函数就是用取余操作,但活生生的显 ...
- .net的根目录区别
很久没搞.net了,时间一场,全忘记了,倒,,, “~/” 是应用程序根目录“/” 也是表示根目录 “./” 是当前目录“../”表示当前目录的上一级目录
- Maven打可执行包的pom.xml配置
单独打出可执行包,然后将依赖包打入lib文件价中 <build> <plugins> <plugin> <groupId>org.apache.mave ...
- bootstrap 知识点
1.datetimepicker //带分钟选择 $('.form_datetime').datetimepicker({ format: 'yyyy-mm-dd HH:mm:ss', languag ...
- Android Codenames, Tags, and Build Numbers
Starting with Cupcake, individual builds are identified with a short build code, e.g. FRF85B. The fi ...
- rabbitmq&&erlang 安装
# yum install epel-release CentOS and Red Hat Enterprise Linux 6.x wget https://dl.fedoraproject.org ...
- poj3686
题解: KM算法 把每一个点拆成n个 然后改变编圈 代码: #include<cstdio> #include<cmath> #include<cstring> # ...
- iTabs Tab切换插件
最近项目中使用到Tab切换,切换的页面不变,内容发生变化,随手写了份简单的插件,附带源码.先看样子: 本人也考虑到是否使用jquery ui tab,但是还是热衷于自己写一份,首先好处之一是易于培训, ...
- ZOJ 2971 Give Me the Number (模拟,字符数组的清空+map)
Give Me the Number Time Limit: 2 Seconds Memory Limit: 65536 KB Numbers in English are written ...
- ES查询index对应的mapping信息
private void getMappingByIndex(String indices) throws IOException { GetMappingsRequest getMappingsRe ...