前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >0718-6.3.0-CDH6.3的新功能

0718-6.3.0-CDH6.3的新功能

作者头像
Fayson
发布2019-10-25 17:28:27
2.2K1
发布2019-10-25 17:28:27
举报
文章被收录于专栏:Hadoop实操

CM/CDH6.3及更高版本支持OpenJDK11

你现在可以在Cloudera Enterprise 6.3中使用OpenJDK 11,在集群中安装OpenJDK 11时,默认使用G1GC为CDH大多数服务作为垃圾回收机制,这可能需要进行调优以避免内存过量使用。

OPSAPS-50993, OPSAPS-49390, OPSAPS-51643

Apache Hadoop

2.1 YARN

1.YARN Distributed Shell with File Localization

YARN distributed shell是用于YARN功能测试的工具。文件本地化功能使您可以远程将命令行中定义的文件本地化。

2.公平调度的基于队列的最大容器分配限制

yarn.scheduler.maximum-allocation-mb属性使你可以在调度程序级别限制容器的整体大小。maxContainerAllocation属性设置队列级别的最大资源,以“ X mb,Y vcores”或“ vcores = X,memory-mb = Y”的形式表示。如果为某个队列指定了该配置,它会覆盖调度层面全局的配置,如果不设置,则默认使用调度层面的全局配置。

Apache Impala

3.1 Automatic Invalidate/Refresh Metadata

启用自动元数据管理后,很多情况下你都不需要执行INVALIDATE/REFRESH。在CDH 6.3中,Hive Metastore中的以下附加事件可以触发元数据的自动INVALIDATE/REFRESH:

  • 通过Impala或者Spark插入表或分区

这是CDH6.3的预览功能,默认是禁用的。

3.2 Data Cache for Remote Reads

为了提高多集群HDFS环境以及对象存储环境的性能,Impala现在会将远程存储(例如S3,ABFS,ADLS)的数据缓存到本地存储。

这是CDH6.3的预览功能,默认是禁用的。

数据缓存通过--data_cache启动标志启用。

3.3 Query Profile

以下信息已添加到Query Profile输出中,以更好地监控和诊断查询性能。

  • Network I/O throughput
  • System disk I/O throughput

3.4 支持与Hive Metastore集成的Kudu

在CDH 6.3中,Kudu与Hive Metastore(HMS)集成在一起,你可以从Impala中创建,更新,删除和查询与HMS集成的Kudu中的表。

3.5 支持Parquet文件的zstd压缩

Zstandard(Zstd)是一种实时压缩算法,可在速度和压缩比之间进行权衡。支持从1到22的压缩级别。级别越低,以压缩率为代价的速度越快。

Apache Kafka

4.1 Rebase on Apache Kafka 2.2.1

CDH6.3.0中的Kafka是基于Apache Kafka 2.2.1。

4.2 Kafka Topic工具可以直接连接到Broker

kafka-topics命令行工具现在可以使用--bootstrap-server选项而不是zookeeper直接连接到broker。旧的--zookeeper选项现在仍然可用。

Apache Kudu

CDH6.3.0中的Kudu为1.10,主要增加的新功能如下:

1.Kudu支持使用Spark实现表的全量和增量备份,同时也支持使用Spark实现表全量和增量还原。

2.Kudu现在可以将内部的catalog与Hive Metastore进行同步,通过当你在Kudu中创建,删除,和更改表时自动更新Hive Metastore中的表来实现。

3.Kudu可以与Sentry集成支持原生,细粒度的授权。你现在可以为Kudu表和列定义访问控制策略,同时也支持为保存在Hive中的Kudu表定义访问策略。

4.Kudu的web UI现在支持SPNEGO,这是一种通过http header传递协商来用Kerberos保护http请求的协议。要使用SPNEGO启用授权,请设置--webserver_require_spnego命令行标志。

5.列注释现在可以存储在Kudu表中,并且可以使用AlterTable API进行更新。

6.Java scan token builder现在可以为每个tablet创建多个token。要使用此功能,请调用setSplitSizeBytes()以指定每个token应扫描的数据字节数。Kudu与Spark的集成也提供了相同的API,该API可用于在每个扫描的tablet上产生多个Spark任务。

7.Apache Kudu现在具有实验性的Kubernetes StatefulSet manifest和Helm图表,可用于使用Kubernetes定义和部署Kudu集群。

8.Kudu CLI现在具有基本的,基于YAML的配置文件支持,可以通过集群名字提供集群连接信息,而不用键入以逗号分隔的Master地址。

9.kudu perf table_scan命令可扫描表并显示表的行数以及运行扫描所花费的时间。

10.kudu table copy命令将数据从一个表复制到同一集群内或跨集群的另一张表。请注意,此实现利用单个客户端,因此,它可能不适用于大型表。

11.现在可以逐表配置tablet历史记录保留时间。

Kudu1.10主要的优化和改进如下:

1.尚未flush的Kudu数据变化如UPDATE, DELETE和re-INSERT的性能已得到极大优化。

2.基本列的谓词性能已优化。

3.IS NULL和IS NOT NULL谓词性能已得到优化。

4.对于具有大量分区的表,从master获取tablet位置的性能已得到优化。这可以提高短期运行的Spark或Impala查询的性能,同时也可以提高通过客户端短期连接上的应用程序的性能。

5.tableExists() (Java)和TableExists() (C++)API的性能更高。

6.容错扫描性能更高,并且占用的内存少得多。

7.kudu cluster ksck现在并行发送更多请求。如果你的集群中拥有很多表,运行该命令时,或者当运行该命令的客户端与集群内的节点高延迟时,这可以提高速度。

8.Kudu的块管理器现在可以根据需要删除用完的块容器,而不仅仅只是在服务启动时删除,这样可以减少服务的启动时间。

9.DNS解析现在由Kudu Master,Tablet Server和Kudu C++客户端缓存。默认情况下,缓存中已解析的DNS条目的生存时间(TTL)为15秒。

10.在Kudu 1.10.0或更高版本中创建的表将在Web UI中显示其创建时间以及上次更改时间。

11.Kudu CLI和C ++客户端现在支持使用“ KUDU_USER_NAME”环境变量来覆盖本地用户名。这使你可以使用与客户端机器上的本地Unix用户不同的身份对Kudu集群进行操作。请注意,这对安全集群没有影响,在安全集群中,客户端身份由Kerberos身份认证确定。

12.Kudu C ++客户端执行INSERT和UPSERT操作时,在对表的schema约束时执行更严格的验证。这有助于在将数据发送到tablet server前发生schema冲突。

13.Java客户端中的KuduScanner参数现在可以迭代。此外,KuduScannerIterator会自动使scanner保持活着,以便scanner在进行迭代时不会超时。

14.Java客户端添加了KuduPartitioner API。KuduPartitioner API允许客户端确定行所在的分区,而无需实际写入该行。比如在Spark中使用KuduPartitioner,它会选择性地对数据进行重新分区和预排序,然后再写入Kudu。

15.PartialRow和RowResult Java API具有接受和返回Java对象的新方法。当你不关心自动装箱并且现有的类型处理逻辑基于Java类型时,这些方法很有用。

16.现在,当日志级别为INFO或更高级别时,Kudu Java客户端将记录RPC trace摘要,而不是完整的RPC trace。这样可以减少日志噪音,并以更紧凑的格式显示RPC问题。

17.Kudu服务现在会在Web UI中显示启动各个服务的时间。

18./metrics Web UI端点现在支持按实体类型,实体ID,实体属性和指标名称过滤数据。当tablet server中有大量tablet时,这可用于更有效地收集重要指标。

19.你现在可以在命令行中为Kudu rebalancer使用--ignored_tservers参数,在确定重新平衡集群是否安全时,该参数可用于忽略特定tablet server的运行状况(比如它们关闭了)。

20.kudu master list命令现在显示集群中每个主节点的Raft共识角色(LEADER或FOLLOWER)。

21.kudu table scan命令不再交错输出。它投影所有列,而无需手动列出列名。

22.kudu perf loadgen命令现在支持创建空表。--num_rows_per_thread标志的特殊值0的语义已更改。现在,值0表示不应生成任何行,而值-1表示应不限制所生成的行数。

23.从源代码构建Kudu之后,运行make install命令现在会将Kudu二进制文件安装到适当的位置。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
专用宿主机
专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档