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

CDSW1.4的新功能

作者头像
Fayson
发布2018-07-12 15:51:55
1.1K0
发布2018-07-12 15:51:55
举报
文章被收录于专栏:Hadoop实操

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

Fayson的github: https://github.com/fayson/cdhproject

提示:代码块部分可以左右滑动查看噢

前两天Fayson介绍过《CDH5.15和CM5.15的新功能》,与CDH5.15同时发布的还有CDSW1.4,以下我们具体看看CDSW1.4的新功能。

1.CDSW1.4的新功能


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

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

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

2.外部认证

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

CDSW现在支持用于SAML2.0身份验证的多个identity provider签名证书。

CDSW现在支持使用SAML2.0 Errata 05 E43为SAML 2.0进行认证。

3.Projects and Workbench

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

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

代码语言:javascript
复制
R
node_modules
*.pyc
.*
!.gitignore

(可左右滑动)

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

4.网络

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

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

代码语言:javascript
复制
"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子域是否已配置

校验resolv.conf不是指向127.0.0.1

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

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

6.cdsw status命令增加verbose选项

代码语言:javascript
复制
cdsw status [-v|--verbose]

(可左右滑动)

7.Kubernetes升级到1.8.12

1.1.Engine升级


CDSW1.4开始打包的基础engine镜像包括的R和Python的版本为(version 5):

  • R -3.4.1
  • Python -2.7.11, 3.6.1

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

2.CDSW1.4修复的问题


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

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

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

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

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

6.修复了SAML 2.0配置问题,当上传 identity provider metadata XML文件时,未正确更新CDSW上的identity provider签名证书和/或SSO URL。Cloudera Bug: DSE-3076

7.修复了identity provider的签名未正确验证的SAML 2.0身份认证问题。Cloudera Bug: DSE-3694

8.修复了项目Workbench中的Save As功能。Cloudera Bug: DSE-3870

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

3.CDSW1.4已知的问题和限制

3.1.CDH集成


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

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

受影响的版本:CDSW1.2.x,1.3.x

解决办法:

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

CSD部署 - 使用Cloudera Manager重置CDSW:

1.登录到Cloudera Manager

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

或者

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

代码语言:javascript
复制
cdsw reset
cdsw init

(可左右滑动)

启用lineage collection后Spark2.3作业失败

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

受影响的版本:CDS 2.3 release 2 Powered By Apache Spark

解决方法1:在CDSW中禁用 Spark Lineage Per-Project

在CDSW项目中的spark-defaults.conf文件中的spark.lineage.enabled设置为false。每个项目你都需要单独设置。

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

1.登录到Cloudera Manager选择Spark2服务

2.点击Configuration

3.搜索Enable Lineage Collection配置,并取消勾选以禁用Lineage Collection

4.点击Save Changes

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

ClouderaBug: DSE-3720, CDH-67643

3.2.Cloudera Manager集成.


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

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

受影响的版本:CDSW1.2.x,1.3.x

解决办法:

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

1.ssh到Cloudera Manager节点

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

代码语言:javascript
复制
cd /opt/cloudera/parcels

(可左右滑动)

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

代码语言:javascript
复制
cp <PARCELNAME.cdh5.x.x.p0.123>-el6.parcel <PARCELNAME.cdh5.x.x.p0.123>-el7.parcel

(可左右滑动)

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

代码语言:javascript
复制
cp <PARCELNAME.cdh5.x.x.p0.123>-el6.parcel.sha <PARCELNAME.cdh5.x.x.p0.123>-el7.parcel.sha

(可左右滑动)

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

代码语言:javascript
复制
chown cloudera-scm:cloudera-scm <PARCELNAME.cdh5.x.x.p0.123>-el7.parcel
chown cloudera-scm:cloudera-scm <PARCELNAME.cdh5.x.x.p0.123>-el7.parcel.sha
chmod 640 <PARCELNAME.cdh5.x.x.p0.123>-el7.parcel
chmod 640 <PARCELNAME.cdh5.x.x.p0.123>-el7.parcel.sha

(可左右滑动)

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

Cloudera Bug: OPSAPS-42130, OPSAPS-31880

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

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

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

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

受影响的版本:CDSW1.2.x,1.3.0

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

1.登录到CM

2.进入CDSW服务

3.点击“配置”

4.搜索“Docker Daemon Diagnostics Collection Timeout”属性,并设置为5分钟。

5.点击“保存”

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

https://www.cloudera.com/documentation/data-science-workbench/latest/topics/cdsw_data_collection.html#cli

Cloudera Bug: OPSAPS-44016

3.3.崩溃和挂起


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

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

3.4.模型


1.Scala的模型不支持

2.模型的Spawning worker threads不支持

https://www.cloudera.com/documentation/data-science-workbench/latest/topics/cdsw_parallel_computing.html#computing_workers

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

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的NVIDIA GPU卡。

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

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

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

代码语言:javascript
复制
# Manually load the required NVIDIA modules
sudo cat >> /etc/rc.modules <<EOMSG
/usr/bin/nvidia-smi
/usr/bin/nvidia-modprobe -u -c=0
EOMSG

# Set execute permission for /etc/rc.modules 
sudo chmod +x /etc/rc.modules

(可左右滑动)

Cloudera Bug: DSE-2847

3.7.网络


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

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

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

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

3.8.安全


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

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

https://www.cloudera.com/documentation/data-science-workbench/latest/topics/cdsw_tls_ssl.html#limitations

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

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

5.Kerberos:不支持PowerBroker-equipped Active Directory。Cloudera Bug: DSE-1838

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

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

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

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

3.9.作业APIs


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

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

3.10.Engines


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

2.当env参数未设置时,Spawning remote workers在R中会失败。Cloudera Bug: 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中提取镜像。Cloudera Bug: DSE-1521

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

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

3.12.可用性


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

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

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

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

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

参考:

https://www.cloudera.com/documentation/data-science-workbench/latest/topics/cdsw_release_notes.html

https://www.cloudera.com/documentation/data-science-workbench/latest/topics/cdsw_known_issues.html#known_issues_limitations

提示:代码块部分可以左右滑动查看噢

为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

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

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

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

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

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