您好,登录后才能下订单哦!
本篇内容介绍了“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)增加了如下新功能:
显示最近完成的扫描。
Pseudo-SQL scan descriptor,简明地显示所选字段和应用的谓词。
更完整,更好的文档扫描统计信息。
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有什么新功能”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。