如何在linux服务器部署Rstudio server,配置ODBC后通过RODBC包远程访问SQL server

背景介绍:之前写过一篇文章,提到近期要部署Rstudio server(搭建数据分析团队的分析环境),花了一个星期,搭好了。还YY过给这个亲生的儿子起个装逼的名字呢,莫扎特,巴赫什么的,并YY出以下场景{Jenny ,你把模型扔到莫扎特上跑一版最新结果出来。。。啊哈是不是特有逼格。。哦哈哈。。。}我是部署的Rstudio server,这个是免费的,但是Rstudio sererv pro 是收费的,两者有什么区别,见官网说明

部署前提:

需要有以下前提:

1.需要一台linux服务器(centOS,版本是6.5,64位,4核,16G内存)

2.在PC上装secureCRT用于远程连接Linux服务器。(SecureCRT是一款支持SSH的终端仿真程序,简单的说是Windows下登录UNIX或Linux服务器主机的软件)

3.Rstudio server如何部署。(官方部署帮助文档)

下载并安装包:

帮助文档给了一个EPEL链接(EPEL:Extra Packages for Enterprise Linux),登陆到linux服务器,用root权限下载包。(wget命令下载)

找到符合你服务器版本的包下载,R还有Rstudio server的安装包都在里面,还有一些常用的Rstudio 公司开发的R包例如ggplot2,dplyr等也都包含在内。下载后安装,用‘rpm -ivh’命令安装你下载的包,会提示你是否安装所有150个包,选择是,然后就完成安装了。

装Rstudio server基本没什么坑,不到两个小时就装完了。

装完之后直接可以访问了就例如你在浏览器输入:172.31.127.136:8787就可以直接跳转到Rstudio server登录页面,172.31.127.136是你的linux服务器IP,8787是Rstudio server端口号,(类似的SQL server端口号是1433,Tableau server端口号是8000,Hue端口号是8888)

创建用户:

接下来就是创建用户了,有一篇文章张丹老师写的多人在线协作R开发RStudio Server先是创建一个用户组,然后往这个组里面添加成员就可以了,贴一下他的代码:

~ sudo groupadd hadoop
~ sudo useradd hadoop -g hadoop;
~ sudo passwd hadoop
~ sudo adduser hadoop sudo
~ sudo mkdir /home/hadoop
~ sudo chown -R hadoop:hadoop /home/hadoop

有兴趣的同学可直接阅读原文。

在Linux上配置ODBC:

整个部署过程遇到的最大的坑是:如何在Rstudio server访问另一台win服务器上的SQL server数据库。用了3,4天搞定。

解决这个问题的方法是在Linux服务器上配置ODBC,通过RODBC包访问SQL server数据库,问过同事有没有一些经验提供给我,当我说在Linux配置ODBC他们都很诧异,他们都说,为啥不配置JDBC呢。。。

无果,于是自己在网上搜索各种文档,功夫不负有心人,找到一篇关键性的文章在Linux上配置unixODBC和FreeTDS访问MS SQL Server

总的来说是

安装两个东西:1.安装 unixODBC;2.安装 FreeTDS;

修改三个文件的参数:分别是odbcinst.ini;freetds.conf; odbc.ini;至于如何具体如何操作请参考在Linux上配置unixODBC和FreeTDS访问MS SQL Server

如果是通过win系统的PC访问SQL server,配置ODBC是非常简单的。(两种认证方式,一种是NT,一种是账户名+密码,两种方法都很方便)

在Linux服务器上的Rstudio server是通过户名+密码访问数据库。

#---------

unixODBC 提供了Linux 对ODBC 的支持,但它只是一个 ODBC的管理器, 要连接实际的数据库还得提供这种数据库的 ODBC 驱动.

FreeTDS就是Linux 下 用于连接MS SQL Server 和 Sybase 的免费ODBC 驱动
注意, 必须先装 unixODBC, 再装 freetds

#---------

总结:

不经常用Linux命令,什么命令不会,就直接百度,像是爬虫时用正则的时候,直接百度现学就可以。

以上。

最新文章

  1. Spring事务
  2. Linux下redis的安装
  3. AutoCAD .NET API 之——DimStyleTableRecord 的属性列表
  4. 操作系统开发系列—13.e.三进程
  5. 让Windows 7变成WIFI热点
  6. 《HTML5与CSS3实例教程》
  7. hdoj 1106 排序
  8. Delphi Format中的换行符号是什么
  9. struts中的ignoreHierarchy 参数和root 参数
  10. POJ 2923 Relocation
  11. BZOJ 1578: [Usaco2009 Feb]Stock Market 股票市场( 背包dp )
  12. android JNI 简单demo(2)它JNI demo 写
  13. 30分钟掌握 C#6
  14. 使用jQuery中trigger()方法自动触发事件
  15. FALSE
  16. Linux安装python2.7
  17. Day09 -超级经典面试题:Ruby的a ||= b(or-equals)是什么意思呢?
  18. C#执行JavaScript脚本代替Compute
  19. 使用python脚本实现iOS图片资源压缩
  20. 763. Partition Labels 相同字母出现在同一块中,且块数最多

热门文章

  1. 关于Yii2中的MVC中的视图总结(持续更新中)
  2. 查看正在运行的sql
  3. JDK、JRE、JVM各自是什么、以及什么关系
  4. iterable- 什么是可迭代对象
  5. python的基础数据类型
  6. (转)stty 命令说明及使用讲解
  7. java学习第十二天
  8. OAuth2.0和企业内部统一登录,token验证方式,OAuth2.0的 Authorization code grant 和 Implicit grant区别
  9. Unity C# 使用JsonUtility读写Json文件
  10. IIS 伪静态 脚本映射 配置方法