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账户密码的命令如下:
sudo passwd root
Hadoop集群配置文件需要通过主机名访问,故需要设置当前主机的主机名。临时设置主机名的方法为:
sudo hostname master1
永久设置主机名的方法为:
echo "master1" > /etc/hostname
root@master1:~$ sudo vi /etc/network/interfaces
auto eth1
iface eth1 inet static
address 10.211.55.1
broadcast 10.211.55.255
netmask 255.255.255.0
gateway 10.211.55.1
network 10.211.55.0
dns-nameservers 114.114.114.114
#
# Copyright 2017 Fa1c0n. All Rights Reserved.
#
# Project Application: Hadoop 2.8.0 HA Deployment Script
# Contact: i@fa1c0n.com
# Github: https://github.com/Fa1c0nSec
# Current File: Hadoop HA Setup Procedure InstallRC Setting
#
# Licensed under the GNU General Public License, Version 3.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.gnu.org/licenses
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# GENERAL COMMON VARIABLES
HOST_NAME=master1
MASTER1_IP=10.211.55.20
MASTER2_IP=10.211.55.19
MASTER3_IP=10.211.55.18
MASTER1_USRNAME=root
MASTER2_USRNAME=root
MASTER3_USRNAME=root
MASTER1_PWD=root
MASTER2_PWD=root
MASTER3_PWD=root
INSTALLATION_PATH=/data/dev/
127.0.0.1 localhost
127.0.1.1 Fa1c0n-MacBook-Pro
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
10.211.55.20 master1
10.211.55.19 master2
10.211.55.18 master3
将三台主机名以及对应IP填写到hosts文件后,分别在三台主机执行以下命令:
cp hosts /etc/hosts
可重启网络服务( /etc/init.d/networking restart
)或重启计算机以生效。 以上步骤完成后,可返回至主脚本目录,输入以下命令即可开始安装:
./main.sh
进入主程序,效果如下:
+------------------------------------------------+
| Hadoop HA Installation |
|------------------------------------------------|
| Script Development : Fa1c0n |
|------------------------------------------------|
| 1) Environment Configuration |
| 2) SSH Service Configuration |
| 3) JDK Installation |
| 4) ZooKeeper Installation |
| 5) Hadoop Installation |
| 6) Zookeeper Service Start |
| 7) Hadoop First Initialize (master1) |
| 8) Hadoop Service Start |
| 9) Data Directory Copy(DISABLED) |
| 10) EXIT |
+------------------------------------------------+
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,选否即可。
由于脚本执行过程中环境变量生效,若配置完成后不重启主机,若要使环境变量生效,请执行:
source /etc/profile
指令使环境变量生效,故可使用jps、java、javac等命令。若重启主机,则自动生效。
后期可能会加入Hbase、Hive、Pig、Mahout、Spark、Storm、Kafka等项目的安装。加入时间依开发者时间而定。
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。
以上是关于Hadoop 2.8.0 双机集群高可用系统自动化部署脚本的主要内容,如果未能解决你的问题,请参考以下文章