CentOS7上Hadoop集群搭建与使用小记(三)——部署过程

预备工作

首先要按照(一)——预备工作中写的设置好要设置的东西。

接下来安装expect软件: yum install expect -y

再下载script.zip文件包,在yumsource机器下解压,目录如下:

1
[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文件下),例如:

1
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地址,例如:

1
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 即可。

如果在这个过程中发现:

  1. yum程序被卡死,需要手动切到对应的机器,kill到占用的进程
  2. 一些地方配置错误,导致整个程序不正常退出,那么再次运行本脚本即可

部署Python3 & Packages

在Spark中我需要集群跑Python3,因此每个机器都要安装Python3以及numpy, scipy, matplotlib等packages.

首先是Python3,下载官方的Python3源码,并且修改一些编译配置(很抱歉我忘了……出错上网搜就知道了),这样为了后面安装Python的package不出错。

然后安装一些必备的软件:

1
2
3
4
5
6
7
8
9
10
11
12
13
# 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就安装好了。

1
./configure --enable-shared
make clean
make
make install

下载好pip-8.1.0.tar.gz,接着安装pip3(利用之前安装好的python34-setuptools中的easy_install-3.4)

1
easy_install-3.4 pip-8.1.0.tar.gz

最后进入装有packages的文件夹,运行:

1
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下载到当前目录下的命令如下:

1
pip3 install --download ./ xxxpackage

以上过程我写成了一个脚本installPythonRelated.sh,虽然可以调用remoterunall.sh,但是由于安装过程过于漫长(而脚本是一个个机器顺序执行的),所以推荐利用applyall.sh写一个脚本(例如deployfiles.sh)将安装包分发的各个机器上,再手动在各个机器启动,同时并行安装。

部署Jupyter

如果安装了本文最开始的那些插件,那么Jupyter的安装方法也和部署numpy等安装包一样了:先下载下来相关的安装包,然后在对应的机器用pip3进行安装即可。


源地址:https://www.zybuluo.com/Vany/note/318186