大数据集群参数信息

hdfs-site.xml

hdfs-default.xml 官网地址

dfs.replication

  • hdfs 副本数
<property>
        <name>dfs.replication</name>
        <value>3</value>
</property>

dfs.blocksize

  • hdfs 存储块大小

根据最佳传输消耗理论,一次传输中寻址时间为总传输时间的1%为最佳状态。
一般机器磁盘寻址时间为10ms,一次写入数据总传输时间为10ms % 1% = 1000ms
一次写入数据最佳大小则为 1000ms * 磁盘写入速度
如果块太小,会降低NN的服务能力,在上传和读取一个文件时会带来额外的寻址时间消耗。
如果块太大,如果发生异常,需要重新传输,会造成网络IO消耗,而且不够灵活。
举例
如果磁盘的写入速度是100M/S, 块最佳大小为 1000ms * 100M/S = 100M, 可以设置dfs.blocksize=128M
如果磁盘的写入速度是300M/S, 块最佳大小为 1000ms * 300M/S = 300M, 可以设置dfs.blocksize=256M
如果磁盘的写入速度是500M/S, 块最佳大小为 1000ms * 500M/S = 500M, 可以设置dfs.blocksize=512M

<property>
        <name>dfs.blocksize</name>
        <value>134217728</value>
</property>

dfs.client.use.datanode.hostname

  • 客户端连接datanode时是否应该使用datanode主机名。
<property>
        <name>dfs.client.use.datanode.hostname</name>
        <value>false</value>
</property>

dfs.encrypt.data.transfer.algorithm

  • 这个值可以设置为“3des”或“rc4”。 如果没有设置任何内容,则使用系统上配置的JCE默认值(通常是3DES)。
  • 人们普遍认为3DES在密码学上更安全,但RC4要快得多。
  • 请注意,如果客户机和服务器都支持AES,那么这个加密算法将只用于最初传输AES的密钥。 (参见dfs.encrypt.data.transfer.cipher.suites)。
<property>
        <name>dfs.encrypt.data.transfer.algorithm</name>
        <value>rc4</value>
</property>

dfs.encrypt.data.transfer.cipher.key.bitlength

– 由dfsclient和datanode协商的加密密钥位长。 这个值可以设置为128、192或256。

<property>
        <name>dfs.encrypt.data.transfer.cipher.key.bitlength</name>
        <value>128</value>
</property>

dfs.namenode.acls.enabled

  • 设置为true,启用对HDFS acl (Access Control Lists)的支持。 缺省情况下,acl是关闭的。 禁用acl时,NameNode会拒绝所有与设置或获取acl相关的rpc。
<property>
        <name>dfs.namenode.acls.enabled</name>
        <value>true</value>
</property>

dfs.datanode.hdfs-blocks-metadata.enabled

  • Boolean,它使后端datanode端支持实验性的DistributedFileSystem# getfilevblockstoragellocations API。
<property>
        <name>dfs.datanode.hdfs-blocks-metadata.enabled</name>
        <value>true</value>
</property>

yarn-site.xml

yarn-default.xml 官网地址

yarn.acl.enable

  • acl启用
<property>
        <name>yarn.acl.enable</name>
        <value>true</value>
</property>

yarn.admin.acl

  • ACL的谁可以是YARN集群的admin。
<property>
        <name>yarn.admin.acl</name>
        <value>yarn,dr.who</value>
</property>

yarn.resourcemanager.ha.enabled

  • 启用RM高可用性。 当启用时,(1)RM默认以Standby模式启动,当提示切换到Active模式时。 (2) RM集成的节点列表在yarn.resourcemanager.ha中。 RM -ids(3)每个RM的id要么来自于yarn.resourcemanager.ha.id(如果yarn.resourcemanager.ha.id是显式指定的),要么可以通过匹配yarn.resourcemanager.address得到。 实际的物理地址来自配置模式{rpc-config}.{id}。
<property>
        <name>yarn.resourcemanager.ha.enabled</name>
        <value>true</value>
</property>

yarn.resourcemanager.ha.automatic-failover.enabled

  • 启用自动故障转移。 默认情况下,只有启用HA时才启用
<property>
        <name>yarn.resourcemanager.ha.automatic-failover.enabled</name>
        <value>true</value>
</property>

yarn.resourcemanager.ha.automatic-failover.embedded

  • 启用嵌入式自动故障转移。 默认情况下,只有启用HA时才启用。 嵌入式选举人依赖于RM状态存储来处理fencing,并且主要打算与ZKRMStateStore一起使用。
<property>
        <name>yarn.resourcemanager.ha.automatic-failover.embedded</name>
        <value>true</value>
</property>

yarn.resourcemanager.recovery.enabled

  • 使RM启动后恢复状态。 如果为真,则必须指定yarn.resourcemanager.store.class。
<property>
        <name>yarn.resourcemanager.recovery.enabled</name>
        <value>true</value>
</property>

yarn.client.failover-sleep-base-ms

  • 当启用HA时,将使用睡眠基础(以毫秒为单位)计算故障转移之间的指数延迟。 当设置时,它将覆盖yarn.resourcemanager.connect。 *设置。 未设置时,yarn.resourcemanager.connect.retry-interval。 用Ms代替。
<property>
        <name>yarn.client.failover-sleep-base-ms</name>
        <value>100</value>
</property>

yarn.client.failover-sleep-max-ms

  • 当启用HA时,将使用睡眠基础(以毫秒为单位)计算故障转移之间的指数延迟。 当设置时,它将覆盖yarn.resourcemanager.connect。 *设置。 未设置时,yarn.resourcemanager.connect.retry-interval。 用Ms代替。
<property>
        <name>yarn.client.failover-sleep-max-ms</name>
        <value>2000</value>
</property>

yarn.resourcemanager.client.thread-count

  • 用于处理应用程序管理器请求的线程数
<property>
        <name>yarn.resourcemanager.client.thread-count</name>
        <value>50</value>
</property>

yarn.resourcemanager.scheduler.client.thread-count

  • 处理调度程序接口的线程数。
<property>
        <name>yarn.resourcemanager.scheduler.client.thread.count</name>
        <value>50</value>
</property>

yarn.resourcemanager.admin.client.thread-count

  • 用于处理RM管理接口的线程数。
<property>
        <name>yarn.resourcemanager.admin.client.thread-count</name>
        <value>1</value>
</property>

yarn.scheduler.minimum-allocation-mb

  • RM中每个容器请求的最小分配,以mb为单位。 低于此值的内存请求将不生效,指定的值将被分配为最小值。
<property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>4094</value>
</property>

yarn.scheduler.minimum-allocation-mb

  • RM中每个容器请求的最小分配,以mb为单位。 低于此值的内存请求将不生效,指定的值将被分配为最小值。
<property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>4094</value>
</property>

yarn.scheduler.maximum-allocation-mb

  • RM中每个容器请求的最大分配,以mb为单位。 高于此值的内存请求将不起作用,并将被限制到此值。
<property>
        <name>yarn.scheduler.increment-alocation-mb</name>
        <value>276480</value>
</property>

yarn.scheduler.minimum-allocation-vcores

  • 按虚拟CPU内核计算,RM中每个容器请求的最小分配。 低于此值的请求将不生效,指定的值将被分配为最小值。
<property>
        <name>yarn.scheduler.minimum-allocation-vcores</name>
        <value>1</value>
</property>

yarn.scheduler.maximum-allocation-vcores

  • RM中每个容器请求的最大分配(以虚拟CPU内核为单位)。 高于此值的请求将不起作用,并将被限制到此值。
<property>
        <name>yarn.scheduler.maximum-allocation-vcores</name>
        <value>67</value>
</property>

yarn.am.liveness-monitor.expiry-interval-ms

  • 应用程序主报告的过期时间间隔。
<property>
        <name>yarn.am.liveness-monitor.expiry-interval-ms</name>
        <value>600000</value>
</property>

yarn.resourcemanager.resource-tracker.client.thread-count

  • 处理资源跟踪器调用的线程数。
<property>
        <name>yarn.resourcemanager.resource-tracker.client.thread-count</name>
        <value>50</value>
</property>

yarn.resourcemanager.max-completed-applications

  • RM保留的完成的应用程序的最大数量。
<property>
        <name>yarn.resourcemanager.max-completed-applications</name>
        <value>10000</value>
</property>

mapred-site.xml

mapred-default.xml 官网地址

mapreduce.job.split.metainfo.maxsize

  • 分割元信息文件允许的最大大小。 JobTracker不会尝试读取大于配置值的分割元信息文件。 如果设置为-1,则没有限制。
<property>
        <name>mapreduce.job.split.metainfo.maxsize</name>
        <value>10000000</value>
</property>

mapreduce.job.counters.max/mapreduce.job.counters.limit

  • 每个作业允许的用户计数器数量的限制。
<property>
        <name>mapreduce.job.counters.max/mapreduce.job.counters.limit</name>
        <value>120</value>
</property>

mapreduce.job.counters.groups.max

  • 每个作业允许的用户计数器数量的限制。
<property>
        <name>mapreduce.job.counters.groups.max</name>
        <value>50</value>
</property>

mapreduce.output.fileoutputformat.compress

  • 作业输出是否应该被压缩?
<property>
        <name>mapreduce.output.fileoutputformat.compress</name>
        <value>false</value>
</property>

mapreduce.output.fileoutputformat.compress.type

  • 如果作业输出被压缩为SequenceFiles,它们应该如何被压缩? 应该是NONE、RECORD或BLOCK中的一个。
<property>
        <name>mapreduce.output.fileoutputformat.compress.type</name>
        <value>BLOCK</value>
</property>

mapreduce.map.output.compress

  • 映射的输出在通过网络发送之前应该被压缩。 使用SequenceFile压缩。
<property>
        <name>mapreduce.map.output.compress</name>
        <value>true</value>
</property>

mapreduce.task.io.sort.factor

  • 在对文件进行排序时,一次合并的流的数量。 这决定了打开的文件句柄的数量。
<property>
        <name>mapreduce.task.io.sort.factor</name>
        <value>64</value>
</property>

mapreduce.map.sort.spill.percent

  • 序列化缓冲区中的软限制。 一旦到达,线程将开始将内容溢出到后台的磁盘。 请注意,当溢出已经在进行时,如果超过此阈值,收集将不会阻塞,因此当将其设置为小于0.5时,溢出可能会大于此阈值
<property>
        <name>mapreduce.map.sort.spill.percent</name>
        <value>0.8</value>
</property>

mapreduce.reduce.shuffle.parallelcopies

  • 在复制(洗牌)阶段,reduce运行的默认并行传输数量。
<property>
        <name>mapreduce.reduce.shuffle.parallelcopies</name>
        <value>10</value>
</property>

mapreduce.task.timeout

  • 如果一个任务既不读取输入,也不写入输出,也不更新其状态字符串,则该任务结束前的毫秒数。 值为0时禁用超时。
<property>
        <name>mapreduce.task.timeout</name>
        <value>600000</value>
</property>

mapreduce.client.submit.file.replication

  • 已提交作业文件的复制级别。 这应该是节点数的平方根。
<property>
        <name>mapreduce.client.submit.file.replication</name>
        <value>3</value>
</property>

mapreduce.job.reduces

  • 每个作业的默认reduce任务数。 通常设置为集群减少容量的99%,这样,如果一个节点失败,减少仍然可以在单个波中执行。 当mapreduce.jobtracker.address为“本地”时忽略。
<property>
        <name>mapreduce.job.reduces</name>
        <value>98</value>
</property>

mapreduce.task.io.sort.mb

  • 在对文件进行排序时使用的缓冲区内存总量,以兆字节为单位。 默认情况下,给每个合并流1MB,这应该会最小化查找。
<property>
        <name>mapreduce.task.io.sort.mb</name>
        <value>256</value>
</property>

mapreduce.map.speculative

  • 如果为true,则某些map任务的多个实例可能会并行执行。
<property>
        <name>mapreduce.map.speculative</name>
        <value>false</value>
</property>

mapreduce.reduce.speculative

  • 如果为true,则某些reduce任务的多个实例可能会并行执行。
<property>
        <name>mapreduce.reduce.speculative</name>
        <value>false</value>
</property>

mapreduce.job.reduce.slowstart.completedmaps

  • 作业中在减少之前应该完成的映射数量的一部分被安排到作业中。
<property>
        <name>mapreduce.job.reduce.slowstart.completedmaps</name>
        <value>0.8</value>
</property>

mapreduce.am.max-attempts

  • 应用程序尝试的最大次数。 这是一个特定于应用程序的设置。 它不应该大于resourcemanager设置的全局编号。 否则,它将被覆盖。 默认的数字被设置为2,允许至少一个重试AM。
<property>
        <name>mapreduce.am.max-attempts</name>
        <value>2</value>
</property>

yarn.app.mapreduce.am.resource.mb

  • MR AppMaster需要的内存量。
<property>
        <name>yarn.app.mapreduce.am.resource.mb</name>
        <value>1024</value>
</property>

yarn.app.mapreduce.am.resource.cpu-vcores

  • MR AppMaster需要的虚拟CPU核数。
<property>
        <name>yarn.app.mapreduce.am.resource.cpu-vcores</name>
        <value>1</value>
</property>

mapreduce.job.ubertask.enable

  • 是否启用小作业“ubertask”优化,该优化在单个JVM中依次运行“足够小”的作业。 “Small”由以下maxmaps、maxreduce和maxbytes设置定义。 注意,应用程序主程序的配置也会影响“小”定义——yarn.app.mapreduce.am.resource.mb必须大于mapreduce.map.memory.mb和mapreduce.reduce.memory。 mb, yarn.app.mapreduce.am.resource。 Cpu-vcores必须大于mapreduce.map.cpu.vcores和mapreduce.reduce.cpu.vcores才能启用ubertask。 用户可能会重写这个值。
<property>
        <name>mapreduce.job.ubertask.enable</name>
        <value>true</value>
</property>

mapreduce.map.java.opts

<property>
        <name>mapreduce.map.java.opts</name>
        <value>-Djava.net.preferIPv4Stack=true</value>
</property>

mapreduce.map.memory.mb

  • 为每个映射任务向调度程序请求的内存量。
<property>
        <name>mapreduce.map.java.opts</name>
        <value>0</value>
</property>

mapreduce.map.cpu.vcores

  • 每个map任务所需的虚拟核数。
<property>
        <name>mapreduce.map.cpu.vcores</name>
        <value>1</value>
</property>

mapreduce.reduce.memory.mb

  • 为每个reduce任务从调度程序请求的内存量。
<property>
        <name>mapreduce.reduce.memory.mb</name>
        <value>0</value>
</property>

mapreduce.reduce.cpu.vcores

  • 每个reduce任务所需的虚拟核数。
<property>
        <name>mapreduce.reduce.cpu.vcores</name>
        <value>1</value>
</property>

mapreduce.reduce.cpu.vcores

  • 每个reduce任务所需的虚拟核数。
<property>
        <name>mapreduce.reduce.cpu.vcores</name>
        <value>1</value>
</property>

mapreduce.job.heap.memory-mb.ratio

<property>
        <name>mapreduce.job.heap.memory-mb.ratio</name>
        <value>0.8</value>
</property>

mapreduce.jobhistory.jhist.format

<property>
        <name>mapreduce.jobhistory.jhist.format</name>
        <value>binary</value>
</property>

mapreduce.cluster.acls.enabled

  • 指定是否应该检查acl,以确定用户是否具有执行各种队列和作业级别操作的授权。 缺省情况下,acl是关闭的。 如果启用,访问控制检查由JobTracker和TaskTracker队列操作,比如当请求是由用户提交的工作队列和杀死一个工作队列和工作操作,比如查看job-details(见mapreduce.job.acl-view-job)或修改工作(见mapreduce.job.acl-modify-job)使用Map / Reduce api, rpc或通过控制台和web用户界面。 为了启用这个标志(mapreduce.cluster.acls.enabled),需要在JobTracker节点和所有TaskTracker节点的mapred-site.xml中将其设置为true。
<property>
        <name>mapreduce.cluster.acls.enabled</name>
        <value>false</value>
</property>

hive-site.xml

hive-default.xml 官网地址

hive.warehouse.subdir.inherit.perms

  • 如果表目录应该继承仓库或数据库目录的权限,而不是使用从dfs umask派生的权限创建,则将此设置为true。 这个配置属性替换了配置属性#hive.files.umask。 (这个配置属性在3.0.0版本中被删除,更多细节在Hive的Permission Inheritance中)
<property>
        <name>hive.warehouse.subdir.inherit.perms</name>
        <value>true</value>
</property>

hive.auto.convert.join

  • Hive是否根据输入文件大小进行common join到mapjoin的优化。 (注意,hive-default.xml。 在Hive 0.11.0到0.13.1中,template错误地将默认值设为false。)
<property>
        <name>hive.auto.convert.join</name>
        <value>true</value>
</property>

hive.auto.convert.join.noconditionaltask.size

  • 如果hive.auto.convert.join.noconditionaltask为off,此参数不生效。 但是,如果开启,且n-way连接的n-1个表/分区的大小总和小于此大小,则连接将直接转换为mapjoin(没有条件任务)。 默认为10MB。
<property>
        <name>hive.auto.convert.join.noconditionaltask.size</name>
        <value>20971520</value>
</property>

hive.smbjoin.cache.rows

  • 每个排序-合并-桶连接的表中有多少行具有相同的键值应该缓存在内存中。
<property>
        <name>hive.smbjoin.cache.rows</name>
        <value>10000</value>
</property>

mapred.reduce.tasks

  • 每个作业的默认reduce任务数。 通常设置为接近可用主机数量的最优值。 当mapred.job.tracker为“本地”时忽略。 Hadoop默认将其设置为1,而Hive使用-1作为其默认值。 通过将此属性设置为-1,Hive将自动计算出应该是多少减少器。
<property>
        <name>mapred.reduce.tasks</name>
        <value>-1</value>
</property>

hive.exec.reducers.bytes.per.reducer

  • Default Value: 1,000,000,000 prior to Hive 0.14.0; 256 MB (256,000,000) in Hive 0.14.0 and later
  • Added In: Hive 0.2.0; default changed in 0.14.0 with HIVE-7158 (and HIVE-7917)
  • 大小/减速器。 Hive 0.14.0及更早版本的默认值为1gb,也就是说,如果输入大小为10gb,那么将使用10个reducer。 在Hive 0.14.0及以后版本中,默认为256mb,也就是说,如果输入大小为1gb,则会使用4个reducer。
<property>
        <name>hive.exec.reducers.bytes.per.reducers</name>
        <value>6708864</value>
</property>

hive.exec.copyfile.maxsize

  • Hive在目录间进行HDFS拷贝时使用的最大文件大小(以字节为单位)。 对于较大的文件,将使用分布式副本(distcp),这样可以更快地进行复制。
<property>
        <name>hive.exec.copyfile.maxsize</name>
        <value>33554432</value>
</property>

hive.exec.reducers.max

  • 将使用的最大减速器数量。 如果在配置属性中指定的一个,配置属性#mapred.reduce。 当tasks为负数时,Hive会将此值作为最大数量的reducers自动确定的数量。
<property>
        <name>hive.exec.reducers.max</name>
        <value>1099</value>
</property>

hive.compute.query.using.stats

  • 当设置为true时,Hive将纯粹使用存储在元存储中的统计信息回答一些查询,如min、max和count(1)。 对于基本统计信息收集,设置配置属性configuration Properties#hive.stats。 autogather为true。 对于更高级的统计信息收集,运行ANALYZE TABLE查询。
<property>
        <name>hive.compute.query.using.stats</name>
        <value>false</value>
</property>

hive.merge.mapfiles

  • 在仅映射作业结束时合并小文件。
<property>
        <name>hive.merge.mapfiles</name>
        <value>true</value>
</property>

hive.merge.mapredfiles

  • 在map-reduce作业结束时合并小文件。
<property>
        <name>hive.merge.mapredfiles</name>
        <value>false</value>
</property>

hive.cbo.enable

  • 当设置为真时,将启用基于成本的优化器,该优化器使用方解石框架。
<property>
        <name>hive.cbo.enable</name>
        <value>false</value>
</property>

hive.fetch.task.conversion

  • 一些选择查询可以转换为单个FETCH任务,从而最小化延迟。 当前的查询应该是单一来源的,没有任何子查询,不应该有任何聚合或差异(这导致RS - ReduceSinkOperator,需要MapReduce任务),横向视图和连接。

  • 支持的值包括none、minimum和more。

0. none:  Disable hive.fetch.task.conversion (value added in Hive 0.14.0 with HIVE-8389)
1. minimal:  SELECT *, FILTER on partition columns (WHERE and HAVING clauses), LIMIT only
2. more:  SELECT, FILTER, LIMIT only (including TABLESAMPLE, virtual columns)

"more" can take any kind of expressions in the SELECT clause, including UDFs.
<property>
        <name>hive.fetch.task.conversion</name>
        <value>minimal</value>
</property>

hive.fetch.task.conversion.threshold

  • 应用hive.fetch.task.conversion的输入阈值(以字节为单位)。 如果目标表是本机的,则通过文件长度的总和计算输入长度。 如果它不是本地的,该表的存储处理程序可以选择实现org.apache.hadoop.hive.ql.metadata.InputEstimator接口。 负阈值意味着hive.fetch.task.conversion应用时没有任何输入长度阈值。
<property>
        <name>hive.fetch.task.conversion.threshold</name>
        <value>268435456</value>
</property>

hive.limit.pushdown.memory.usage

  • 在RS运算符中用于进行top K选择的哈希的最大内存。 默认值“-1”表示不限制。
<property>
        <name>hive.limit.pushdown.memory.usage</name>
        <value>0.1</value>
</property>

hive.merge.sparkfiles

  • 在Spark DAG转换结束时合并小文件。
<property>
        <name>hive.merge.sparkfiles</name>
        <value>true</value>
</property>

hive.merge.smallfiles.avgsize

  • 当作业的平均输出文件大小小于该值时,Hive会启动一个额外的map-reduce作业,将输出文件合并为更大的文件。 如果hive.merge.mapfiles为true,则只对map-reduce作业执行此操作,如果hive.merge.mapredfiles为true,则对map-reduce作业执行此操作。
<property>
        <name>hive.merge.smallfiles.avgsize</name>
        <value>16777216</value>
</property>

hive.merge.size.per.task

  • 作业结束时合并文件的大小。
<property>
        <name>hive.merge.size.per.task</name>
        <value>268435456</value>
</property>

hive.optimize.bucketingsorting

  • 如果配置属性# hive.enforce。 桶或配置属性#hive.enforce。 排序是真的,不要为表单的查询创建一个强制桶装/排序的减速器:
    insert overwrite table T2 * from T1;
    将T1和T2按相同的键放入相同数量的桶中。 (在Hive 2.0.0及以后版本中,该参数不依赖于配置属性# Hive .enforce。 bucket或配置属性#hive.enforce.sorting.)
<property>
        <name>hive.optmize.bucketmapjoin.sortedmerge</name>
        <value>false</value>
</property>

hive.optimize.reducededuplication

  • 如果数据已经聚集在需要再次使用的相同键上,则删除额外的map-reduce作业。 应该总是将其设置为true。 因为它是一个新特性,所以它是可配置的。
<property>
        <name>hive.optimize.reducededuplication</name>
        <value>true</value>
</property>

hive.optimize.reducededuplication.min.reducer

  • 减少重复数据删除合并两个RSs(减少下沉运营商)通过移动键/部分/ reducer-num孩子RS父RS。这意味着如果reducer-num孩子的RS是固定的(命令或强制用桶装),它可以使非常缓慢,单先生还原剂的优化将被禁用,如果数量小于指定值。
<property>
        <name>hive.optimize.reducededuplication.min.reducer</name>
        <value>4</value>
</property>

hive.map.aggr

  • Hive Group是否通过查询使用map-side aggregation。
<property>
        <name>hive.map.aggr</name>
        <value>true</value>
</property>

hive.map.aggr.hash.percentmemory

  • 映射端组聚合散列表使用的总内存的一部分。
<property>
        <name>hive.map.aggr.hash.percentmemory</name>
        <value>0.5</value>
</property>

hive.execution.engine

  • 择执行引擎。 选项有:mr (Map Reduce,默认),tez (tez执行,仅适用于Hadoop 2),或spark (spark执行,适用于Hive 1.1.0以后)。

  • 虽然由于历史原因,mr仍然是默认引擎,但它本身就是一个历史引擎,在Hive 2行(Hive -12300)中已弃用。 它可能在没有进一步警告的情况下被移除。

  • 有关更多信息,请参阅Tez上的Hive和Spark上的Hive,并参阅下面的Tez部分和Spark部分了解它们的配置属性。

<property>
        <name>hive.execution.engine</name>
        <value>spark</value>
</property>

hive.support.concurrency

  • Hive是否支持并发。 为了让默认的Hive锁管理器支持读写锁,必须启动并运行ZooKeeper实例。

  • 设置为true以支持INSERT… value、UPDATE和DELETE事务(Hive 0.14.0及更高版本)。 要获得开启Hive事务所需的完整参数列表,请参见配置属性# Hive .txn.manager。

<property>
        <name>hive.support.concurrency</name>
        <value>true</value>
</property>

server2 参数

hive.server2.logging.operation.enabled

  • 当为true时,HiveServer2将保存操作日志并使其可供客户端使用。
<property>
        <name>hive.server2.logging.opration.enabled</name>
        <value>true</value>
</property>

hive.server2.authentication

  • Client authentication types.

NONE: no authentication check – plain SASL transport
LDAP: LDAP/AD based authentication
KERBEROS: Kerberos/GSSAPI authentication
CUSTOM: Custom authentication provider (use with property Configuration Properties#hive.server2.custom.authentication.class)
PAM: Pluggable authentication module (added in Hive 0.13.0 with HIVE-6466)
NOSASL: Raw transport (added in Hive 0.13.0)

<property>
        <name>hive.server2.authentication</name>
        <value>LDAP</value>
</property>

spark 参数

hive on spark

spark.driver.memory

<property>
        <name>spark.driver.memory</name>
        <value>11596411699b</value>
</property>

spark.executor.cores

<property>
        <name>spark.executor.cores</name>
        <value>6</value>
</property>

spark.yarn.driver.memoryOverhead

<property>
        <name>spark.yarn.driver.memoryOverhead</name>
        <value>1228m</value>
</property>

spark.yarn.executor.memoryOverhead

<property>
        <name>spark.yarn.executor.memoryOverhead</name>
        <value>2151m</value>
</property>

spark.dynamicAllocation.enabled

<property>
        <name>spark.dynamicAllocation.enabled</name>
        <value>true</value>
</property>

spark.dynamicAllocation.initialExecutors

<property>
        <name>spark.dynamicAllocation.initialExecutors</name>
        <value>1</value>
</property>

spark.dynamicAllocation.minExecutors

<property>
        <name>spark.dynamicAllocation.minExecutors</name>
        <value>1</value>
</property>

spark.dynamicAllocation.maxExecutors

<property>
        <name>spark.dynamicAllocation.maxExecutors</name>
        <value>2147483647</value>
</property>

spark.shuffle.service.enabled

<property>
        <name>spark.shuffle.service.enabled</name>
        <value>true</value>
</property>

metastore 参数

hive.metastore.client.socket.timeout

  • MetaStore客户端套接字超时(秒)。
<property>
        <name>hive.metastore.client.socket.timeout</name>
        <value>300</value>
</property>

hive.metastore.execute.setugi

  • 在不安全模式下,true将导致元存储使用客户机报告的用户和组权限执行DFS操作。 注意,必须在客户端和服务器端同时设置此属性。 进一步注意,这是最好的努力。 如果客户端将其设置为true,而服务器将其设置为false,则客户端设置将被忽略。
<property>
        <name>hive.metastore.execute.setugi</name>
        <value>true</value>
</property>

hive.metastore.execute.setugi

  • 在不安全模式下,true将导致元存储使用客户机报告的用户和组权限执行DFS操作。 注意,必须在客户端和服务器端同时设置此属性。 进一步注意,这是最好的努力。 如果客户端将其设置为true,而服务器将其设置为false,则客户端设置将被忽略。
<property>
        <name>hive.metastore.execute.setugi</name>
        <value>true</value>
</property>

vectorized 参数

hive.vectorized.groupby.checkinterval

  • 在重新计算平均条目大小之前添加到GROUP BY聚合散列的条目数。
<property>
        <name>hive.vectorized.groupby.checkinterval</name>
        <value>4096</value>
</property>

hive.vectorized.execution.enabled

  • 应该将此标志设置为true以启用向量化的查询执行模式。 默认值为false。
<property>
        <name>hive.vectorized.execution.enabled</name>
        <value>true</value>
</property>

hive.vectorized.execution.reduce.enabled

  • 应该将此标志设置为true,以启用减少端查询执行的向reduce-side。 默认值为true。
<property>
        <name>hive.vectorized.execution.reduce.enabled</name>
        <value>true</value>
</property>

hive.vectorized.use.vectorized.input.format

  • 这个标志应该设置为true,以允许Hive利用支持矢量化的输入格式。 默认值为true。
<property>
        <name>hive.vectorized.use.vectorized.input.format</name>
        <value>true</value>
</property>

hive.vectorized.use.vector.serde.deserialize

  • 应该将此标志设置为true以启用使用vector反序列化向量化行。 默认值为false。
<property>
        <name>hive.vectorized.use.vector.serde.deserialize</name>
        <value>false</value>
</property>

hive.vectorized.input.format.excludes

  • 这个标志应该用来提供一个逗号分隔的完全限定类名列表,以使用矢量化文件inputformat从矢量化执行中排除某些fileinputformat。 请注意,根据配置属性#hive.vectorized.use.vector.serde.deserialize或配置属性#hive.vectorized.use.row.serde.deserialize是否启用,该输入格式仍然可能发生向量化执行。
<property>
        <name>hive.vectorized.input.format.excludes</name>
        <value>org.apache.hadoop.hive.ql.io.parquet.MapredparquetInputFormat</value>
</property>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值