您的位置:首页 > 其它

Elasticsearch集群部署搭建笔记

2019-05-21 10:31 92 查看

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
下面介绍Elasticsearch的集群部署的过程。

环境

[code]  |     服务器    | 可以成为主节点 | 可以成为数据节点 |
| 10.211.55.10 |      √       |      √        |
| 10.211.55.11 |      √       |      √        |
| 10.211.55.12 |      √       |      √        |
| 10.211.55.13 |      √       |      √        |

软件版本

[code]Elasticsearch 6.5.4
JDK 1.8

详细步骤

JDK安装

JDK的下载地址:

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

解压JDK压缩包到:
/usr/local/
,重命名为jdk1.8,jdk的完整路径就是:
/usr/local/jdk1.8

配置JDK环境变量:

[code]vi /etc/profile

export JAVA_HOME=/usr/local/jdk1.8
export PATH=${JAVA_HOME}/bin:$PATH

source /etc/profile

Elasticsearch安装

Elasticsearch下载地址:

https://www.elastic.co/downloads/elasticsearch

下载Linux版本解压到

/usr/local/elasticsearch-6.5.4
目录。

由于Elasticsearch不能用root用户启动,所以创建一个叫es的用户,命令如下:

adduser es

修改密码:

passwd es

回车后输入es的密码。

更改目录权限:

sudo chmod 777 -R /usr/local/elasticsearch-6.5.4

更改文件:

[code]vi /etc/security/limits.conf

* hard nofile 65536
* soft nofile 65536
[code]vi /etc/sysctl.conf

vm.max_map_count=655360

更新完上面两个文件后执行以下命令更新:

sysctl -p

修改Elasticsearch的配置文件:

[code]vi elasticsearch-6.5.4/config/elasticsearch.yml

network.host: 10.211.55.10 #对应机器的IP
http.port: 9200

切换到es用户,cd到Elasticsearch的bin目录下,后台模式启动Elasticsearch:

./elasticsearch -d

在浏览器访问:http://ip:9200/
出现Elasticsearch相关信息就说明Elasticsearch已经正确启动了。

其他节点都照着这个步骤搭建,把每台机的环境搭建起来。

配置集群信息

编辑elasticsearch-6.5.4/config/elasticsearch.yml文件,配置如下:

[code]vi elasticsearch-6.5.4/config/elasticsearch.yml

#集群的名称
cluster.name: es6.5
#节点名称,其余两个节点分别为node-2 和node-3
node.name: node-1  #其他节点请改名为node-N
#指定该节点是否有资格被选举成为master节点,默认是true,es是默认集群中的第一台机器为master,如果这台机挂了就会重新选举master
node.master: true
#允许该节点存储数据(默认开启)
node.data: true
#索引数据的存储路径
path.data: /usr/local/elasticsearch-6.5.4/data
#绑定的ip地址
network.host: 10.211.55.10  #其他节点改为对应的服务器IP
#设置对外服务的http端口,默认为9200
http.port: 9200
# 设置节点间交互的tcp端口,默认是9300
transport.tcp.port: 9300
#配置单播发现的主节点ip地址,其他从节点要加入进来,就得去询问单播发现机制里面配置的主节点我要加入到集群里面了,主节点同意以后才能加入,然后主节点再通知集群中的其他节点有新节点加入,这个是各个节点不同的配置,反正就是配置上排除自己再外的其他节点
discovery.zen.ping.unicast.hosts: ["192.168.8.101:9300", "192.168.8.103:9300", "192.168.8.104:9300"]
#这个参数控制的是,一个节点需要看到的具有master节点资格的最小数量,然后才能在集群中做操作。官方的推荐值是(N/2)+1,其中N是具有master资格的节点的数量(我们的情况是4,因此这个参数设置为3,但对于只有2个节点的情况,设置为2就有些问题了,一个节点DOWN掉后,你肯定连不上2台服务器了,这点需要注意)。
discovery.zen.minimum_master_nodes: 3

在各个节点都配置好后,切换到es用户进行启动,进入/usr/local/elasticsearch-6.5.4/bin,执行命令:

./elasticsearch -d

在浏览器输入http://10.211.55.10:9200/
可以看到:

说明集群部署已经成功了。是不是很简单?!



 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: