如何在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命令,什么命令不会,就直接百度,像是爬虫时用正则的时候,直接百度现学就可以。
以上。