Elasticsearch单主机多节点集群配置

Elasticsearch单主机多节点配置

系统版本

[Elastic@ansible-master elasticsearch]$ lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.6.1810 (Core)
Release: 7.6.1810
Codename: Core

JAVA版本

[Elastic@ansible-master elasticsearch]$ java -version
java version “12.0.1” 2019-04-16
Java™ SE Runtime Environment (build 12.0.1+12)
Java HotSpot™ 64-Bit Server VM (build 12.0.1+12, mixed mode, sharing)

Es版本

[Elastic@ansible-master bin]$ curl http://192.168.0.1:9200
“name” : “es-node1”,
“cluster_name” : “test-es”,
“cluster_uuid” : “EB7JncpdSQWBHNP0HICsAw”,
“version” : {
“number” : “6.5.4”,
“build_flavor” : “default”,
“build_type” : “tar”,
“build_hash” : “d2ef93d”,
“build_date” : “2018-12-17T21:17:40.758843Z”,
“build_snapshot” : false,
“lucene_version” : “7.5.0”,
“minimum_wire_compatibility_version” : “5.6.0”,
“minimum_index_compatibility_version” : "5.0.0
“tagline” : “You Know, for Search”

创建并切换到普通用户

因es不能够使用root来启动,所以需创建普通用户来启动es
useradd Elastic
su - Elastic

JDK环境配置

在环境变量配置文件添加如下内容
JAVA_HOME=/usr/local/Java/jdk-12.0.1
JRE_HOME=/usr/local/Java/jdk-12.0.1/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

内核参数

sed -i ‘$avm.max_map_count = 655360’ /etc/sysctl.conf

用户限制参数

sed -i ‘$aElastic - nofile 65536’ /etc/security/limits.conf

es内存大小

切换到普通用户
sed -i ‘$aexport ES_HEAP_SIZE=512M’ ~/.bash_profile(因测试虚机内存较小,顾设置为512M,)
source ~/.bash_profile

获取压缩包

Es:https://www.elastic.co/cn/downloads/
JDK:http://jdk.java.net/java-se-ri/

解压压缩包

tar xf elasticsearch-6.5.4.tar.gz
mv elasticsearch-6.5.4 elasticsearch1
cp elasticsearch1 elasticsearch2

修改elasticsearch1的主配置文件

Vim conf/elasticsearch.yml
添加如下内容:
###集群名称,集群内所有的这个要相同###
cluster.name: Elasticsearch
###节点名称,每个节点的名称要区分开来###
node.name: es-node1
###是否可以被选举成master节点,一般来说都是为true的,除了你会使用单个节点去作为master##
node.master: true
###是否可称为数据节点###
node.data: true
###是否压缩TCP传输时的数据,默认为false###
transport.tcp.compress: true
###集群内使用的接口号,这个不能够跟端口号相同
transport.tcp.port: 9300###
###数据存放的位置###
path.data: /data/elasticsearch/data
###日志存放的位置###
path.logs: /data/elasticsearch/logs
###本机的IP###
network.host: 192.168.0.1
###使用的端口号###
http.port: 9200
###集群内的节点###
discovery.zen.ping.unicast.hosts:[“192.168.0.1:9300”, “192.168.0.1:9301”]
###有多少节点存活的情况下,集群可以正常运行,计算方式为n/2+1
discovery.zen.minimum_master_nodes: 1

修改elasticsearch2的主配置文件

Vim conf/elasticsearch.yml
添加如下内容:
###集群名称,集群内所有的这个要相同###
cluster.name: Elasticsearch
###节点名称,每个节点的名称要区分开来###
node.name: es-node1
###是否可以被选举成master节点,一般来说都是为true的,除了你会使用单个节点去作为master##
node.master: true
###是否可称为数据节点###
node.data: true
###是否压缩TCP传输时的数据,默认为false###
transport.tcp.compress: true
###集群内使用的接口号,这个不能够跟端口号相同###
transport.tcp.port: 9301
###数据存放的位置###
path.data: /data/elasticsearch1/data
###日志存放的位置###
path.logs: /data/elasticsearch1/logs
###本机的IP###
network.host: 192.168.0.1
###使用的端口号###
http.port: 9201
###集群内的节点###
discovery.zen.ping.unicast.hosts:[“192.168.0.1:9300”, “192.168.0.1:9301”]
###有多少节点存活的情况下,集群可以正常运行,计算方式为n/2+1
discovery.zen.minimum_master_nodes: 1

启动elasticsearch1
  1. 使用后台启动方式,使用nohup把程序放在后台运行
    nohup ./elasticsearch1/bin/elasticsearch &
  2. 等待一会儿,使用netstat查看端口信息
    netstat -an | grep 9200
启动elasticsearch2
  1. 使用后台启动方式,使用nohup把程序放在后台运行
    nohup ./elasticsearch1/bin/elasticsearch &
  2. 等待一会儿,使用netstat查看端口信息
    netstat -an | grep 9201
检查节点和集群信息
查看节点信息

[Elastic@Elasticsearch-1 elasticsearch1]$ curl -XGET http://192.168.0.1:9200/_cat/nodes?v
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
192.168.0.1 39 97 1 1.72 1.13 0.48 mdi * es-node1
192.168.0.1 21 97 29 1.72 1.13 0.48 mdi - es-node2

查看集群状态

[Elastic@Elasticsearch-1 elasticsearch1]$ curl -XGET http://192.168.0.1:9200/_cluster/health?pretty
{
“cluster_name” : “test-es”,
“status” : “green”,
“timed_out” : false,
“number_of_nodes” : 2,
“number_of_data_nodes” : 2,
“active_primary_shards” : 0,
“active_shards” : 0,
“relocating_shards” : 0,
“initializing_shards” : 0,
“unassigned_shards” : 0,
“delayed_unassigned_shards” : 0,
“number_of_pending_tasks” : 0,
“number_of_in_flight_fetch” : 0,
“task_max_waiting_in_queue_millis” : 0,
“active_shards_percent_as_number” : 100.0
}

完成

注意事项: 集群的master节点是可以自动选举或者是自己定义的,这使用的是自动选举,如果一个节点宕机,那么另外一个节点就会自动选举为master,保证业务的正常运行,在实际生产环境中可以使用多个节点来保证业务的稳定性

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值