Kudu1.7有什么新功能

发布时间:2021-07-29 21:18:08 作者:chen
来源:亿速云 阅读:148

本篇内容介绍了“Kudu1.7有什么新功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!


1.Kudu1.7的新功能


1.Kudu现在开始支持decimal的字段类型。

2.因为服务器或者磁盘故障导致tablets丢失副本,改进Kudu用于自动修复的策略。新的副本重新复制的策略是首先添加一个替换的tablet副本,然后再移除失败的副本。而之前是先移除失败的副本,然后再添加替换的tablet副本。在一个tablet server发生故障并在5分钟以内又快速返回的情况下,新的副本管理方案允许tablets的快速恢复。新方案还在频繁发生服务器故障的集群上提供了更好的整体稳定性。

3.kudu fs update_dirs工具现在支持删除目录。除非指定了--force参数,Kudu不允许删除配置存储tablet数据的目录。如果指定了--force参数,则配置为使用该目录的所有tablet副本在启动时将失败,并在其他地方开始复制,前提是其他地方有多数的副本。

4.用户可以使用新的--fs_metadata_dir命令指定放置特定于tablet元数据的目录。建议将其放置在高性能低延迟的设备上,比如SSD。如果未指定,则元数据将会放在--fs_wal_dir指定的目录中,或者放在--fs_data_dirs的第一个条目指定的目录中(如果早期部署中已存在元数据)。Kudu不会根据此配置自动移动现有元数据。

5.READ_YOUR_WRITES是一种新的扫描读取模式。 在C++,Java和Python客户端中创建一个新的scanner时,你可以指定READ_YOUR_WRITES。如果使用这种模式,客户端在执行读取操作时,会知道此客户端先前所有写入和读取。在此模式下读取,可确保会话基于 "read-your-writes"和"read-your-reads",同时最大限度地减少因等待未完成的写入事务而导致的延迟。不过这还是一个实验性功能,需要等待后续版本的完善和稳定。

6.tablet server的web UI的“扫描仪表盘”(/scans)增加了如下新功能:

7.Kudu daemons现在开放了一个网页,可以dump出每个服务器中运行的每个线程的当前stack trace信息。当诊断性能问题时,此信息可能会有帮助。

2.Kudu1.7的优化和提升


2.默认情况下,每个tablet副本现在跨三个数据目录而不是所有数据目录对数据块进行条带化。 这降低了单个磁盘发生故障时对tablet造成的影响。性能测试表明该功能不会对性能产生影响。该功能适用于升级到Kudu1.7后创建的新副本。

2.Kudu服务器之前提供了启用单独的指标日志的功能,该日志存储服务器上可用的所有指标的定期快照。此功能现在可以作为“诊断日志”的一部分,该功能默认启用。诊断日志包括定期dump出来的服务器指标和线程堆栈的集合。默认情况下,该诊断日志不会超过640MB,因为使用压缩,实际会更小。

3.改进了同步Java客户端中的错误处理,以便在抛出异常时,堆栈跟踪指示调用客户端函数的正确位置,而不是内部工作线程的调用堆栈。来自工作线程的原始调用堆栈可用作抑制异常(suppressed exception)。

4.现在,Java客户端与Kudu服务器在建立加密连接时,使用预定义的TLS密码优先级列表。此密码列表与服务器到服务器通信首选的密码列表相匹配,并确保最有效和最安全的密码也是首选的。 当Kudu客户端在Java 8或更高版本上运行时,可以显著提高读写性能。

5.更新了kudu cluster ksck工具的报告,正在进行的tablet拷贝的tablets和表会显示为正在恢复。这项报告更新可以使更多的常用场景尤其是tablet拷贝有更少的告警。

6.改进了插入包含许多字符串或二进制字段的行的性能,尤其是在高并发写入工作负载的情况下。

7.默认情况下,扫描Kudu的Spark任务现在可以扫描非leader的副本。这使Spark更容易调度kudu-spark任务,并保证数据的本地性。你可以通过将leader_only传给kudu.scanLocality选项来禁用此功能。

8.在稳定状态和突发活动期间使用的OS线程数量,例如由节点故障触发的Raft领导者选举,已大幅减少,不应再超过ulimit -u的值。在大多数情况下,运行Kudu tablet的服务器不再需要增加ulimit -u或/proc/sys/kernel/threads-max的值。

9.已修复了稀疏列谓词可能导致过多数据块读取的问题。以前在这类扫描中,在多列上使用稀疏匹配的谓词,Kudu会多次读取和解码相同的数据块。这个修复可以将此类扫描的性能提升5-10倍。

10.提升了更新较大的值的性能,比如更新大于1KB的值的工作负载。

3.Wire Protocol兼容性


Kudu 1.7.0 / CDH 5.15.0与之前的Kudu版本的wire-compatible

1.Kudu1.7客户端可以连接到运行Kudu1.0或更高版本的服务器。如果客户端使用的功能在目标服务器上没有,则会返回报错。

2.滚动升级到Kudu1.7尚未得到充分的测试。我们不推荐对Kudu使用滚动升级。你可以关闭集群中的所有节点,然后升级Kudu,然后再重启。

3.除了下面提到的有关安全集群的限制之外,Kudu1.0客户端可以连接到运行Kudu 1.7的服务器。

Kudu1.3中引入的身份验证功能对Kudu1.7和1.3之前的版本之间的wire compatibility具有以下限制:

1.如果Kudu1.7集群配置了身份验证或加密设置为required,则早于Kudu1.3的客户端无法连接。

2.如果Kudu1.7集群配置了身份验证并且加密设置为可选或禁用,则旧客户端仍然可以连接。

4.客户端库兼容性


1.Kudu1.7的Java客户端库与Kudu1.6保持API与ABI兼容。针对Kudu1.6编写的应用程序可以在Kudu1.7客户端库进行编译和运行,反之亦然。

2.Kudu1.7 C++客户端与Kudu1.6的API和ABI向前兼容。针对Kudu1.6客户端库编写和编译的应用程序无需修改Kudu1.7客户端库即可运行。针对Kudu1.7客户端库编写和编译的应用程序无需修改Kudu1.6客户端库即可运行。

3.Kudu1.7 Python客户端与Kudu1.6保持API兼容。针对Kudu1.6编写的应用程序可以继续在Kudu1.7客户端运行,反之亦然。

4.在Kudu1.6的服务器上,使用Kudu1.7客户端创建带有decimal类型字段的表时会报错。同样,使用Kudu1.6客户端创建带有decimal类型字段的表时会报错。

5.Kudu1.7/CDH5.15不兼容性改动


1.新引入的副本管理方案与旧方案不兼容,因此无法将Kudu1.7之前的的Master Server与Kudu1.7的Tablet Server一起运行,反之亦然。这是服务端的不兼容,并不会影响客户端的兼容性。旧版本的Kudu客户端可以运行在新的Kudu服务端上。

2.先前可选的指标日志在每行增加了可供人阅读的时间戳。日志文件的路径也发生了变化,“diagnostics”替换了文件名中的“metrics”。优化了指标日志仅包含连续样本之间发生变化的那些指标,并不包含实体属性比如tablet分区信息。

“Kudu1.7有什么新功能”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. PyCharm2019.3有哪些新功能
  2. Python 3.8 有哪些新功能

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

上一篇:MySQL性能调优的方法介绍

下一篇:在虚拟机Linux上部署DB2pureScale的实践步骤

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》