Hadoop、Hive 参数说明

来源:互联网 发布:药品零售软件 编辑:程序博客网 时间:2024/05/18 03:09

最近在用破机器跑mapreduce任务,部署的是社区版hadoop,参数都要手动调整。虽然hadoop已经火了很久了,但是网上关于参数的介绍基本都处于’语焉不详’的状态,大部分还都是无责任转载,哪个版本都有。

这个帖子记录一下最近调参数对mapreduce任务的影响,结合hadoop官方文档,尽量对涉及到的参数有比较正确详细的解释。
这篇文章随着研究的深入些,随时更新

Hadoop参数

hadoop-env.sh

HADOOP_PID_DIR

保存hadoop的pid的文件路径,默认设置为系统的临时目录,定期清空。不修改的话,用stop-hdfs.sh或者stop-yarn.sh的时候可能会出现找不到pid的情况。

core-site.xml

**fs.defaultFS

默认的文件系统,很常用的参数,不多说了

**

hdfs-site.xml

yarn-site.xml

mapreduce-site.xml

mapreduce.map.java.opts

这个参数很重要。如果遇到执行map任务的时候发生java heap space问题任务被杀掉,但是查看log发现申请的内存明明没有用满的情况,很可能是这个参数的原因。我就遇到了上面这个问题,无论修改其它哪个内存配置都不能解决,最后把这个参数设置为-Xmx1024m就ok了。他可以设置的比mapreduce.map.memory.mb还要大,甚至设置的比物理可用内存还要大,此时会使用虚拟内存。但是设置的超过可用虚拟内存大小的话,可能会因为申请了超过门限的内存而被yarn干掉。

–mapreduce.reduce.java.opts

类似mapreduce.reduce.java.opts。

Hive参数

综合

hive需要hadoop的配置文件位置,这个需要在hive的conf/hive-env.sh中设置

export HADOOP_HOME=.....

hive中的设置可以通过set 参数名来查看。
比如

0: jdbc:hive2://localhost:10000> set hive.exec.compress.output;+----------------------------------+--+|               set                |+----------------------------------+--+| hive.exec.compress.output=false  |+----------------------------------+--+1 row selected (0.009 seconds)

但是,使用hadoop的配置文件中的设置,即在hive中未对hadoop中的配置进行修改的参数,用这条命令是不会有结果的。比如已经在mapreduce-site.xml中对mapreduce.map.java.opts设置为-Xmx1024m,但是在hive中用set命令查看的结果为:

0: jdbc:hive2://localhost:10000> set mapreduce.map.java.opts;+---------------------------------------+--+|                  set                  |+---------------------------------------+--+| mapreduce.map.java.opts is undefined  |+---------------------------------------+--+1 row selected (0.008 seconds)

压缩相关

–hive.exec.compress.output

控制hive的结果是否压缩,默认为false。这个参数需要结合其他的参数一起使用,比如avro.output.codec,但是Parquet表的压缩貌似不受它的影响

–avro.output.codec

设置avro输出文件的压缩格式,内置的压缩格式包括了snappy和bz2,这个选项需要hive.exec.compress.output开启才会生效

–parquet.compression

控制写parquet文件时的压缩格式,这个参数貌似不受hive.exec.compress.output=false的影响,可以设置为snappy,gzip中的一种。虽然github上说还可以设置成none和lzo,但是貌似hive里不能直接这么搞

–parquet.block.size

设置parquet的文件块大小。

0 0
原创粉丝点击