温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。
CDH5.13在美国时间10月12日正式发布,距离上次CDH5.12的7月16日,相距差不多3个月的时间,这也是Cloudera发布CDH的minor version的一般时间间隔。让我们先概括一下新功能:
1.Sentry实现HA
2.Kafka0.11集成,0.11目前为社区最新版
3.Kudu1.5开始默认打包到CDH,不需要使用额外的Parcle安装
4.Kudu与Sentry授权集成,支持列授权
据说CDSW1.2发布,与CM完美集成,实现Parcel安装
Openstack支持,Ceph支持,架构更新,参考:
https://specs.openstack.org/openstack/sahara-specs/specs/juno/cdh-plugin.html
以下我们看看CDH5.13和CM5.13具体的更新内容。
1.CDH5.13的新功能
1.1Apache Impala
1.通过缓冲池改善内存管理。这种机制允许查询使用较少的内存,在查询启动期间保留所需的内存,并减少OOM的概率。它使查询计划和内存评估更加精准,因此如果一个查询开始执行,中间不太可能会遇到OOM的错误。Impala在溢出到磁盘期间使用内存缓冲区较小,此缓冲区默认是2MB,而不是8MB,同时Impala可以在适当的时候将其减少到64KB。
对于新的查询的内存微调可以使用的参数包括:MIN_SPILLABLE_BUFFER_SIZE, DEFAULT_SPILLABLE_BUFFER_SIZE,MAX_ROW_SIZE, 和BUFFER_POOL_LIMIT。
2.改进缓存HDFS文件句柄的机制。这种缓存机制提高了多次访问同一文件的查询性能和扩展性,比如从Parquet文件中检索不同的列。通过open()调用缓存文件句柄可以降低Namenode的负载。
默认情况下,此功能是被禁用的。可以通过给max_cached_file_handles设置一个非零的值来开启这个功能。目前,通过关闭一些Impalad主机的short-circuit reads,在ETL过程中对于HDFS文件追加或者覆盖可以使用到这个功能。查看HDFS-12528获取更多信息:https://issues.apache.org/jira/browse/HDFS-12528
3.impala-shell提供了一个新的命令,rerun或者简写@,可以让你根据历史命令的编号来重新执行。
4.新的内置函数和更新
除了TIMESTAMP之外,trunc()现在可以应用于数值类型(FLOAT,DOUBLE和DECIMAL)。虽然这个功能已经可以通过truncate()函数实现,但是trunc()的改进可以更方便的将主流RDBMS的代码迁移到Impala。
新的date/time函数utc_timestamp()可以从TIMESTAMP的值获取到准确的相应时间,而不需要用特定的时区通过一些其他的函数来转换。
5.CREATE TABLE LIKE PARQUET语句现在可以处理不是由Impala生成的包含ENUM类型的Parquet文件。ENUM列会在目标表中转变为相应的STRING列。
6.Kudu提升
Kudu现在建表可以不使用PARTITION BY。Kudu会自动创建一个单独的分区来覆盖所有的可能的值的范围。此功能适用于小表,这样那些每个查询都是全表扫描因为分区带来的开销将不存在。
Kudu表更细粒度的Sentry授权,支持列授权。SELECT和INSERT语句对应到Sentry里的SELECT和INSERT权限。其他Kudu操作需要ALL的权限。
ALTER TABLE语句可以修改Kudu表字段的多个属性。你可以使用ALTER TABLE的ALTER COLUMN和SET关键字来更改DEFAULT,BLOCK_SIZE,ENCODING和COMPRESSION属性。还可以使用DROP DEFAULT从列中删除默认值。
7.对于非Kudu表,可以使用ALTER TABLE如:ALTER COLUMN col SET COMMENT 'text'来更改单个列的注释。
1.2Apache Kudu
从CDH5.13,Kudu1.5开始,CDH默认打包Kudu,不需要使用额外的Parcel安装。Kudu1.5的新功能请参考:https://www.cloudera.com/documentation/enterprise/release-notes/topics/kudu_release_notes.html#release_notes
1.3Apache Hive/Hive on Spark
Hive on Spark支持map joins的动态分区修剪。动态分区修剪(DPP)是一种数据库优化技术,它可以显着减少查询扫描的数据量,从而更快地执行作业。 默认情况下禁用,但可以通过将hive.spark.dynamic.partition.pruning.map.join.only属性设置为true来启用。 启用时,当使用分区字段map join时,DPP才会触发。更多细节参考:https://www.cloudera.com/documentation/enterprise/latest/topics/admin_hos_oview.html
Sentry支持Hive metastore的HA。以前的CDH版本,Sentry服务和Hive metastore的HA是不能共存的,从CDH5.13开始,Hive metastore的HA可以与Sentry服务共存,同时你还可以选择开启Sentry的HA。
1.4Apache Sentry
从CDH5.13开始,你可以安装两个Sentry服务,并通过配置实现Sentry服务的高可用,当Primary的Sentry挂了以后,可以自动实现Sentry服务的切换。更多细节请参考:https://www.cloudera.com/documentation/enterprise/latest/topics/sg_sentry_ha.html
Sentry现在支持Hive metastore的HA。
2.Cloudera Manager5.13的新功能
2.1Dashboard User角色
如果一个CM的用户属于Dashboard User角色,他可以执行以下操作:
2.2Impala Query Profiles查看优化
对于每个profile counter的值,从CM下载的文本格式的Impala query profiles现在包含了一个更易于阅读的版本,而不是原始值。比如:time counters在CM5.13之前显示的是纳秒:TotalTime: 492626971556。而现在是:TotalTime:8.2m (492626971556)。
2.3Sentry HA
Sentry服务支持HA,具体参考:https://www.cloudera.com/documentation/enterprise/latest/topics/sg_sentry_ha.html
2.4改善License管理
1.License信息
一个banner条现在会显示License的剩余日期比如60,30,14或者0天。
2.从CDH企业版降级到免费版
以前,从企业版降级到免费版需要修改CM的数据库。现在在License页面可以通过Downgrade按钮来实现。
2.5如果主机名是大小字母,启用Kerberos会警告
因为Kerberos的principal名字不能包括大写字幕,如果有任何一台主机名字包含大写字幕,启用Kerberos的欢迎页面会提示警告。你可以忽略这个警告继续进行Kerberos的向导式安装。警告最多显示10个主机。
2.6Hadoop配置文件用户模拟的校验
加入了一个新的校验,来确保Service Monitor能够校验多个配置文件的用户名都是有效的Linux用户名。包括以下服务:
HDFSUser to Impersonate - HDFS service
HBaseUser to Impersonate - HBase service
MapReduceUser to Impersonate - MapReduce service
YARNContainer Usage MapReduce Job User - YARN service
如果配置无效,相应的服务不会启动。
2.7丰富CM API
1.控制Management Services维护模式的新的CM API
Enter Maintenance Mode for Cloudera Management Service:
http://cloudera.github.io/cm_api/apidocs/v18/path__cm_service_commands_enterMaintenanceMode.html
Exit Maintenance Mode for Cloudera Management Service:
http://cloudera.github.io/cm_api/apidocs/v18/path__cm_service_commands_exitMaintenanceMode.html
Enter Maintenance Mode for Cloudera Management Serviceroles:
Exit Maintenance Mode for Cloudera Management Serviceroles:
2.集群资源报告的新的CM API
新的API可以以CSV的格式返回集群资源使用报告,如果你不晓得资源使用报告,可以参考:
https://www.cloudera.com/documentation/enterprise/latest/topics/admin_cluster_util_report.html
Cluster Utilization:
http://cloudera.github.io/cm_api/apidocs/v18/path__clusters_-clusterName-_utilization.html
Impala Utilization:
http://cloudera.github.io/cm_api/apidocs/v18/path__clusters_-clusterName-_impalaUtilization.html
YARN Utilization:
http://cloudera.github.io/cm_api/apidocs/v18/path__clusters_-clusterName-_yarnUtilization.html
3.删除集群credentials的API
增加了一个新的API可以删除单个集群所有服务的Kerberos credentials,而不是删除由CM管理的所有集群的credentials。更多细节参考:
2.8大规模集群新的校验
1.Management Roles的校验
如果CM管理超过80个节点,如果很多管理角色都部署在一个节点上,会给出警告。
2.Service Monitor和Host Monitor内存分配的校验
如果Service Monitor和Host Monitor的heap和非Java内存配置太低的话,会给出警告。警告是基于集群规模,以及集群上运行的服务类型。
2.9Solr图标库
Solr服务现在包含了每个指标的例子图表。
2.10提升BDR性能
通过在源集群运行第一阶段的复制(复制列表阶段,创建要复制的文件和文件夹的列表),从而提升BDR的性能。如果源集群和目标集群的延迟很高,这样会显著提升BDR的性能。此功能需要源集群和目标集群都是CM5.13或更高版本,通过API可以禁用该功能。
2.11描述符的新配置
在CM中增加了一个新的配置,scm.server.proxy.timeout,用来配置Descriptor fetch timeout。主要是用作CM部署超大规模的集群。以前这个配置需要配置多个服务的Advanced configuration snippets。
Administration> Settings,你可以找到该配置。
2.12CSD的健康报告
增加CSD服务的健康报告,具体参考:
https://github.com/cloudera/cm_ext/wiki/Service-Descriptor-Language-Reference#healthaggregation
2.13校验Banned YARN Users
开启Kerberos认证后,新的校验功能会确保Banned System Users列表在所有YARN的NodeManager节点是相同的。如果校验失败,YARN服务无法启动。如果需要查看banned的users,可以选择YARN服务,然后点击“配置”,搜索banned.users。
2.14恢复滚动重启
升级时执行滚动重启,在修复升级失败的某个故障后,比如某些主机启动失败,你可以恢复滚动重启。在你修复故障后,你可以继续滚动重启,而且CM会自动跳过成功重启的主机。这个改进加快了大型集群重试滚动重启的时间。
2.15搜集升级失败的诊断包
在集群升级时,如果失败了,CM现在可以允许你发送诊断包到Cloudera Support。升级向导会打开“发送诊断数据”对话框,其中包含当前集群的名称和预先填充的时间段。
2.16Impala的新监控指标
增加Catalog Server和Hedged reads的Java堆栈使用监控指标。
2.17新的CSD服务放置规则
CSD服务新的放置规则alwaysWithAny加入到Service Descriptor Language。当此规则存在时,必须始终将指定的角色置于放置规则中指定的角色的同一主机上。 添加此服务时,向导中不再显示指定的角色。 相反,此角色的一个实例将自动放置在至少具有一个主要角色的任何主机上。 如果多个主要角色本身放在同一主机中,则该角色的仅一个实例将自动放置在该主机上。在alwaysWithAny规则中应至少定义两个唯一的主要角色。而且,alwaysWithAny规则与alwaysWith规则是互斥的,并且不应该为同一个角色定义它们。 如果用户以违反此规则的方式分配角色,则该服务将显示配置错误,且无法启动。参考:
https://github.com/cloudera/cm_ext/wiki/Service-Descriptor-Language-Reference
2.18Hue的Navigator搜索和打标签默认开启
CM5.13中,增加Hue服务,对于CDH5.12或以上集群,Navigator的搜索和打标签会默认开启。
2.19增加protocol, accept_count和acceptor_thread_count 参数到LUNA_KMS和THALES_KMS CSDs
KMS服务(用于集成Luna和Thales硬件加密模块HSM)中增加新的Tomcat调优参数。这些参数只在CDH5.12.1或以上的版本生效。如下:
3.参考
https://www.cloudera.com/documentation/enterprise/release-notes/topics/cdh_rn_new_in_cdh_513.html
醉酒鞭名马,少年多浮夸! 岭南浣溪沙,呕吐酒肆下!挚友不肯放,数据玩的花! 温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看
推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。
原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操