专栏首页Hadoop实操0736-1.6.1-如何配置CDSW使用本地的Pycharm

0736-1.6.1-如何配置CDSW使用本地的Pycharm

文档编写目的

在CDSW1.5及以前版本,仅支持内置的编辑器,往往数据科学家在做模型开发训练时更倾向于使用自己熟悉的IDE开发工具。所以在CDSW1.6开始,引入了一个新功能,允许用户自带编辑器,称为BYOE(Bring Your Own Editor)。关于这个新特性可以参考前面的文章《CDSW1.6的新特性》有视频介绍。本篇文章主要介绍在Window客户端环境下,使用CDSW提供的工具搭建一个SSH Gateway方式实现本地IDE访问CDSW Project并做开发。

  • 测试环境:

1.Window7

2.CDSW1.6.1

环境准备

1.在Window客户端上执行如下命令创建私钥/公钥对

C:\Users\admin>ssh-keygen -t rsa

2.配置window客户端DNS确保通过泛域名方式可以解析到CDSW服务器地址

3.登录CDSW下载提供的window端cdswctl工具

解压至当前客户端的任意目录

4.登录CDSW配置window客户端公钥到当前用户的SSH public keys公钥列表

将第一步ssh-keygen命令生成C:\Users\admin\.ssh\id_rsa.pub公钥文件内容,添加CDSW的公钥列表,

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3uVMZ6QW4yYswtgwcilBmye2nNS3vV8zivVUocQ/ZwyDWR7oMBPyf6YFELzxrb4uT80EDWA5qdUdXNMALEqX3Pzh4ruqQ7KE3dI3L6KMRDQ6BmevjOijNEAFxrbI867bvhTdNlW6x9ISS9ZC+lHYAxxRMNpRfUQPlyEZKFUkQXfX2+aYajWFNEX1RU0pkmfcSvm4pvV8VMwl35xghXp0RuoG6NpWid4ZRwHtFrlHbiBKK392NnRmk3PH38bgqc06zEYh/VaNmJkaDx5omkWpPk1HtGcKpJCO+CbrP2Go856f34gk4hCmZKEBKpLN471KVFUsA2Z9fKoQxCOqY3+YR admin@DESKTOP-JKA43KI

注意:复制公钥内容时不要有换行

5.确保CDSW管理员没有禁用“remote editing”

初始化SSH连接CDSW

1.打开cmd命令行进入下载的cdswctl客户端工具目录

2.在当前目录执行如下命令登录CDSW

cdswctl.exe login -n admin -u http://master.hadoop.com

注意:此处会提示输入登录用户的密码,这里使用admin用户,登录成功后会在当前window用户的home目录下生成一个.cdsw目录下生成一个config.yaml的配置文件

该配置文件主要记录了用户访问cdsw的信息,以避免重复登录问题

username: admin
url: http://master.hadoop.com/
auth:
  authtype: 1
  basic: null
  apikey: uwmx9ljglt1ya66j17zir3a94y92x8tr

3.执行如下命令获取当前登录用户的project列表

cdswctl.exe projects list

4.完成上述命令执行如下命令创建一个本地的ssh通道与CDSW远端建立连接

cdswctl.exe ssh-endpoint -p admin/testsparkpy -c 1 -m 2

如上图所示则为命令运行成功,此时登录CDSW可以看到testsparkpy工程下已启动一个Session

5.打开一个新的cmd窗口,执行如下命令验证SSH通道是否可用

ssh -p 6926 cdsw@localhost

如上图所示就完成本地与CDSW的SSH通道的建立,接下来可以使用本地的Pycharm工具通过创建的SSH通道创建一个Project工程。

Pycharm创建远程Project

1.打开本地开发工具Pycharm,点击”Create New Project”

2.输入Project命令,选择使用”Existing interpreter”

3.点击“Interpreter”一栏的”…”菜单,进入Interpreter配置界面,选择“SSH Interpreter”并输入初始化SSH连接CDSW最后一步返回的ssh登录信息

4.点击“Next”进入SSH通道验证界面,验证成功后会返回如下界面

这里可以根据自己的需要选择python的运行环境,默认使用/usr/bin/python环境

5.完成Python环境选择后,点击“Finish”完成SSH Interpreter的创建

6.完成上述配置后,点击“Create”创建工程

注意:此时完成了Project的创建,发现CSDW上testsparkpy工程里面的代码并不存在该工程下。

7.点击testpyspark工程,鼠标右键从testpyspark下载代码至本地

8.执行成功后就完成cdsw代码同步至本地的操作

到此为止就完成了CDSW使用本地IDE Pycharm的配置,可以开心的本IDE下开发模型了。

总结

1.需要在使用本地Pycharm的Window客户端创建公钥/私钥对,并将公钥信息配置到CDSW的公钥列表

2.Window客户端需要正确配置DNS地址,确保能够通过泛域名解析到CDSW服务,否则cdswctl创建SSH通道时会验证不通过

3.cdswctl工具可以通过cdswctl -h方式查看命令使用方式

4.CDSW管理员需要在配置项中启用“Allow remote edititing”

本文分享自微信公众号 - Hadoop实操(gh_c4c535955d0f),作者:Fayson

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何通过CM将CDSW从1.3升级至1.4

    随着CDSW新版本的发布也提供了更多的新功能,具体参考Fayson前面文章《CDSW1.4的新功能》,本篇文章Fayson主要介绍如何通过Cloudera Ma...

    Fayson
  • 如何在CDH5.13中安装CDSW1.2

    Cloudera前一段时间发布了CDH5.13版本,5.13的新功能可以参考前一篇文章《CDH5.13和CM5.13的新功能》,在CDH5.13版本以后支持CD...

    Fayson
  • 0573-5.16.1-如何将CDSW从1.4.2升级到1.5

    Cloudera于2019年1月29日发布CDSW1.5,Fayson在前面的文章《0544-CDSW1.5的新功能》中对于1.5的新功能也做了介绍。对于已经安...

    Fayson
  • Java实现的图片合并方法,支持水平和垂直合并

    直接上代码,这是实际项目中应用的,如果需要可以直接复制使用即可。 import java.awt.Color; import java.awt.Graphics...

    用户1289394
  • 二叉树-堆

    完全二叉树:叶子节点都在最底下两层,最后一层的叶子节点都靠左排列,并且除了最后一层,其他层的节点个数都要达到最大;

    搬砖俱乐部
  • 在 Laravel 中使用 Trait 优化代码结构

    从上面的示例中发现这些操作都不是很好,不够优雅,哈哈。现在我们来看看 laravel 中 Trait 是如何定义和使用的:

    overtrue
  • 全栈AI工程师指南,DIY一个识别手写数字的web应用

    本文从「全栈」的角度,通过训练模型、部署成后端服务、前端页面开发等内容的介绍,帮大家更快地把深度学习的模型应用到实际场景中。

    AI科技大本营
  • 24.Django路由规则

    路由规则 1.基于正则的url 在templates目录下创建index.html、detail.html文件 (1)index.html <!DOCTYPE ...

    zhang_derek
  • Docker 介绍

    用户5760343
  • “你的深度学习框架包含15个漏洞”新知

    来源 |量子位(QbitAI) 整理 |苏锋 编者按: 目前,一大批科技巨头和创业公司将目光聚集在可进行自主深度学习的AI身上。无人驾驶汽车、机器人医生、机器投...

    企鹅号小编

扫码关注云+社区

领取腾讯云代金券