") cd ${WO"og:type" content="webpage">") cd ${WO" /> ") cd ${WO"> 一键部署zookeeper集群_服务器_内存溢出

阅读 5

一键部署zookeeper集群,第1张



#!/bin/sh

#install

IS_REDO="NONE"

NODE_NUM=0

SERVER_IP=""

WORK_DIR=$(dirname "$0")

cd ${WORK_DIR}

if [ "X"${WORK_DIR} = "X" ] ; then

WORK_DIR=""

fi

while :

do

IS_REDO="NONE"

NODE_NUM=0

SERVER_IP="" echo -n "请输入需要安装DataOS的服务器IP地址(单机格式:IP,集群

格式:IP1,IP2,IP3) => "

read INSTALL_NODES_IPS

if [ "X"${INSTALL_NODES_IPS} = "X" ] ; then echo -e "输入IP[33[31m"${i}"e[0m]信息

无效,重新输入"

continue

fi

for i in `echo ${INSTALL_NODES_IPS} | sed 's/,/ /g'`

do

if ! echo ${i} | grep '[1-9][0-9]{0,2}[0-9]{1,3}[0-9]{1,3}[1-9][0-9]{0,2}' ; then

echo -e "输入IP[33[31m"${i}"e[0m]信息无效"

IS_REDO="REDO"

break

fi

SERVER_IP=$(echo $i | awk -F'' '{if((!($1 ~ /^0/) && !($4 ~ /^0/)) && ((length($2)>1 && !($2 ~ /^0/)) || length($2)==1) && ((length($3)>1 && !($3 ~ /^0/)) || length($3)==1)) printf "%d%d%d%d",$1,$2,$3,$4}' | awk -F'' '{if(($1>0 && $1=0 && $2=0 && $30 && $4<255)) printf "%d%d%d%d",$1,$2,$3,$4}')

if [ "X"${SERVER_IP} = "X" ] ; then

echo -e "输入IP[33[31m"${i}"e[0m]信息无效"

IS_REDO="REDO"

break

fi

NODE_NUM=$((${NODE_NUM}+1))

done

if [ "X"${IS_REDO} = "XNONE" ] ; then

if [ ${NODE_NUM} -ne 3 -a ${NODE_NUM} -ne 1 ] ; then echo -e "输入IP信息校验通过,但不满足[33[31m3个节点

e[0m]的DataOS集群初始化要求"

continue

fi

echo -e "输入IP信息校验通过,将初始化[33[32m"${NODE_NUM}"个节点e[0m]的DataOS集群"

rm -rf ${WORK_DIR}//nodes/

for i in `echo ${INSTALL_NODES_IPS} | sed 's/,/ /g'`

do

mkdir -p ${WORK_DIR}"//nodes/"${i}

done

break

else

continue

fi

done

#################检查DataOS集群各节点的软件环境,安装zookeeper服务

IDX=0

SERVER_IP=""

for SERVER_IP in `ls ${WORK_DIR}"//nodes/"`

do

let IDX=${IDX}+1 && touch ${WORK_DIR}//nodes/${SERVER_IP}/id=${IDX}

done

echo "请输入需要安装zookeeper服务的路径(例如:/data01) =>"

read zkPath

ZOOKEEPER_DATA_DIR=$zkPath/zookeeper/data

ZOOKEEPER_LOG_DIR=$zkPath/zookeeper/logs

tar -zxf ${WORK_DIR}//software/zookeepertargz -C /tmp

if [[ -n $(cat /tmp/zookeeper/conf/zoocfg |grep dataDir) ]] ;then

sed -i "s/^dataDir=/dataDir=${ZOOKEEPER_DATA_DIR/////}/g" /tmp/zookeeper/conf/zoocfg

else

echo "dataDir=${ZOOKEEPER_DATA_DIR}" >> /tmp/zookeeper/conf/zoocfg

fi

if [[ -n $(cat /tmp/zookeeper/conf/zoocfg |grep dataLogDir) ]] ;then

sed -i "s/^dataLogDir=/dataLogDir=${ZOOKEEPER_LOG_DIR/////}/g" /tmp/zookeeper/conf/zoocfg

else

echo "dataLogDir=${ZOOKEEPER_LOG_DIR}" >> /tmp/zookeeper/conf/zoocfg

fi

IDX=0

SERVER_IP=""

NodeIP1=""

NodeIP2=""

NodeIP3=""

for SERVER_IP in `ls ${WORK_DIR}//nodes//id= | sed 's/// /g' | sed 's/=/ /g' | awk '{printf "%s %s ",$(NF-2),$NF}' | sort -nk 2 | awk '{print $1}'`

do

let IDX=${IDX}+1

source ${WORK_DIR}"//scripts/initCluster" ${SERVER_IP} || exit 255

if [ ${IDX} -eq 1 ] ; then

NodeIP1=$SERVER_IP

elif [ ${IDX} -eq 2 ]; then

NodeIP2=$SERVER_IP

else

NodeIP3=$SERVER_IP

fi

done

echo "server1serverid=${NodeIP1}:2888:3888" >> /tmp/zookeeper/conf/zoocfg

echo "server2serverid=${NodeIP2}:2888:3888" >> /tmp/zookeeper/conf/zoocfg

echo "server3serverid=${NodeIP3}:2888:3888" >> /tmp/zookeeper/conf/zoocfg

IDX=0

SERVER_IP=""

for SERVER_IP in `ls ${WORK_DIR}//nodes//id= | sed 's/// /g' | sed 's/=/ /g' | awk '{printf "%s %s ",$(NF-2),$NF}' | sort -nk 2 | awk '{print $1}'`

do

let IDX=${IDX}+1

if [ ${IDX} -eq 1 ] ; then

echo 1 > /tmp/zookeeper/data/myid

sshpass -p "${SYSUSER_PASSWORD}" scp -o StrictHostKeyChecking=no -P ${SSH_PORT} /tmp/zookeeper ${SYSUSER_NAME}@${NodeIP1}:$zkPath

elif [ ${IDX} -eq 2 ]; then

echo 2 > /tmp/zookeeper/data/myid

sshpass -p "${SYSUSER_PASSWORD}" scp -o StrictHostKeyChecking=no -P ${SSH_PORT} /tmp/zookeeper ${SYSUSER_NAME}@${NodeIP2}:$zkPath

else

echo 3 > /tmp/zookeeper/data/myid

sshpass -p "${SYSUSER_PASSWORD}" scp -r -o StrictHostKeyChecking=no -P ${SSH_PORT} /tmp/zookeeper ${SYSUSER_NAME}@${NodeIP3}:$zkPath

fi

done


以上便是zookeeper集群的一键部署shell脚本,其中引用的initCluster脚本,将在后续更新。
一、集群搭建

1前置 *** 作

若克隆已有的es虚拟机,一定要清空一下文件:

2配置集群,修改elasticsearchyml

# 配置集群名称,保证每个节点的名称相同,如此就能都处于一个集群之内了

clustername: imooc-es-cluster

# 每一个节点的名称,必须不一样

nodename: es-node1

# > 欢迎分享,转载请注明来源:

内存溢出

原文地址:

http://outofmemory.cn/zz/10622633.html
名称
(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
木材阻燃剂 木材阻燃剂 一级用户组
怪物猎人2G昆虫
上一篇
2023-05-10
服务器怎么打开端口?
2023-05-10

发表评论
请登录后评论... 登录
提交

    评论列表(0条)
保存
{label} {label} ") cd ${WO', author : '木材阻燃剂', cat_name : '服务器', time_y_m : '2023年05月', time_d : '10', site_motto : '内存溢出' }; {script} {script}