Hadoop 2.8.0 双机集群高可用系统自动化部署脚本

Posted Fa1c0nSec

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop 2.8.0 双机集群高可用系统自动化部署脚本相关的知识,希望对你有一定的参考价值。

Hadoop 2.8.0 双机集群高可用系统自动化部署脚本

集群实验环境

开发及测试环境: 操作系统:Ubuntu Linux 16.04.1 LTS 64bit Java环境:Java Development Kit 1.8.121 Hadoop:2.8.0 HA Zookeeper:3.4.9 初版只支持3节点配置,后期更新可支持无限节点数量配置。 主机名:MASTER1/MASTER2/MASTER3

脚本使用方法

以刚刚安装完成的Ubuntu Linux 16.04.1 LTS系统为例,若要配置三节点集群,则步骤如下: 脚本执行需要root权限,新系统默认无root账户密码,配置root账户密码的命令如下:

 
   
   
 
  1. sudo passwd root

Hadoop集群配置文件需要通过主机名访问,故需要设置当前主机的主机名。临时设置主机名的方法为:

 
   
   
 
  1. sudo hostname master1

永久设置主机名的方法为:

 
   
   
 
  1. echo "master1" > /etc/hostname

 
   
   
 
  1. root@master1:~$ sudo vi /etc/network/interfaces

  2. auto eth1

  3. iface eth1 inet static

  4. address 10.211.55.1

  5. broadcast 10.211.55.255

  6. netmask 255.255.255.0

  7. gateway 10.211.55.1

  8. network 10.211.55.0

  9. dns-nameservers 114.114.114.114

 
   
   
 
  1. #

  2. #  Copyright 2017 Fa1c0n. All Rights Reserved.

  3. #  

  4. #  Project Application: Hadoop 2.8.0 HA Deployment Script

  5. #  Contact: i@fa1c0n.com

  6. #  Github: https://github.com/Fa1c0nSec

  7. #  Current File: Hadoop HA Setup Procedure InstallRC Setting

  8. #

  9. #  Licensed under the GNU General Public License, Version 3.0 (the "License");

  10. #  you may not use this file except in compliance with the License.

  11. #  You may obtain a copy of the License at

  12. #

  13. #      http://www.gnu.org/licenses

  14. #

  15. #  Unless required by applicable law or agreed to in writing, software

  16. #  distributed under the License is distributed on an "AS IS" BASIS,

  17. #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

  18. #  See the License for the specific language governing permissions and

  19. #  limitations under the License.

  20. # GENERAL COMMON VARIABLES

  21. HOST_NAME=master1

  22. MASTER1_IP=10.211.55.20

  23. MASTER2_IP=10.211.55.19

  24. MASTER3_IP=10.211.55.18

  25. MASTER1_USRNAME=root

  26. MASTER2_USRNAME=root

  27. MASTER3_USRNAME=root

  28. MASTER1_PWD=root

  29. MASTER2_PWD=root

  30. MASTER3_PWD=root

  31. INSTALLATION_PATH=/data/dev/

 
   
   
 
  1. 127.0.0.1    localhost

  2. 127.0.1.1    Fa1c0n-MacBook-Pro

  3. # The following lines are desirable for IPv6 capable hosts

  4. ::1     ip6-localhost ip6-loopback

  5. fe00::0 ip6-localnet

  6. ff00::0 ip6-mcastprefix

  7. ff02::1 ip6-allnodes

  8. ff02::2 ip6-allrouters

  9. 10.211.55.20    master1

  10. 10.211.55.19    master2

  11. 10.211.55.18    master3

将三台主机名以及对应IP填写到hosts文件后,分别在三台主机执行以下命令:

 
   
   
 
  1. cp hosts /etc/hosts

可重启网络服务( /etc/init.d/networking restart)或重启计算机以生效。 以上步骤完成后,可返回至主脚本目录,输入以下命令即可开始安装:

 
   
   
 
  1. ./main.sh

进入主程序,效果如下:

 
   
   
 
  1.    +------------------------------------------------+

  2.    |              Hadoop HA Installation            |

  3.    |------------------------------------------------|

  4.    |           Script Development : Fa1c0n          |

  5.    |------------------------------------------------|

  6.    |           1) Environment Configuration         |

  7.    |           2) SSH Service Configuration         |

  8.    |               3) JDK Installation              |

  9.    |             4) ZooKeeper Installation          |

  10.    |               5) Hadoop Installation           |

  11.    |             6) Zookeeper Service Start         |

  12.    |        7) Hadoop First Initialize (master1)    |

  13.    |              8) Hadoop Service Start           |

  14.    |          9) Data Directory Copy(DISABLED)      |

  15.    |                     10) EXIT                   |

  16.    +------------------------------------------------+

  17.    Please Input Selection Number:

由于初版bug,第9项已禁用,不要尝试使用第9项。 接下来分别在三台主机上按顺序开始从1-8执行即可。 注意:第四项ZooKeeper的安装需要保持三台主机同步,尽可能三台主机同时进行Zookeeper安装,ZooKeeper安装完成后要求系统重启,脚本中默认设置Zookeeper安装完成后三台主机自动重启,故需要确保三台主机重启时没有任务正在执行或同时执行ZooKeeper安装,可确保执行完成。

即使主机重启,本脚本支持接续上次安装停止的地方继续执行。如已经执行过1,再次执行系统会提示环境配置已完成,请继续下一项配置。若需要强制重新执行某项任务,可至/etc/fahdainstallationtag目录下删除指定的tag文件后即可进行该项安装。

服务启动顺序:Zookeeper -> Hadoop

请务必确保Zookeeper三台主机全部启动成功后再执行Hadoop启动/初始化命令。 第7项的初始化只需在master1主机上执行1次即可。其余只需要执行第8项。如询问是否需要格式化NameNode,选否即可。

由于脚本执行过程中环境变量生效,若配置完成后不重启主机,若要使环境变量生效,请执行:

 
   
   
 
  1. source /etc/profile

指令使环境变量生效,故可使用jps、java、javac等命令。若重启主机,则自动生效。

后期可能会加入Hbase、Hive、Pig、Mahout、Spark、Storm、Kafka等项目的安装。加入时间依开发者时间而定。

本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。


以上是关于Hadoop 2.8.0 双机集群高可用系统自动化部署脚本的主要内容,如果未能解决你的问题,请参考以下文章

Nginx 配置高可用的集群

高可用集群HA之双机集群

搭建Nginx高可用集群(keepalived+双机热备)

ha高可用集群配置(双机热备)

keepalive学习笔记

NEC高可用集群软件NEC EXPRESSCLUSTER是一款专业的高可用集群软件产品(双机热备软件)