1 安装软件

Linux下安装软件于windows有很大不同。大致来讲,有4种方式,有的地方会更加的方便,但有的地方也非常的不方便。

1.1 linux下安装软件的四种方法。

  • 第1种记在线用命令安装,非常方便,敲一行命令,就可以直接安装一个软件,网上的攻略也是经常是用这种方式,pip install SomePackage

  • 第2种是下载预编译包,这大致相当于windows下的绿色软件,下载的软件包直接解压,再修改配置文件,设置环境变量,就好了。

  • 第3种是sh文件,这是类似与windows下如exe安装包,只要下载好,用命令安执行,按照提示一步一步操作就可以了,只是把用鼠标点击一步步安装,改成了敲击键盘和回车。

  • 第四种是最复杂如,下载软件的源代码,解压后自己编译,不但要使用编译命令,还必须要有编译的环境,一般是gcc。

  • 我采用的方法。 第一种方法虽然好,但我们是无法使用的,因为我们的服务器与外网是隔离的。我用的最多的是第二种方法,首先用自己的电脑,首先把压缩包下载好,查杀病毒,上传到服务器上,解压配置文件。虽然看上去还算简单,但Linux下压缩包格式有很多种,有tar、gz等等,不同的文件要用不同的解压命令,几乎是没有办法记住,只能现用现查。

1.2 安装步骤

1.2.1 安装java,第一个坑

前面的步骤一样,我下载如记rpm包,安装本省挺顺利。 修改配置文件是很大的坑,千万不能出错,用这个命令打开配置文件,vi /etc/profile

修改这个文件,配置环境变量,java需要配置好几个环境变量,PATH,CLASSPATH,JAVA_HOME, 这个配置文件,环境变量命令如下:

export JAVA_HOME=/usr/share/jdk1.6.0_14'

export PATH=\$JAVA_HOME/bin:$PATH

每个变量用隔开,而windows是用, 连接用$PATH,千万不能出错

我第一次就把冒号输入成了分号,导致把整个PATH都没有用了,几乎所有命令都用不了 vi命令也用不了,所以也没有办法打开配置文件修改,真是难题,这记第一根坑

  • 解决,PATH没有了,直接打命令找不到,但命令本身还是在的,只要的文件夹种找到,还是可以用如, 在各个文件夹中找到了vi,切换到文件夹中后,重新修改。但是修改后的source命令到处都没有找到, 好在只要重启,就可以自动执行,继续找shutdown命令,然后用shutdown restart now。 重启后终于好了。

1.2.2 安装scala

也用rpm包,一切顺利

1.2.3 安装Hadoop

tar.gz包,下载了2.7的,一切顺利,但暂时用不到,我就没有去配置。

1.2.4 安装Spark

终于到正题了,下载了spark-2.4.0-bin-hadoop2.7.tgz,貌似自带hadoop,不过我也没时间试过了。

2 应用篇

2.1 端口篇

粗粗查了查,spark要用到8080,8081,7077,4040,联系数管开放端口。 又掉小坑,错看成7070,不过没关系,改一下配置应该就可以解决。

  • 解决

只要输入命令时指定端口就OK了,不用改配置文件也可以 SPARK_MASTER_PORT=7070 sbin/start-all.sh 然后在自己办公电脑上输入spark://ip:8080, 显示spark在7070端口运行

2.2 试用spark-shell

安装完成后,敲击命令spark-shell就可以出现这样的界面,说明没问题了。 因为spark是用scala写的,所以spark的shell是scala语言的。

2.3 试用pyspark

我主要还是想用python写spark的代码,所以要用pyspark,这个装好spark也都是自带的。 但敲入命令pyspark后提示错误,。

2.4 大坑——版本问题

经过反复测试和搜寻,包括下载安装,终于确定这个错误的原因,应该的是python的版本问题。 我的系统是CentOS6.5,默认的Python是2.6,似乎Pyspark并不支持2.6。 所以接下来,我要几条路可走,1升级Python到2.7;2用Anaconda直接升级到3.6;3重新环系统。

  • 解决

第3条路肯定是放在最后了,考虑到pyspark用2.7的人多,优先选择这第一条路, 但实际上很难,Python2.7就属于前面讲到安装软件的第四种,需要下载源代码,自行编译的, 我测试了下,CentOS6.5没有默认安装编译器,而且搜索了下,无网安装编译器很复杂。 所以不得不考虑第2条路,虽然有奉献,Python3的特性有的可能Pyspark不支持,但目前先这样试试吧。 下载Anaconda,这个就是软件安装的第3种——sh文件,执行后安提示安装,顺利。 然后再次修改配置,配置环境变量,并把新的Python环境设为系统默认。 听说升级为Python3后,系统的Yam就用不了了,不过目前还没发现异常。 重启,再次敲pyspark顺利出现Spark界面,终于搞定可以开工了。

2.5 Jupyter

能用之后,就得考虑好用,既然安装了Jupyter,当然想用jupyter notebook作为开发环境, 这样我也不用频繁登录服务器了,可以直接在自己电脑上登录服务器的jupyter notebook写和测试代码了。 Anaconda3都是自带jupyter的,找到配置文件,修改密码,端口还是默认的8888,修改为root可用, c.NotebookApp.allow_root = True

之后需要设置密码,方法是先用Python生成密匙的SHA1散列码,

from notebook.auth import passwd
passwd()

输入密匙后将SHA1码复制到设置文件中, c.NotebookApp.password = u'sha1:'

jupyter notebook,提示已部署,但在自己电脑上就是上不了。

  • 解决

不断与数管中心确认端口后,也用iptables查看了,端口确实开放, 再次搜索,发现Jupyter的配置文件中还有个ip控制的设置, 将允许访问ip改为星号,c.NotebookApp.ip = '*',然后继续报错, 还有个也要修改,c.NotebookApp.allow_remote_access = True, 再次启动,在自己电脑上访问,成功!

还有后续

下篇将介绍学写spark代码中的收获

LS0tDQp0aXRsZTogIkxpbnV4IFNwYXJrIOaOieWdkeeIrOWdkeiusCINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCiMgMSDlronoo4Xova/ku7YNCkxpbnV45LiL5a6J6KOF6L2v5Lu25LqOd2luZG93c+acieW+iOWkp+S4jeWQjOOAguWkp+iHtOadpeiusu+8jOaciTTnp43mlrnlvI/vvIzmnInnmoTlnLDmlrnkvJrmm7TliqDnmoTmlrnkvr/vvIzkvYbmnInnmoTlnLDmlrnkuZ/pnZ7luLjnmoTkuI3mlrnkvr/jgIINCg0KIyMgMS4xIGxpbnV45LiL5a6J6KOF6L2v5Lu255qE5Zub56eN5pa55rOV44CCDQoNCiog56ysMeenjeiusOWcqOe6v+eUqOWRveS7pOWuieijhe+8jOmdnuW4uOaWueS+v++8jOaVsuS4gOihjOWRveS7pO+8jOWwseWPr+S7peebtOaOpeWuieijheS4gOS4qui9r+S7tu+8jOe9keS4iueahOaUu+eVpeS5n+aYr+e7j+W4uOaYr+eUqOi/meenjeaWueW8j++8jGBwaXAgaW5zdGFsbCBTb21lUGFja2FnZWANCg0KDQoqIOesrDLnp43mmK/kuIvovb3pooTnvJbor5HljIXvvIzov5nlpKfoh7Tnm7jlvZPkuo53aW5kb3dz5LiL55qE57u/6Imy6L2v5Lu277yM5LiL6L2955qE6L2v5Lu25YyF55u05o6l6Kej5Y6L77yM5YaN5L+u5pS56YWN572u5paH5Lu277yM6K6+572u546v5aKD5Y+Y6YeP77yM5bCx5aW95LqG44CCDQoNCiog56ysM+enjeaYr3No5paH5Lu277yM6L+Z5piv57G75Ly85LiOd2luZG93c+S4i+WmgmV4ZeWuieijheWMhe+8jOWPquimgeS4i+i9veWlve+8jOeUqOWRveS7pOWuieaJp+ihjO+8jOaMieeFp+aPkOekuuS4gOatpeS4gOatpeaTjeS9nOWwseWPr+S7peS6hu+8jOWPquaYr+aKiueUqOm8oOagh+eCueWHu+S4gOatpeatpeWuieijhe+8jOaUueaIkOS6huaVsuWHu+mUruebmOWSjOWbnui9puOAgg0KDQoqIOesrOWbm+enjeaYr+acgOWkjeadguWmgu+8jOS4i+i9vei9r+S7tueahOa6kOS7o+egge+8jOino+WOi+WQjuiHquW3see8luivke+8jOS4jeS9huimgeS9v+eUqOe8luivkeWRveS7pO+8jOi/mOW/hemhu+imgeaciee8luivkeeahOeOr+Wig++8jOS4gOiIrOaYr2djY+OAgg0KDQoqIOaIkemHh+eUqOeahOaWueazleOAgg0K56ys5LiA56eN5pa55rOV6Jm954S25aW977yM5L2G5oiR5Lus5piv5peg5rOV5L2/55So55qE77yM5Zug5Li65oiR5Lus55qE5pyN5Yqh5Zmo5LiO5aSW572R5piv6ZqU56a755qE44CC5oiR55So55qE5pyA5aSa55qE5piv56ys5LqM56eN5pa55rOV77yM6aaW5YWI55So6Ieq5bex55qE55S16ISR77yM6aaW5YWI5oqK5Y6L57yp5YyF5LiL6L295aW977yM5p+l5p2A55eF5q+S77yM5LiK5Lyg5Yiw5pyN5Yqh5Zmo5LiK77yM6Kej5Y6L6YWN572u5paH5Lu244CC6Jm954S255yL5LiK5Y676L+Y566X566A5Y2V77yM5L2GTGludXjkuIvljovnvKnljIXmoLzlvI/mnInlvojlpJrnp43vvIzmnIl0YXLjgIFneuetieetie+8jOS4jeWQjOeahOaWh+S7tuimgeeUqOS4jeWQjOeahOino+WOi+WRveS7pO+8jOWHoOS5juaYr+ayoeacieWKnuazleiusOS9j++8jOWPquiDveeOsOeUqOeOsOafpeOAgg0KDQojIyAxLjIg5a6J6KOF5q2l6aqkDQojIyMgMS4yLjEg5a6J6KOFamF2Ye+8jOesrOS4gOS4quWdkQ0K5YmN6Z2i55qE5q2l6aqk5LiA5qC377yM5oiR5LiL6L295aaC6K6wcnBt5YyF77yM5a6J6KOF5pys55yB5oy66aG65Yip44CCDQrkv67mlLnphY3nva7mlofku7bmmK/lvojlpKfnmoTlnZHvvIzljYPkuIfkuI3og73lh7rplJnvvIznlKjov5nkuKrlkb3ku6TmiZPlvIDphY3nva7mlofku7bvvIxgdmkgL2V0Yy9wcm9maWxlYA0KDQrkv67mlLnov5nkuKrmlofku7bvvIzphY3nva7njq/looPlj5jph4/vvIxqYXZh6ZyA6KaB6YWN572u5aW95Yeg5Liq546v5aKD5Y+Y6YeP77yMUEFUSO+8jENMQVNTUEFUSO+8jEpBVkFfSE9NRe+8jA0K6L+Z5Liq6YWN572u5paH5Lu277yM546v5aKD5Y+Y6YeP5ZG95Luk5aaC5LiL77yaDQoNCmBleHBvcnQgSkFWQV9IT01FPS91c3Ivc2hhcmUvamRrMS42LjBfMTQnYA0KDQpgZXhwb3J0IFBBVEg9XCRKQVZBX0hPTUUvYmluOiRQQVRIYA0KDQrmr4/kuKrlj5jph4/nlKhg77yaYOmalOW8gO+8jOiAjHdpbmRvd3PmmK/nlKhg77ybYCwg6L+e5o6l55SoYCRQQVRIYO+8jOWNg+S4h+S4jeiDveWHuumUmQ0KDQrmiJHnrKzkuIDmrKHlsLHmiorlhpLlj7fovpPlhaXmiJDkuobliIblj7fvvIzlr7zoh7TmiormlbTkuKpQQVRI6YO95rKh5pyJ55So5LqG77yM5Yeg5LmO5omA5pyJ5ZG95Luk6YO955So5LiN5LqGDQp2aeWRveS7pOS5n+eUqOS4jeS6hu+8jOaJgOS7peS5n+ayoeacieWKnuazleaJk+W8gOmFjee9ruaWh+S7tuS/ruaUue+8jOecn+aYr+mavumimO+8jOi/meiusOesrOS4gOagueWdkQ0KDQoqIOino+WGs++8jFBBVEjmsqHmnInkuobvvIznm7TmjqXmiZPlkb3ku6Tmib7kuI3liLDvvIzkvYblkb3ku6TmnKzouqvov5jmmK/lnKjnmoTvvIzlj6ropoHnmoTmlofku7blpLnnp43mib7liLDvvIzov5jmmK/lj6/ku6XnlKjlpoLvvIwNCuWcqOWQhOS4quaWh+S7tuWkueS4reaJvuWIsOS6hmB2aWDvvIzliIfmjaLliLDmlofku7blpLnkuK3lkI7vvIzph43mlrDkv67mlLnjgILkvYbmmK/kv67mlLnlkI7nmoRgc291cmNlYOWRveS7pOWIsOWkhOmDveayoeacieaJvuWIsO+8jA0K5aW95Zyo5Y+q6KaB6YeN5ZCv77yM5bCx5Y+v5Lul6Ieq5Yqo5omn6KGM77yM57un57ut5om+YHNodXRkb3duYOWRveS7pO+8jOeEtuWQjueUqGBzaHV0ZG93biByZXN0YXJ0IG5vd2DjgIINCumHjeWQr+WQjue7iOS6juWlveS6huOAgg0KDQojIyMgMS4yLjIg5a6J6KOFc2NhbGENCiFbXShzY2FsYS1zcGlyYWwucG5nICl7d2lkdGg9NCV95Lmf55SocnBt5YyF77yM5LiA5YiH6aG65YipDQoNCg0KIyMjIDEuMi4zIOWuieijhUhhZG9vcA0KIVtdKGhhZG9vcC1sb2dvLmpwZyl7d2lkdGg9MjAlfXRhci5neuWMhe+8jOS4i+i9veS6hjIuN+eahO+8jOS4gOWIh+mhuuWIqe+8jOS9huaaguaXtueUqOS4jeWIsO+8jOaIkeWwseayoeacieWOu+mFjee9ruOAgg0KDQojIyMgMS4yLjQg5a6J6KOFU3BhcmsNCiFbXShzcGFyay1sb2dvLXRyYWRlbWFyay5wbmcpe3dpZHRoPTEwJX3nu4jkuo7liLDmraPpopjkuobvvIzkuIvovb3kuoZzcGFyay0yLjQuMC1iaW4taGFkb29wMi43LnRneu+8jOiyjOS8vOiHquW4pmhhZG9vcO+8jOS4jei/h+aIkeS5n+ayoeaXtumXtOivlei/h+S6huOAgg0KDQoNCiMgMiDlupTnlKjnr4cNCiMjIDIuMSDnq6/lj6Pnr4cNCueyl+eyl+afpeS6huafpe+8jHNwYXJr6KaB55So5YiwODA4MO+8jDgwODHvvIw3MDc377yMNDA0MO+8jOiBlOezu+aVsOeuoeW8gOaUvuerr+WPo+OAgg0K5Y+I5o6J5bCP5Z2R77yM6ZSZ55yL5oiQNzA3MO+8jOS4jei/h+ayoeWFs+ezu++8jOaUueS4gOS4i+mFjee9ruW6lOivpeWwseWPr+S7peino+WGs+OAgg0KDQoqIOino+WGsw0KDQrlj6ropoHovpPlhaXlkb3ku6Tml7bmjIflrprnq6/lj6PlsLFPS+S6hu+8jOS4jeeUqOaUuemFjee9ruaWh+S7tuS5n+WPr+S7pSANCmBTUEFSS19NQVNURVJfUE9SVD03MDcwIHNiaW4vc3RhcnQtYWxsLnNoYA0K54S25ZCO5Zyo6Ieq5bex5Yqe5YWs55S16ISR5LiK6L6T5YWlc3Bhcms6Ly9pcDo4MDgw77yMDQrmmL7npLpzcGFya+WcqDcwNzDnq6/lj6Pov5DooYwNCg0KDQojIyAyLjIg6K+V55Soc3Bhcmstc2hlbGwNCuWuieijheWujOaIkOWQju+8jOaVsuWHu+WRveS7pGBzcGFyay1zaGVsbGDlsLHlj6/ku6Xlh7rnjrDov5nmoLfnmoTnlYzpnaLvvIzor7TmmI7msqHpl67popjkuobjgIINCuWboOS4unNwYXJr5piv55Soc2NhbGHlhpnnmoTvvIzmiYDku6VzcGFya+eahHNoZWxs5pivc2NhbGHor63oqIDnmoTjgIINCg0KIyMgIDIuMyAg6K+V55SocHlzcGFyaw0K5oiR5Li76KaB6L+Y5piv5oOz55SocHl0aG9u5YaZc3BhcmvnmoTku6PnoIHvvIzmiYDku6XopoHnlKhweXNwYXJr77yM6L+Z5Liq6KOF5aW9c3BhcmvkuZ/pg73mmK/oh6rluKbnmoTjgIINCuS9huaVsuWFpeWRveS7pGBweXNwYXJrYOWQjuaPkOekuumUmeivr++8jOOAgg0KDQojIyAgMi40ICDlpKflnZHigJTigJTniYjmnKzpl67popgNCue7j+i/h+WPjeWkjea1i+ivleWSjOaQnOWvu++8jOWMheaLrOS4i+i9veWuieijhe+8jOe7iOS6juehruWumui/meS4qumUmeivr+eahOWOn+WboO+8jOW6lOivpeeahOaYr3B5dGhvbueahOeJiOacrOmXrumimOOAgg0K5oiR55qE57O757uf5pivQ2VudE9TNi4177yM6buY6K6k55qEUHl0aG9u5pivMi4277yM5Ly85LmOUHlzcGFya+W5tuS4jeaUr+aMgTIuNuOAgg0K5omA5Lul5o6l5LiL5p2l77yM5oiR6KaB5Yeg5p2h6Lev5Y+v6LWw77yMMeWNh+e6p1B5dGhvbuWIsDIuN++8mzLnlKhBbmFjb25kYeebtOaOpeWNh+e6p+WIsDMuNu+8mzPph43mlrDnjq/ns7vnu5/jgIINCg0KKiDop6PlhrMNCg0K56ysM+adoei3r+iCr+WumuaYr+aUvuWcqOacgOWQjuS6hu+8jOiAg+iZkeWIsHB5c3BhcmvnlKgyLjfnmoTkurrlpJrvvIzkvJjlhYjpgInmi6nov5nnrKzkuIDmnaHot6/vvIwNCuS9huWunumZheS4iuW+iOmavu+8jFB5dGhvbjIuN+WwseWxnuS6juWJjemdouiusuWIsOWuieijhei9r+S7tueahOesrOWbm+enje+8jOmcgOimgeS4i+i9vea6kOS7o+egge+8jOiHquihjOe8luivkeeahO+8jA0K5oiR5rWL6K+V5LqG5LiL77yMQ2VudE9TNi415rKh5pyJ6buY6K6k5a6J6KOF57yW6K+R5Zmo77yM6ICM5LiU5pCc57Si5LqG5LiL77yM5peg572R5a6J6KOF57yW6K+R5Zmo5b6I5aSN5p2C44CCDQrmiYDku6XkuI3lvpfkuI3ogIPomZHnrKwy5p2h6Lev77yM6Jm954S25pyJ5aWJ54yu77yMUHl0aG9uM+eahOeJueaAp+acieeahOWPr+iDvVB5c3BhcmvkuI3mlK/mjIHvvIzkvYbnm67liY3lhYjov5nmoLfor5Xor5XlkKfjgIINCuS4i+i9vUFuYWNvbmRh77yM6L+Z5Liq5bCx5piv6L2v5Lu25a6J6KOF55qE56ysM+enjeKAlOKAlHNo5paH5Lu277yM5omn6KGM5ZCO5a6J5o+Q56S65a6J6KOF77yM6aG65Yip44CCDQrnhLblkI7lho3mrKHkv67mlLnphY3nva7vvIzphY3nva7njq/looPlj5jph4/vvIzlubbmiormlrDnmoRQeXRob27njq/looPorr7kuLrns7vnu5/pu5jorqTjgIINCuWQrOivtOWNh+e6p+S4ulB5dGhvbjPlkI7vvIzns7vnu5/nmoRZYW3lsLHnlKjkuI3kuobkuobvvIzkuI3ov4fnm67liY3ov5jmsqHlj5HnjrDlvILluLjjgIINCumHjeWQr++8jOWGjeasoeaVsmBweXNwYXJrYOmhuuWIqeWHuueOsFNwYXJr55WM6Z2i77yM57uI5LqO5pCe5a6a5Y+v5Lul5byA5bel5LqG44CCDQoNCiMjIDIuNSAgSnVweXRlcg0K6IO955So5LmL5ZCO77yM5bCx5b6X6ICD6JmR5aW955So77yM5pei54S25a6J6KOF5LqGSnVweXRlcu+8jOW9k+eEtuaDs+eUqGp1cHl0ZXIgbm90ZWJvb2vkvZzkuLrlvIDlj5Hnjq/looPvvIwNCui/meagt+aIkeS5n+S4jeeUqOmikee5geeZu+W9leacjeWKoeWZqOS6hu+8jOWPr+S7peebtOaOpeWcqOiHquW3seeUteiEkeS4iueZu+W9leacjeWKoeWZqOeahGp1cHl0ZXIgbm90ZWJvb2vlhpnlkozmtYvor5Xku6PnoIHkuobjgIINCkFuYWNvbmRhM+mDveaYr+iHquW4pmp1cHl0ZXLnmoTvvIzmib7liLDphY3nva7mlofku7bvvIzkv67mlLnlr4bnoIHvvIznq6/lj6Pov5jmmK/pu5jorqTnmoQ4ODg477yM5L+u5pS55Li6cm9vdOWPr+eUqO+8jA0KYGMuTm90ZWJvb2tBcHAuYWxsb3dfcm9vdCA9IFRydWVg44CCDQoNCg0K5LmL5ZCO6ZyA6KaB6K6+572u5a+G56CB77yM5pa55rOV5piv5YWI55SoUHl0aG9u55Sf5oiQ5a+G5YyZ55qEU0hBMeaVo+WIl+egge+8jA0KYGBge3B5dGhvbn0NCmZyb20gbm90ZWJvb2suYXV0aCBpbXBvcnQgcGFzc3dkDQpwYXNzd2QoKQ0KYGBgDQoNCui+k+WFpeWvhuWMmeWQjuWwhlNIQTHnoIHlpI3liLbliLDorr7nva7mlofku7bkuK3vvIwNCmBjLk5vdGVib29rQXBwLnBhc3N3b3JkID0gdSdzaGExOidg44CCDQoNCmBqdXB5dGVyIG5vdGVib29rYO+8jOaPkOekuuW3sumDqOe9su+8jOS9huWcqOiHquW3seeUteiEkeS4iuWwseaYr+S4iuS4jeS6huOAgg0KDQoqIOino+WGsw0KDQrkuI3mlq3kuI7mlbDnrqHkuK3lv4Pnoa7orqTnq6/lj6PlkI7vvIzkuZ/nlKhgaXB0YWJsZXMgYOafpeeci+S6hu+8jOerr+WPo+ehruWunuW8gOaUvu+8jA0K5YaN5qyh5pCc57Si77yM5Y+R546wSnVweXRlcueahOmFjee9ruaWh+S7tuS4rei/mOacieS4qmlw5o6n5Yi255qE6K6+572u77yMDQrlsIblhYHorrjorr/pl65pcOaUueS4uuaYn+WPt++8jGBjLk5vdGVib29rQXBwLmlwID0gJyonYO+8jOeEtuWQjue7p+e7reaKpemUme+8jA0K6L+Y5pyJ5Liq5Lmf6KaB5L+u5pS577yMYGMuTm90ZWJvb2tBcHAuYWxsb3dfcmVtb3RlX2FjY2VzcyA9IFRydWVg77yMDQrlho3mrKHlkK/liqjvvIzlnKjoh6rlt7HnlLXohJHkuIrorr/pl67vvIzmiJDlip/vvIENCg0KIyMg6L+Y5pyJ5ZCO57utDQrkuIvnr4flsIbku4vnu43lrablhplzcGFya+S7o+eggeS4reeahOaUtuiOtw0K