温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。
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文件已更新为:
R
node_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子域是否已配置
校验resolv.conf不是指向127.0.0.1
检查防火墙以确保没有设置自定义规则
如果你使用的是自签名TLS证书,证书过期或者证书对CDSW的通配符域无效,则会发出警告
6.cdsw status命令增加verbose选项
cdsw status [-v|--verbose]
(可左右滑动)
7.Kubernetes升级到1.8.12
1.1.Engine升级
CDSW1.4开始打包的基础engine镜像包括的R和Python的版本为(version 5):
另外,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节点上执行以下命令:
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
cd /opt/cloudera/parcels
(可左右滑动)
3.复制一份不兼容的第三方parcel。比如Redhat6的parcel不能分发到Redhat7的CDSW主机。
cp <PARCELNAME.cdh5.x.x.p0.123>-el6.parcel <PARCELNAME.cdh5.x.x.p0.123>-el7.parcel
(可左右滑动)
4.重复上面的步骤修改sha文件
cp <PARCELNAME.cdh5.x.x.p0.123>-el6.parcel.sha <PARCELNAME.cdh5.x.x.p0.123>-el7.parcel.sha
(可左右滑动)
5.在/opt/cloudera/parcels目录下修改文件的权限和属组
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函数。
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硬件的所以机器上执行以下命令:
# 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实操