0313-CDSW1.4的新功能

前两天Fayson介绍过《

和的新功能

》,与同时发布的还有,以下我们具体看看的新功能。

1.的新功能

1.模型和实验-优化了模型开发到投产的过程。现在,你可以使用CDSW在统一的工作流里创建,训练和部署模型。

实验-训练和比较版本化,可重现的模型。

模型-使用RESTAPIs部署和管理模型来服务预测

2.外部认证

LDAP/SAML用户现在可以将对CDSW的访问限制为特定的LDAP/SAML组。此外,可以指定在登录CDSW时自动获得站点管理员权限的组。

CDSW现在支持用于身份验证的多个identityprovider签名证书。

CDSW现在支持使用为进行认证。

3.ProjectsandWorkbench

站点管理员现在可以通过使用AdminSettings的ProjectTemplates表格中的复选框来禁用单个内置模板项目。创建新项目时,只有启用的项目模板才会显示在下拉菜单中。

每个新项目创建的默认.gitignore文件已更新为:

Rnode_modules*.pyc.*!.gitignore

(可左右滑动)

在单个会话中添加了对多个终端窗口的支持。

4.网络

CDSW现在支持localhost的DNS解析到非本地IP地址(即非127.0.0.1)

如果配置了HTTP_PROXY,HTTPS_PROXY或ALL_PROXY中的任何属性,CDSW现在会将以下默认值追加到NO_PROXY参数中:

"127.0.0.1,localhost,100.66.0.1,100.66.0.2,100.66.0.3,100.66.0.4,100.66.0.5,100.66.0.6,100.66.0.7,100.66.0.8,100.66.0.9,100.66.0.10,100.66.0.11,100.66.0.12,100.66.0.13,100.66.0.14,100.66.0.15,100.66.0.16,100.66.0.17,100.66.0.18,100.66.0.19,100.66.0.20,100.66.0.21,100.66.0.22,100.66.0.23,100.66.0.24,100.66.0.25,100.66.0.26,100.66.0.27,100.66.0.28,100.66.0.29,100.66.0.30,100.66.0.31,100.66.0.32,100.66.0.33,100.66.0.34,100.66.0.35,100.66.0.36,100.66.0.37,100.66.0.38,100.66.0.39,100.66.0.40,100.66.0.41,100.66.0.42,100.66.0.43,100.66.0.44,100.66.0.45,100.66.0.46,100.66.0.47,100.66.0.48,100.66.0.49,100.66.0.50,100.77.0.10,100.77.0.128,100.77.0.129,100.77.0.130,100.77.0.131,100.77.0.132,100.77.0.133,100.77.0.134,100.77.0.135,100.77.0.136,100.77.0.137,100.77.0.138,100.77.0.139"

(可左右滑动)

5.安装校验检查-改进安装过程中的校验检查。

校验通配符DNS子域是否已配置

校验不是指向127.0.0.1

检查防火墙以确保没有设置自定义规则

如果你使用的是自签名TLS证书,证书过期或者证书对CDSW的通配符域无效,则会发出警告

6.cdswstatus命令增加verbose选项

cdswstatus[-v|--verbose]

(可左右滑动)

7.Kubernetes升级到1.8.12

1.1.Engine升级

开始打包的基础engine镜像包括的R和Python的版本为(version5):

,3.6.1

另外,CDSW现在会在有新版本的engine可用时提醒你。确保你将有的项目升级到了BaseImagev5(ProjectSettingsEngine)并进行测试,因为修复了一些bug。

2.修复的问题

1.修复了克隆项目花费时间过长时Git超时的问题。从Git创建新项目时,超时时间现在增加到了60秒。ClouderaBug:DSE-3363

2.修复了手动parcel部署无法检测带.sha1扩展名的parcelhash文件的问题。ClouderaBug:DSE-3301

3.修复了使用IE11的几个问题(文件创建,保存等)。ClouderaBug:DSE-3426,DSE-3434

4.修复了CSD安装无法将识别为受支持的操作系统的问题。ClouderaBug:DSE-3257

5.修复了在CPU使用100%时,CDSW会挂起的问题。ClouderaBug:DSE-3450

6.修复了配置问题,当上传identityprovidermetadataXML文件时,未正确更新CDSW上的identityprovider签名证书和/或SSOURL。ClouderaBug:DSE-3076

7.修复了identityprovider的签名未正确验证的身份认证问题。ClouderaBug:DSE-3694

8.修复了项目Workbench中的SaveAs功能。ClouderaBug:DSE-3870

9.修复了如果用户在前一个会话中的Workbench中打开了某些文件,并且这些文件不再存在于项目文件系统中,则在打开Workbench时会发生FileNotFound错误的问题。ClouderaBug:DSE-3835

3.已知的问题和限制

3.1.CDH集成

CDH客户端配置修改需要完整重置CDSW

CDSW无法自动检测CDH集群上的配置更改。因此,对CDH服务所做的任何更改,包括配置更改或者parcel升级,都必须完全重置CDSW。

受影响的版本:,1.3.x

解决办法:

根据你的部署情况,使用以下两种方式来完全重置CDSW。注意以下重置方法不会影响你的数据。

CSD部署-使用ClouderaManager重置CDSW:

1.登录到ClouderaManager

2.选择CDSW服务,并重启。确保重启成功。

或者

RPM部署-在CDSW的master节点上执行以下命令:

cdswresetcdswinit

(可左右滑动)

启用lineagecollection后作业失败

默认启用lineagecollection。但CDSW中的Spark作业会失败,因为当会话/作业启动时,lineage日志目录没有自动mount到engine。

受影响的版本:

解决方法1:在CDSW中禁用SparkLineagePer-Project

在CDSW项目中的文件中的设置为false。每个项目你都需要单独设置。

解决方法2:整个集群禁用SparkLineage

1.登录到ClouderaManager选择Spark2服务

3.搜索EnableLineageCollection配置,并取消勾选以禁用LineageCollection

5.回到ClouderaManager主页重启CDSW服务以使修改生效。

ClouderaBug:DSE-3720,CDH-67643

3.2.ClouderaManager集成.

混合操作系统集群环境中,在CDSW不支持的操作系统上运行第三方parcels时,CSD分发/激活失败。

例如,在运行Redhat6兼容的CDSWparcels的Redhat6的集群中添加一个CDSWgateway主机会失败。因为ClouderaManager不允许在可以运行CDSW的操作系统比如Redhat7的新主机上分发CDSW的Redhat6的parcel包。

受影响的版本:,1.3.x

解决办法:

要确保添加CDSWgateway主机成功,你必须创建一个'不兼容'的第三方parcel文件副本,命名为Redhat7名称,以便ClouderaManger允许它们分发到新的gateway主机上。

1.ssh到ClouderaManager节点

2.进入所有parcel包的目录。默认是/opt/cloudera/parcels

cd/opt/cloudera/parcels

(可左右滑动)

3.复制一份不兼容的第三方parcel。比如Redhat6的parcel不能分发到Redhat7的CDSW主机。

(可左右滑动)

4.重复上面的步骤修改sha文件

(可左右滑动)

5.在/opt/cloudera/parcels目录下修改文件的权限和属组

chowncloudera-scm::

(可左右滑动)

这样你就可以在你的集群中添加一个新的CDSWgateway

ClouderaBug:OPSAPS-42130,OPSAPS-31880

重新启动后CDSW后,运行状态与应用程序的实际状态不匹配。

重启后,ClouderaManager中的CDSW服务会显示为“良好(Good)”,即使CDSWWeb应用程序可能还需要几分钟才能提供服务。

ClouderaManager的诊断包有时候会搜集不到CDSW的数据。

这是因为ClouderaManager目前搜集诊断包数据的默认超时时间为3分钟。但对于CDSW来说,使用cdswlogs命令收集指标和日志可能需要3分钟以上。

受影响的版本:,1.3.0

解决办法:使用以下办法修改CDSW数据收集的默认时间

1.登录到CM

2.进入CDSW服务

4.搜索“DockerDaemonDiagnosticsCollectionTimeout”属性,并设置为5分钟。

另外你也可以在MasterNodes上通过cdswlogs命令直接生成诊断包数据,参考:

ClouderaBug:OPSAPS-44016

3.3.崩溃和挂起

1.应用程序块设备上(blockdevice)的高I/O利用率可能导致应用程序停顿或无响应。建议用户直接从HDFS读取和写入数据,而不是将其存储在项目目录中。

2.在项目中安装ipywidgets或Jupyternotebook会导致Python引擎因为不对的配置而挂起。在R引擎终端删除已安装的库可以解决这个问题。

3.4.模型

1.Scala的模型不支持

2.模型的Spawningworkerthreads不支持

3.任何外部的连接,比如数据库连接或者Sparkcontext都必须由模型的代码进行管理。需要这种连接的模型负责自己的安装、拆卸和刷新。

4.使用CDSW部署的模型不具备highly-available。

5.重新部署或重建模型会导致模型停机(通常很短)。

6.目前不支持动态缩放和自动缩放。要更改服务中的副本数量,你必须重新部署构建。

7.只有单个副本处于活动状态,模型日志和统计信息才会保留。CDSW可能会在任何时候重新启动副本,视情况而定(例如模型输入错误)。

3.5.实验

1.实验不存储项目文件的快照。你无法自动恢复作为实验一部分运行的代码。

2.实验不能删除。因此,请注意如何使用track_metrics和track_file函数。

不要跟踪大于50MB的文件。

每个实验不要跟踪超过100个指标。来自实验的过多的指标调用可能会导致CDSW挂起。

3.实验表格允许你一次只显示三个指标。您可以从指标下拉列表中选择显示哪些指标。如果你正在跟踪大量指标(100个或更多),需要注意UI的性能滞后问题。

4.Scala实验不支持参数。

5.Scala实验不支持track_metrics和track_file函数。

6.开始实验时UI不显示确认信息,实验失败时也不会显示任何警报。

3.6.GPU支持

1.CDSW仅支持启用了CUDA的NVIDIAGPU卡。

2.异构的GPU硬件是不支持的,对于一个CDSW,你需要使用相同的GPU硬件。

3.机器重启后,检测不到GPUs。这个问题是因为某些GPU模块在重启后不能自动加载。

解决办法:在CDSW起来前,手动加载需要的模块。下面的命令会加载模块,创建/dev/nvidiactl设备,并在/dev/nvidia0创建设备目录。同时还会创建/dev/nvidia-uvm和/dev/nvidia-uvm-tools设备,并给/etc/分配执行权限。在有GPU硬件的所以机器上执行以下命令:

Setexecutepermissionfor/etc/+x/etc/

(可左右滑动)

ClouderaBug:DSE-2847

3.7.网络

1.CDSW主机上自定义的/etc/hosts不会被分发到运行会话和作业的容器中。ClouderaBug:DSE-2598

2.如果localhost未被解析为127.0.0.1,CDSW的初始化(cdswinit)会失败。

3.CDSW不支持在127.0.0.1:53上运行DNS服务器。这个IP地址会被解析为CDSW容器中的容器本地主机(containerlocalhost)。解决办法是使用non-loopback地址或者远程的DNS服务器。

4.因为libc的限制,在/etc/只支持两个DNS服务器。对于集群DNS,Kubernetes会使用另外一条。

3.8.安全

1.必须禁止SSH访问CDSW节点。不可信的用户如果可以SSH访问gateway节点,对于容器运行和应用程序的数据存储是不安全的。因此,出于安全和资源利用的原因,应该禁用不可信用户的SSH访问gateway节点。

2.TLS/SSL:TLStermination不支持证书颁发机构不属于用户信任存储的自签名证书。参考:

3.TLS/SSL:CDSW不支持TLS的私钥加密。ClouderaBug:DSE-1708

4.Kerberos:在非Kerberos集群中,HADOOP_USER_NAME默认是cdsw。ClouderaBug:DSE-4240

5.Kerberos:不支持PowerBroker-equippedActiveDirectory。ClouderaBug:DSE-1838

6.Kerberos:不支持在中使用Kerberos的插件模块。

7.Kerberos:在CDSW的修改default_ccache_name参数是不支持的。对于这个参数,仅仅支持使用默认的路径,/tmp/krb5cc_${uid}。

8.Kerberos:当你上传一个Kerberos的keytab到CDH集群认证的时候,即使身份认证成功,CDSW也可能会在屏幕的右下角显示一个短暂的错误信息(“已取消”)。可以忽略这个错误。ClouderaBug:DSE-2344

9.Kerberos:CDSW不支持FreeIPA的KDC。ClouderaBug:DSE-1482

3.9.作业APIs

1.CDSW不支持更改APIkey或者具有多个APIkeys。

2.目前还不支持使用作业API来创建作业,停止作业或获得作业状态。

3.10.Engines

1.CDSW不支持Autofs挂载。ClouderaBug:DSE-2238

2.当env参数未设置时,Spawningremoteworkers在R中会失败。ClouderaBug:DSE-3384

3.当使用Conda安装Python包时,你必须指定可以匹配到打包的引擎镜像的Python版本(2.7.11和3.6.1)。如果不指定,项目中将不能使用conda安装的Python版本。Pip(pip和pip3)没有这个问题。

3.11.自定义Engine镜像

1.CDSW仅支持基于基础镜像的定制engine。

2.CDSW不支持从需要Docker凭据的registries中提取镜像。ClouderaBug:DSE-1521

3.在创建自定义engine时,某些预先存在的标准目录(例如/home/cdsw,/tmp,/opt/cloudera等)无法修改。即保存在这些目录中的任何文件将无法从定制engine上运行的会话访问。

解决办法:在用于创建定制引擎的Dockerfile中创建一个新的自定义目录,并将文件保存到该目录。在所有CDSWgateway主机上创建一个新的自定义目录,并将文件保存到这些目录。然后,将此目录挂载到自定义engine。

3.12.可用性

1.在100个用户登录并创建进程的情况下,可能会达到系统的nproc和nofile限制。使用ulimits或其他方法来增加最大进程数,以及打开文件数。

2.重启时,CDSW节点可能需要很长的时间才能准备好,大约30分钟。

3.长时间运行的操作(例如fork和clone)可能会在项目较大或连接超出反向代理的HTTP超时时间内超时。

4.编辑器不支持Scalakernel的自动填充。

5.Scala和R代码有时可能会在编辑器中错误地缩进。ClouderaBug:DSE-1218

参考:

原创文章,欢迎转载,转载请注明:转载自实操

发布于 2025-01-10
192
目录

    推荐阅读