Linux系统下Elasticsearch 2.4.0安装

163 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

一、基础环境安装配置(所有节点)

ES集群一般建议节点数量为8,3台data节点,3台master节点,2台client节点,如有更高的需求,按照比例调整节点数量即可,若建立很小的集群仅用于测试或者其他,3个节点即可,本文以3节点集群为例
1、安装java环境

链接:pan.baidu.com/s/1sDXtxyZc…
提取码:fis9

rpm -ivh jdk-8u92-linux-x64.rpm

配置java环境 vi /etc/profile,在最后添加以下配置:

#set java environment
export JAVA_HOME=/usr/java/jdk1.8.0_92/
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

加载刚才设置的变量

source /etc/profile
2、安装dstat插件(可选择安装,便于还原的数据量很大时,可通过机器实时数据传输观察还原进度)

链接:pan.baidu.com/s/1eHUbOfJG…
提取码:qkg0

rpm -ivh --nodeps dstat-0.7.2-12.el7.noarch.rpm

二、安装配置ES(所有节点)

1、安装ES,并设置开机自启

链接:pan.baidu.com/s/1AgWnsauz…
提取码:9bm0

rpm -ivh elasticsearch-2.4.0.rpm
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service
2、sshfs组件安装

链接:pan.baidu.com/s/1n78O1gGh…
提取码:n89g

rpm -ivh fuse-libs-2.9.2-7.el7.x86_64.rpm  
rpm -ivh fuse-sshfs-2.5-1.el7.rf.x86_64.rpm --force --nodeps
3、head iq hk插件安装

链接:pan.baidu.com/s/1bCJ64SEa…
提取码:fbaj

cp -rp /root/plugins/* /usr/share/elasticsearch/plugins/
4、ES配置
vim /etc/elasticsearch/elasticsearch.yml

配置信息:

角色区分:(如本节点为data节点,则node.master: false,node.data: true;如本节点为master节点,则node.master: true,node.data: false;如本集群为client节点,则node.master: false,node.data: false;本文集群因只有三个节点,则这三个节点既当data也当mater)
node.master: true
node.data: true

cluster.name: test_one #集群名(唯一)
node.name: node-118 #节点名称(每个节点不同)
path.data: /data1/es/data #数据存储目录,可配置多个,用“,”隔开
path.logs: /data1/es/logs #日志存储目录
path.repo: ["/data1/es/backups"]
network.host: 192.168.0.103 #本机IP
http.port: 9200 #访问端口
discovery.zen.ping.unicast.hosts: ["192.168.0.103", "192.168.0.104", "192.168.0.105"] #集群中master节点所在IP
cluster.routing.allocation.disk.watermark.low: "90%" #es所占数据盘容量的最大百分比
http.enabled: true    #head插件是否可在浏览器中查看
http.cors.enabled: true
http.cors.allow-origin: "*"
bootstrap.memory_lock: true
discover.zen.ping_timeout: 120s   #超时ping
discovery.zen.minimum_master_nodes: 1   #最少主节点数
#es.plugin.safe.open: true     #safe插件可用
#es.plugin.safe.from: 1000
#es.plugin.safe.size: 1000
#es.plugin.safe.onlyWhiteListAllowDelete: true   #safe插件白名单可删除修改
#es.plugin.safe.whiteList: ["192.168.0.103", "192.168.0.104"]    #白名单IP,加哪台,哪台可做删除操作

vi /etc/sysconfig/elasticsearch

ES_HEAP_SIZE=32g  #大小为内存一半
5、相关目录创建
mkdir -p /data1/es/{data,logs,backups} 
chmod 777 -R /data1/es/*
集群搭建完毕,可通过head插件查看
http://IP:9200/_plugin/head/

三、数据备份还原

1、数据还原

建立连接,以需要还原的数据存放在/root/backup_darren/目录为例(所有节点均需建立连接,连接到需要还原的数据目录),建立连接之后可通过df -h命令查看

sshfs root@192.168.0.103:/root/backup_darren/ /data1/es/backups/ -o allow_other

创建仓储(以仓储名为cangku为例)(集群中任意节点)

curl -XPUT http://192.168.0.103:9200/_snapshot/cangku -d '{"type": "fs","settings":{"compress": true,"location": "/data1/es/backups"}}'

数据恢复(集群中任意节点)

curl -XPOST http://192.168.0.103:9200/_snapshot/cangku/test17101/_restore

可通过dstat命令查看机器数据传输或者head插件中查看数据还原进度

2、 备份

进行备份(cangku仓储名 cangku_2备份之后的名字)

curl -XPUT http://192.168.0.103:9200/_snapshot/cangku/cangku_2 -d '{"indices": "ld..stats,ld.log-","ignore_unavailable": true,"include_global_state": false}'

查看备份进度

curl -XGET http://192.168.0.103:9200/_snapshot/cangku/cangku_2/_status