Core-site.xml配置

来源:互联网 发布:百无一用是书生知乎 编辑:程序博客网 时间:2024/05/17 11:32

Core-site.xml配置

http://hi.baidu.com/bjwyl66/item/83c5acf58d44fa25743c4c89

http://www.juziku.com/sunlightcs/wiki/5989.htm

配置hadoop

Hadoop的配置文件在早期版本中都放在同一个文件里hadoop-site.xml,在新版本中hadoop把配置文件做了区分,分成了:

Core-site.xml       配置Common组件的属性

Hadoop-site.xml     配置HDFS组件的属性

Mapred-site.xml     配置map-reduce组件的属性

除了这3个配置文件以外还有hadoop-env.xml用来设置hadoop用到的环境变量;masters文件用来配置SNN节点地址注意必须配置域名;slaves文件配置所有DN节点的地址,必须是域名

 Core-site.xml配置实例

 DN节点以及NN节点,snn节点配置一至

  <property>

      <name>fs.default.name</name>          //配置NN节点地址和端口号

      <value>hdfs://hadoop.master:9000</value> //注意格式必须是host:port的形式

</property>

<property>

      <name>hadoop.tmp.dir</name>          //hadoop临时目录用来存放nn临时文件

      <value>/usr/local/hadoop/tmp</value>     //该目录必须预先手工创建不能删除

</property>

<property>

      <name>fs.checkpoint.period</name>     //snn检查nn日志的时间周期

       <value>60</value>                  //单位是秒,正式环境上建议配置成12小时

</property>

<property>

       <name>fs.checkpoint.size</name>     //snn每次从nn上读取的数据大小

       <value>67108864</value>           //通常情况下默认值就可以

</property>



记录一下Hadoop的配置和说明,用到新的配置项会补充进来,不定期更新。以配置文件名划分

以hadoop 1.x配置为例

core-site.xml

 namevalue Description  fs.default.namehdfs://hadoopmaster:9000定义HadoopMaster的URI和端口 fs.checkpoint.dir/opt/data/hadoop1/hdfs/namesecondary1定义hadoop的name备份的路径,官方文档说是读取这个,写入dfs.name.dir fs.checkpoint.period1800定义name备份的备份间隔时间,秒为单位,只对snn生效,默认一小时 fs.checkpoint.size33554432以日志大小间隔做备份间隔,只对snn生效,默认64M io.compression.codecsorg.apache.hadoop.io.compress.DefaultCodec
com.hadoop.compression.lzo.LzoCodec
com.hadoop.compression.lzo.LzopCodec
org.apache.hadoop.io.compress.GzipCodec
org.apache.hadoop.io.compress.BZip2Codec
(排版调整,实际配置不要回车)Hadoop所使用的编解码器,gzip和bzip2为自带,lzo需安装hadoopgpl或者kevinweil,逗号分隔,snappy也需要单独安装 io.compression.codec.lzo.classcom.hadoop.compression.lzo.LzoCodecLZO所使用的压缩编码器  topology.script.file.name/hadoop/bin/RackAware.py机架感知脚本位置  topology.script.number.args1000机架感知脚本管理的主机数,IP地址  fs.trash.interval10800HDFS垃圾箱设置,可以恢复误删除,分钟数,0为禁用,添加该项无需重启hadoop hadoop.http.filter.initializersorg.apache.hadoop.security.
AuthenticationFilterInitializer
(排版调整,实际配置不要回车)需要jobtracker,tasktracker
namenode,datanode等http访问端口用户验证使用,需配置所有节点 hadoop.http.authentication.typesimple | kerberos | 验证方式,默认为简单,也可自己定义class,需配置所有节点 hadoop.http.authentication.
token.validity
(排版调整,实际配置不要回车)36000验证令牌的有效时间,需配置所有节点 hadoop.http.authentication.
signature.secret
(排版调整,实际配置不要回车)默认可不写参数默认不写在hadoop启动时自动生成私密签名,需配置所有节点hadoop.http.authentication.cookie
.domaindomian.tldhttp验证所使用的cookie的域名,IP地址访问则该项无效,必须给所有节点都配置域名才可以。 hadoop.http.authentication.
 simple.anonymous.allowed
(排版调整,实际配置不要回车)true | false简单验证专用,默认允许匿名访问,true hadoop.http.authentication.
kerberos.principal
(排版调整,实际配置不要回车)HTTP/localhost@$LOCALHOSTKerberos验证专用,参加认证的实体机必须使用HTTP作为K的Name hadoop.http.authentication.
kerberos.keytab
(排版调整,实际配置不要回车)/home/xianglei/hadoop.keytabKerberos验证专用,密钥文件存放位置 hadoop.security.authorizationtrue|falseHadoop服务层级验证安全验证,需配合hadoop-policy.xml使用,配置好以后用dfsadmin,mradmin -refreshServiceAcl刷新生效 io.file.buffer.size131072用作序列化文件处理时读写buffer的大小 hadoop.security.authenticationsimple | kerberoshadoop本身的权限验证,非http访问,simple或者kerberos hadoop.logfile.size1000000000设置日志文件大小,超过则滚动新日志 hadoop.logfile.count20最大日志数 io.bytes.per.checksum1024每校验码所校验的字节数,不要大于io.file.buffer.size io.skip.checksum.errorstrue | false处理序列化文件时跳过校验码错误,不抛异常。默认false io.serializationsorg.apache.hadoop.io.
serializer.WritableSerialization (排版需要。实际配置不要回车)序列化的编解码器 io.seqfile.compress.blocksize1024000块压缩的序列化文件的最小块大小,字节 webinterface.private.actionstrue | false设为true,则JT和NN的tracker网页会出现杀任务删文件等操作连接,默认是false

结合Apache手册和公司里用的实际配置编写,实际根据硬件配置的不同,参数大小需做调整,目前参数基于namenode 96G内存,datanode 32G内存。有些har,s3,local这样的fs的implement因为不太会用到,所以没写。