博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hadoop-集群管理(4)——关键属性
阅读量:7078 次
发布时间:2019-06-28

本文共 3170 字,大约阅读时间需要 10 分钟。

hadoop中的配置属性非常多,这里只讨论关键属性,它们分散在3个文件中:core-site.xml、hdfs-site.xml、mapred-site.xml。

1. core-site.xml

<configuration>

  <property>
    <name>fs.default.name</name>
    <value>hdfs://Route:9000</value>
    <final>true</final>
  </property>
</configuration>

运行HDFS需要指定一台机器为namenode,通过参数 fs.default.name 来设置。它还指定了文件系统为HDFS。

2. hdfs-site.xml

<configuration>

  <property>
    <name>dfs.replication</name>
    <value>2</value>
  </property>
  <property>
    <name>dfs.name.dir</name>
    <value>/home/tianyc/hadoop-1.0.4/dir_namenode/dir1,/home/tianyc/hadoop-1.0.4/dir_namenode/dir2</value>
  </property>
  <property>
    <name>dfs.data.dir</name>
    <value>/home/tianyc/hadoop-1.0.4/dir_datanode/dir1,/home/tianyc/hadoop-1.0.4/dir_datanode/dir2</value>
  </property>
  <property>
    <name>dfs.checkpoint.dir</name>
    <value>/home/tianyc/hadoop-1.0.4/dir_secondarynamenode/dir1,/home/tianyc/hadoop-1.0.4/dir_secondarynamenode/dir2</value>
  </property>
</configuration>

  • dfs.replication:确定数据块被复制的份数。
  • dfs.name.dir:指定一系列目录来供namenode存储永久性的文件系统元数据(编辑日志和文件系统映像),这些元数据文件会同时备份在所有指定的目录中,形成冗余。建议指定一个本地磁盘目录,指定一个远程磁盘目录(例如NFS挂载磁盘),这样本地磁盘故障或namenode节点宕机后,都可以恢复并重构新的namenode。注意secondrynamenode只是定期保存namenode的检查点,并不提供namenode的最新备份。
  • dfs.data.dir:指定datanode存储数据的一系列目录。注意这里不是为了冗余,而是循环地在各个目录中写数据。因此,为了提高性能,最好分别为各个本地磁盘指定一个存储目录,使得数据块跨磁盘分布。这样,针对不同数据块的读操作可以并发执行,从而提升读性能。另一个显著提升的操作是在mount这些磁盘时,使用,使得不刷新所读文件的最新访问时间。
  • dfs.checkpoint.dir:指定一系列目录来存储secondarynamenode的检查点映像文件。与namenode相同,这里的一系列目录也是为了冗余。

注意:如果不设置这些属性,HDFS的存储目录默认存放在hadoop的临时目录中(由core-site.xml文件中的 Hadoop.tmp.dir属性指定)。而如果清除了系统的临时目录,数据就会丢失。Hadoop.tmp.dir 属性的参考设置如下:

[tianyc@Route bin]$ cat ../conf/core-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

  <property>
    <name>fs.default.name</name>
    <value>hdfs://Route:9000</value>
  </property>
  <property>
    <name>Hadoop.tmp.dir</name>
    <value>/tmp/hadoop-tianyc</value>
  </property>
</configuration>

 3. mapred-site.xml

<configuration>

  <property>
    <name>mapred.job.tracker</name>
    <value>Route:9001</value>
    <final>true</final>
  </property>
  <property>
    <name>mapred.local.dir</name>
    <value>/home/tianyc/hadoop-1.0.4/dir_local/dir1,/home/tianyc/hadoop-1.0.4/dir_local/dir2</value>
  </property>
  <property>
    <name>mapred.system.dir</name>
    <value>/tmp/hadoop-tianyc/dir_system</value>
  </property>
  <property>
    <name>mapred.tasktracker.map.tasks.maximum</name>
    <value>2</value>
  </property>
  <property>
    <name>mapred.tasktracker.reduce.tasks.maximum</name>
    <value>2</value>
  </property>
  <property>
    <name>mapred.child.java.opts</name>
    <value>-Xmx200m</value>
  </property>
</configuration>

  • mapred.job.tracker:指定jobtracker节点。这里不是URL格式,而是“主机:端口”格式。
  • mapred.local.dir:临时本地文件的一系列目录,存储mapreduce作业执行过程中产生的中间数据和工作文件。由于这里也存储map任务的输出数据,数据量可能非常大,因此必须保证这里的容量足够大。这些目录最好分散到各个本地磁盘以提升I/O,通常会使用与datanode相同的磁盘和分区(但不同目录)。
  • mapred.system.dir:指定一个目录,来存储运行mapreduce任务的各个tasktracker的共享文件(例如作业JAR文件)。
  • mapred.tasktracker.map.tasks.maximum:最大map任务数。
  • mapred.tasktracker.reduce.tasks.maximum:最大reduce任务数。
  • mapred.child.java.opts:tasktracker中子JVM的有效内存大小。

转载地址:http://bzvml.baihongyu.com/

你可能感兴趣的文章
MySQL备份,恢复方案,mysqlbinlog,mysqldump,主从,主主复制
查看>>
python执行linux命令
查看>>
ssh配置文件详解
查看>>
docker run 与docker start的区别,为容器命名
查看>>
Kali 2.0使用SSH进行远程登录
查看>>
阿里CEO张勇首谈商业未来:大数据将成新能源
查看>>
shell基础(二)cut用法
查看>>
类的属性总结
查看>>
在64位Win7下为HP LaserJet 1012安装网络打印机驱动
查看>>
电子邮件地址策略
查看>>
如何快速安装Webmin(linux系统web管理配置工具)
查看>>
PHP带头大哥学习的三部曲!
查看>>
apache忽略文件后缀
查看>>
家电奥斯卡后的全球趋势
查看>>
puppet-笔记1
查看>>
.Net组件程序设计之线程、并发管理(二)
查看>>
java 的 &和&&的区别
查看>>
三个夭亡的硅谷新秀,这些初创公司犯的错值得借鉴
查看>>
linux下lvs搭建负载均衡集群
查看>>
19.Silverlight调用webservice上传多个文件
查看>>