跑超大数据集,常常用到服务器。这里“用到”指的是在只知道服务器的用户名+密码以及服务器ip的情况下,在自己本地主机上实现对服务器的操作,通过服务器来跑程序。
要解决的问题有两个:
1.本地机怎么连接服务器,实现在本地机上生成的终端小窗口上操作
2.源数据以及程序怎么传送到服务器以及实验结果怎么保存到本地
针对问题1,考虑通过ssh连接服务器,然后windows下的工具有很多,我用的是putty。首先下载Putty安装上,在putty configuration中输入服务器ip地址,此时跳出一个新窗口提示我们输入用户名和密码,如果从始至终只做了上面操作,那么输完密码后出现的是;Access denied
因为此时服务器没有或没有打开ssh服务,这时需要到服务器上安装ssh:
sudo apt-get install openssh-server
然后通过命令启动ssh服务
此时,再在本地上通过putty就可以在本地操作服务器了
针对问题2,首先考虑数据部署到服务器上,因为我数据还没跑完,所以还没有试怎么把把数据从服务器拷贝到本地.
关于拷贝数据这块,我使用的是pscp命令,网上说pscp.exe直接在putty的安装目录就有,我是独立下载的pscp.exe文件,将它放在C:/windows/system32下,这样在cmd下就可以识别pscp命令。在本地主机上win+R进入windows的命令行,在dos命令窗口执行:pscp 本地源文件路径 服务器用户名@服务器ip:目标文件路径
eg:
所以复制本地文件:c:\documents\foo.txt
到服务器example.com
用户名是fred
到文件/tmp/foo
你的命令是:pscp c:\documents\foo.txt fred@example.com:/tmp/foo
通过这种方式可以将数据和代码部署到服务器上,然而,在服务器中读写文件的过程中,可能会遇到读写权限不够的问题,可以通过更改权限解决这个问题
eg:
sudo chmod 777 /home/pub/test
部署好一切后,就可以在本地操作服务器,让服务器执行程序啦
有说的不到位的地方或者有更好方法的,请大家不吝赐教啊!谢谢啦!
网友评论