@Vany
2016-03-26T16:59:09.000000Z
字数 2442
阅读 1434
Hadoop
CentOS
Shell
Bash
Ambari
首先要按照(一)——预备工作中写的设置好要设置的东西。
接下来安装expect软件: yum install expect -y
再下载script.zip文件包,在yumsource机器下解压,目录如下:
[root@yumsource script]# tree
.
├── addnewhost.sh
├── applyall.sh
├── configmaster.sh
├── hostlist
│ └── hostlist_new
├── init.sh
├── others
│ ├── ambari.repo
│ ├── configclient_template.sh
│ ├── deployclient.sh
│ ├── deployfiles.sh
│ ├── deploypubkeys.sh
│ ├── deploypythons.sh
│ ├── disSELinuxCfg
│ ├── hosts_template
│ ├── installmaster.sh
│ ├── installpython34.sh
│ ├── removefiles.sh
│ └── updatepython2.sh
├── remoterunall.sh
└── tf
设置好host列表(存在script文件夹的hostlist/hostlist_new文件下),例如:
10.15.198.204 master.hadoopcluster
10.15.198.205 slave1.hadoopcluster
10.15.198.206 slave2.hadoopcluster
10.15.198.207 slave3.hadoopcluster
10.15.198.208 slave4.hadoopcluster
10.15.198.200 slave5.hadoopcluster
10.15.198.202 slave6.hadoopcluster
最后需要特别说明的是,在script/others夹下有一个host_template文件,这里需要在最后手动加入yumsource的域名和ip地址,例如:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.15.198.214 yumsource.hadoop
在script目录下执行命令: ./init.sh hostlist/hostlist_new
即可。
如果在这个过程中发现:
在Spark中我需要集群跑Python3,因此每个机器都要安装Python3以及numpy, scipy, matplotlib等packages.
首先是Python3,下载官方的Python3源码,并且修改一些编译配置(很抱歉我忘了……出错上网搜就知道了),这样为了后面安装Python的package不出错。
然后安装一些必备的软件:
# for complier & python3 installation
yum install epel-release -y
yum install gcc-c++ -y
# for numpy or scipy or jupyter
yum install zlib-devel -y
yum install python34-devel -y
yum install blas-devel -y
yum install lapack-devel -y
# for easy_install-3.4
yum install python34-setuptools -y
# for matplotlib
yum install freetype-devel -y
yum install libpng-devel -y
接着在Python3的目录下,执行下面语句,Python就安装好了。
./configure --enable-shared
make clean
make
make install
下载好pip-8.1.0.tar.gz,接着安装pip3(利用之前安装好的python34-setuptools中的easy_install-3.4)
easy_install-3.4 pip-8.1.0.tar.gz
最后进入装有packages的文件夹,运行:
pip3 install --no-index --find-links=./ numpy
pip3 install --no-index --find-links=./ scipy
pip3 install --no-index --find-links=./ pandas
pip3 install --no-index --find-links=./ matplotlib
附:要安装对应的安装包是在别的有网的机器上下载下来的(注意:环境要一样,例如都是Linux-CentOS64位,且都是Python3的pip),将numpy下载到当前目录下的命令如下:
pip3 install --download ./ xxxpackage
以上过程我写成了一个脚本installPythonRelated.sh
,虽然可以调用remoterunall.sh,但是由于安装过程过于漫长(而脚本是一个个机器顺序执行的),所以推荐利用applyall.sh写一个脚本(例如deployfiles.sh)将安装包分发的各个机器上,再手动在各个机器启动,同时并行安装。
如果安装了本文最开始的那些插件,那么Jupyter的安装方法也和部署numpy等安装包一样了:先下载下来相关的安装包,然后在对应的机器用pip3进行安装即可。