ElasticSearch系列(6) 集群快速安装及升级技巧

centos 上,安装单机的elasticsearch,使用yum命令很方便。

但在集群安装时,就需要重复在多个虚机中安装,比较麻烦。

办法一:

先在一台虚机中安装elasticsearch,kibana,x-pack,分词组件等。再进行虚机复制。

为避免虚机复制后,可能需要重复修改配置,可以使用一些技巧来避免重复修改

elasticsearch.yml 中:

#使用主机名称作为节点名称

node.name: ${HOSTNAME}   

#主机ip配置

network.host: 0.0.0.0

# 这里列出集群的全部节点的IP

discovery.zen.ping.unicast.hosts: ["192.168.2.11", "192.168.2.12", "192.168.2.13", "192.168.2.14"]


同样,kibana.yml中也可以同样

server.host: 0.0.0.0


办法二:

当虚机已经复制好,需要安装多个es的节点,或者需要对集群进行升级时,就必须在多个虚假中重复执行安装。

如果集群规模较大,使用yum安装需要重复下载,过程较长。

为避免重复下载,可以在一个虚机(或其他局域网内一台机器上)下载,其他的使用已经下载的安装包进行更新,可以加速安装过程

在一台机器(如 192.168.2.81)上,配置一个httpd的服务,把es的安装包下载后,通过http共享给其他机器使用。

在/var/www/html/ 中创建  download/elasticsearch目录

其中加入一个sh脚本(es-dnload.sh)如下:

[elasticsearch]$ more es-dnload.sh
#!/bin/bash
ES_VERSION="5.2.2"
ES_BASEURL="https://artifacts.elastic.co/downloads"

wget ${ES_BASEURL}/kibana/kibana-${ES_VERSION}-x86_64.rpm
wget ${ES_BASEURL}/elasticsearch/elasticsearch-${ES_VERSION}.rpm
wget ${ES_BASEURL}/packs/x-pack/x-pack-${ES_VERSION}.zip
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v${ES_VERSION}/elasticsearch-analysis-ik-${ES_VERSION}.zip

执行该脚本后,完成安装包的下载

这样,在 http://192.168.2.81/download/elasticsearch中,就能看到以上已经下载好的文件包 (elasticsearch,  kibana,  x-pack,analysis-ik)


接下来,创建一个脚本 upgrade-es.sh,内容如下:

#!/bin/bash

URL_BASE="http://192.168.2.81/download/elasticsearch"
ES_VERSION="5.2.2"
ES_HOME="/usr/share/elasticsearch"
KIBANA_HOME="/usr/share/kibana"

echo "###"
echo "### cleaning current installation ... "
echo "###"

systemctl stop kibana
systemctl stop elasticsearch

rm -rf /var/log/elasticsearch/*
rm -rf /var/log/kibana/*

${ES_HOME}/bin/elasticsearch-plugin remove x-pack
${KIBANA_HOME}/bin/kibana-plugin remove x-pack

rpm -e elasticsearch
rpm -e kibana

echo "###"
echo "### install elasticsearch ${ES_VERION} and kibana ..."
echo "###"

for fn in "elasticsearch-${ES_VERSION}.rpm" "kibana-${ES_VERSION}-x86_64.rpm" 
do 
  wget ${URL_BASE}/${fn}


  if [ ! -f "$fn" ]; then
    echo “$fn” not exist
    exit
  fi

  rpm --install ${fn}
  rm ${fn}
done

echo "###"
echo "### installing x-pack ..."
echo "###"

fn=x-pack-${ES_VERSION}.zip
wget ${URL_BASE}/${fn}

if [ ! -f "$fn" ]; then
  echo "$fn" not exist
  exit
fi

path=`pwd`

${ES_HOME}/bin/elasticsearch-plugin install file://${path}/${fn}
${KIBANA_HOME}/bin/kibana-plugin install file://${path}/${fn}

rm ${fn}

echo "###"
echo "### install analysiz-ik ..."
echo "###"

fn=elasticsearch-analysis-ik-${ES_VERSION}.zip

wget ${URL_BASE}/${fn}
if [ ! -f "$fn" ]; then
  echo "$fn" not exist
  exit
fi

unzip -d "$ES_HOME"/plugins/analysis-ik ${fn}
rm ${fn}


echo "###"
echo "### restoring prev-config ..." 
echo "###"


cd /etc/elasticsearch
cp elasticsearch.yml.rpmsave elasticsearch.yml
cp jvm.options.rpmsave jvm.options
cd /etc/kibana
cp kibana.yml.rpmsave kibana.yml

这样,sudo ./upgrade-es.sh 就可以完成一台机器的升级

把upgrade-es.sh 复制到集群的其他节点上,执行脚本就可以快速完成安装




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值