A:本腳本運行的機器,Linux RHEL6
B,C,D,...:待安裝zookeeper cluster的機器, Linux RHEL6
首先在腳本運行的機器A上確定可以ssh無密碼登錄到待安裝zk的機器B,C,D,...上,然后就可以在A上運行本腳本:
代碼如下:
$ ./install_zookeeper
前提:
B, C, D機器必須配置好repo,本腳本使用的是cdh5的repo, 下面的內容保存到:/etc/yum.repos.d/cloudera-cdh5.repo:
代碼如下:
[cloudera-cdh5]
# Packages for Cloudera's Distribution for Hadoop, Version 5, on RedHat or CentOS 6 x86_64
name=Cloudera's Distribution for Hadoop, Version 5
baseurl=http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/5/
gpgkey = http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera
gpgcheck = 1
enabled = 1
自動安裝腳本將自動在B,C,D機器上安裝好zookeeper, 配置好相關配置文件。但沒有啟動它們。支持1,3,5,7個服務器。
代碼如下:
#!/bin/bash
#
# @file
# install_zookeeper.sh
#
# @date
# 2014-12-21
#
# @author
# cheungmine@hgdb.net
#
# @version
# 0.0.1pre
#
# @usage
# ./install_zookeeper.sh
################################################################################
#***********************************************************
# split_to_array
# split string into array
#***********************************************************
function split_to_array() {
OLD_IFS="$IFS"
IFS="$2"
array=($1)
IFS="$OLD_IFS"
}
#***********************************************************
# install_zookeeper
# install zookeeper on 1, 3 or 5 servers
#
# Parameters:
# clientPort - the port at which the clients will connect to
# servers - varying arguments: 1, 3, 5, up to 7
# "zkServer:serverPort:appPort"
# zkServer - ipaddr of zookeeper server
# serverPort - communication port for zookeeper servers
# appPort - communication port between zookeeper with other applications
#
# Example:
# 1) install_zookeeper 2181 zk1 zk2 zk3
# 2) install_zookeeper 2181 192.168.122.201 192.168.122.202 192.168.122.203
新聞熱點
疑難解答