业务60TB数据迁移-降本开始!
目的是为了降低成本,60TB在hdfs上需要太多的成本。如果完成,可以降本公司运维30%的
首先,我们设计思路。
1.拿到所有场站id,场站id区分风能和光能。因为场站id对应hdfs目录,目录命名用的就是场站id。
2.hadoop 命令提交搬迁任务,提交s3,接下来的几天,我会解释这里面用到的所有技术,搭建、理论、编码、使用。
首先,我们需要python2.7,然后集成anaconda 库,因为,使用pip安装的包,版本不对。
这里先解释下conda、anaconda这些概念的差别。conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。
![](https://wx1.sinaimg.cn/large/005A3Hwygy1fmhhhf56s4j30i6034dg9.jpg)
现在理解了吗,不理解没事,
http://python.jobbole.com/86236/
后面会重新说。
我们先来直接搭建。
前提是,anaconda太大了,我只用conda,这个看自己,500MB,对于我来说不可接受。
首先进入python的scripts目录,然后pip安装conda
![](https://wx1.sinaimg.cn/large/005A3Hwygy1fmhhlp17oaj30hm07iaa9.jpg)
报错没有这个版本对应的,pip和conda是对着干的,可能这里有诈,我们百度。
对了,windows的cmd比较难受,推荐cmder来操作,可以复制
下载地址:
http://cmder.net/
![](https://wx1.sinaimg.cn/large/005A3Hwygy1fmhhpz5fwbj30oc0cywow.jpg)
这里我们发现,conda其实是在anaconda里面,我在网上找到了,miniconda,来看一下。
![](https://wx2.sinaimg.cn/large/005A3Hwygy1fmhi0zve2nj30ea0fj0u7.jpg)
Anaconda下载地址:http://continuum.io/downloads
Miniconda下载地址:https://conda.io/miniconda.html
![](https://wx4.sinaimg.cn/large/005A3Hwygy1fmhi7s1sf8j30dz0atwg1.jpg)
这里要安装了。我也不知道会怎么样。
选好了位置就下载吧。添加环境变量。好像200多兆,如果是anaconda的话,会有3个G(自己没有试过,你可以试一下然后留言给我)
其实最后的步骤,我们装了这么多东西,是因为,我们借鉴的demo需要使用AES加密,但是报错,所以想用conda来安装crypto,但是conda我们安装失败,他自己会集成python,总是冲突,我的idea引用失败。所以,还是想办法,来用pip安装crypto
![](https://wx2.sinaimg.cn/large/005A3Hwygy1fmhioixgtpj30dh04mjrd.jpg)
在网上找到了
pip install pycrypto -i http://mirrors.aliyun.com/pypi/simple/
![](https://wx3.sinaimg.cn/large/005A3Hwygy1fmhir37pbzj30r4051tah.jpg)
阿里云的,还是不行。我直接去目录下载算了。
之前报错是版本不合适,难道这里我们要,可能pycrypto版本已经定了,但是,python版本小版本不一样,后面可能要换python版本。
![](https://wx4.sinaimg.cn/large/005A3Hwygy1fmhiswrhpdj30w00dtq4e.jpg)
点进去,看一下
![](https://wx4.sinaimg.cn/large/005A3Hwygy1fmhit5gmnkj30bg08l0tf.jpg)
说实话,我也不知道哪个版本和我的python版本对应,麻烦了。
![](https://wx3.sinaimg.cn/large/005A3Hwygy1fmhk8l286pj30vt0hpn0a.jpg)
手动装版本。也不对吗?
![](https://wx3.sinaimg.cn/large/005A3Hwygy1fmhk82ac73j30ku0fs75y.jpg)
这下问题麻烦了。
缺少变异环境呢,我的天。下载地址:
https://www.microsoft.com/en-us/download/confirmation.aspx?id=44266
服了,卡了几个小时,
![](https://wx4.sinaimg.cn/large/005A3Hwygy1fmhka9w7yoj30ij06bjrl.jpg)
我靠,下载试试
![](https://wx4.sinaimg.cn/large/005A3Hwygy1fmhkfg2gc8j30bi082js8.jpg)
厉害了,这个库要这个东西啊
![](https://wx1.sinaimg.cn/large/005A3Hwygy1fmhkfsn3iqj30dv0asdgs.jpg)
需要C++类库
![](https://wx2.sinaimg.cn/large/005A3Hwygy1fmhkg7g7e5j30dv0asmxr.jpg)
再试最后一次,不行的话,我们直接换anaconda了。
好了,安装好了msi,我们看,pycrypto,成功了。
![](https://wx1.sinaimg.cn/large/005A3Hwygy1fmhkpu7voej30q80l3765.jpg)
可见
![](https://wx3.sinaimg.cn/large/005A3Hwygy1fmhkq042tyj30s20610tm.jpg)
来看一看,成功了。现在需要这个,我们也去集成一下,直接用idea,pycharm集成即可
![](https://wx1.sinaimg.cn/large/005A3Hwygy1fmhkrydixtj30l605s3yz.jpg)
ok了,我们可以看一下了。
![](https://wx4.sinaimg.cn/large/005A3Hwygy1fmhktkjar4j30r60kw767.jpg)
我快疯了。没有办法了。用那个3个g的吧。
![](https://wx4.sinaimg.cn/large/005A3Hwygy1fmhlcgy4e4j30bw0bddgw.jpg)
哦,是4个g,厉害了。
有一说一,用起来还是很简单的。直接python选择小设置,左侧选择装载工具即可。
![](https://wx1.sinaimg.cn/large/005A3Hwygy1fmhlex29zrj30pt053mxt.jpg)
勾选
![](https://wx1.sinaimg.cn/large/005A3Hwygy1fmhlfdkm8tj30ob07w75l.jpg)
注意选择2.7
最后试一下吧,没有办法了,秋后大蚂蚱。
![](https://wx4.sinaimg.cn/large/005A3Hwygy1fmhlgy7dicj30rf07l753.jpg)
很熟悉的报错,然后我们用conda装载一下。
conda已经集成
![](https://wx2.sinaimg.cn/large/005A3Hwygy1fmhli4guwrj30l00d50v9.jpg)
现在我们启用cmder,开始装载,这是背水一战,这次不行,我们就会使用白名单,不要严密了。
![](https://wx3.sinaimg.cn/large/005A3Hwygy1fmhljm4sg8j30is0autai.jpg)
安装之后呢,conda install Crypto
![](https://wx4.sinaimg.cn/large/005A3Hwygy1fmhlkivp4kj30dy0b53zb.jpg)
不知道这个能不能成,哎,等等看吧。
我曹,成功!!!!
成功了!
![](https://wx1.sinaimg.cn/large/005A3Hwygy1fmhn21s8sjj30va07ewfk.jpg)
赶紧记录成功办法:
cd C:\Python27\Scripts
easy_install pycrypto
使用传统的方式。
![](https://wx1.sinaimg.cn/large/005A3Hwygy1fmhn34feb1j30qw090di2.jpg)
ok,现在好像可以了。我们开始调试,开发代码吧。所有的python库搞定了,我的天,搞了一下午啊。难受。
接下来的一天,我主要做了代码编写,环境好了以后,代码的编写就快多了。
很舒服。具体怎么回事,我放到一起说吧。下面再说吧。