如何在linux服务器部署Rstudio server,配置ODBC远程访问win 服务器上的SQL server

如何在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命令下载)

如何在linux服务器部署Rstudio server,配置ODBC远程访问win 服务器上的SQL server

找到符合你服务器版本的包下载,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命令,什么命令不会,就直接百度,像是爬虫时用正则的时候,直接百度现学就可以。

以上。

上一篇:【八】Spring Cloud Config


下一篇:Servlet第一篇【介绍Servlet、HTTP协议、WEB目录结构、编写入门Servlet程序、Servlet生命周期】