ElasticSearch集群搭建-创新互联

ElasticSearch集群搭建

创新互联长期为成百上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为海城企业提供专业的成都网站建设、成都做网站,海城网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。

一、前言

   先介绍ElasticSearch的几个核心概念。

集群(cluster):

一个集群就是由一个或多个节点组织在一起,它们共同持有你整个的数据,并一起提供索引和搜索功能。一个集群由一个唯一的名字标识,这个名字默认就是“elasticsearch”。这个名字是重要的,因为一个节点只能通过指定某个集群的名字,来加入这个集群。

节点(node):

一个节点是你集群中的一个服务器,作为集群的一部分,它存储你的数据,参与集群的索引和搜索功能。和集群类似,一个节点也是由一个名字来标识的,默认情况下,这个名字是一个随机的名字,这个名字会在启动的时候赋予节点。这个名字对于管理工作来说很重要的,因为在管理过程中,可以确定网络中的哪些服务器对应于Elasticsearch集群中的哪些节点。

一个节点可以通过配置集群名称的方式来加入一个指定的集群。默认情况下,每个节点都会被安排加入到一个叫做“elasticsearch”的集群中,这意味着,如果你在你的网络中启动了若干个节点,并假定它们能够相互发现彼此,它们将会自动地形成并加入到一个叫做“elasticsearch”的集群中。

在一个集群里,只要你想,可以拥有任意多个节点。而且,如果当前你的网络中没有运行任何Elasticsearch节点,这时启动一个节点,会默认创建并加入一个叫做“elasticsearch”的集群。

二、准备工作

搭建有3个节点的集群,准备3台服务器。

192.168.2.86

192.168.2.87

192.168.2.88

官网下载安装包

https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.0.0.tar.gz

安装第三方epel源

rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

安装JDK环境(所有机器)

http://120.52.72.24/download.oracle.com/c3pr90ntc0td/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz

cd /usr/local tar -zxf jdk-8u131-linux-x64.tar.gz ln -sv jdk1.8.0_131/ jdk   vi /etc/profile.d/jdk.sh

添加以下内容

export JAVA_HOME=/usr/local/jdk

export PATH=$PATH:/usr/local/jdk/bin

~

chmod 755 /etc/profile.d/jdk.sh . /etc/profile.d/jdk.sh

验证Java环境

ElasticSearch集群搭建

修改ulimit限制(所有机器)

vi /etc/security/limits.d/90-nproc.conf

*      soft nproc      10240

*      hard  nproc      10240

*      soft nofile       65536

*      hard  nofile       65536

vi /etc/sysctl.conf

添加下面内容

vm.max_map_count = 262144

然后执行以下命令

sysctl -p

三、安装配置集群

创建一个ELK目录,ElasticSearch安装在这个目录下。

[root@localhost local]#mkdir elk [root@localhost local]# cd elk/

安装Head插件:

先安装Head插件,它是一个管理ElasticSearch集群的工具(这步只需在192.168.2.86安装)

yum install npm git  #安装node.js git clonegit://github.com/mobz/elasticsearch-head.git cd elasticsearch-head npm install npm run start &  或者 grunt server 启动

通过http://192.168.2.86:9100/ 登录查看

ElasticSearch集群搭建

安装ElasticSearch

解压ElasticSearch安装包到ELK目录下

[root@localhost local]# tar -zxfelasticsearch-5.3.0.tar.gz

下面开始配置ElasticSearch集群,编辑配置文件

[unilife@localhost config]$ pwd /home/unilife/elk/elasticsearch-cluster2/config [unilife@localhost config]$ vi elasticsearch.yml

添加以下配置内容

cluster.name: unilifemedia

node.name: node-1

path.data: /tmp/elasticsearch/data

path.logs: /tmp/elasticsearch/logs

network.host: 0.0.0.0

http.port: 19200

transport.tcp.port: 19300

http.cors.enabled: true

http.cors.allow-origin: "*"

discovery.zen.ping.unicast.hosts:["192.168.2.86", "192.168.2.87", "192.168.2.88"]

配置选项解析:

cluster.name:          集群名称,一个节点要加入某个集群,需配成跟那个集群的名称一样

node.name:            节点名称

path.data: /tmp/elasticsearch/data                数据目录

path.logs: /tmp/elasticsearch/logs                           日志目录

network.host: 0.0.0.0                                          监听地址

http.port: 19200                                                    设置对外服务的http端口,默认为9200。

transport.tcp.port: 19300                                  设置节点之间交互的tcp端口,默认是9300。

http.cors.enabled: true                                       启用跨域,不然head插件会无法连接集群

http.cors.allow-origin: "*"                                  跨域配置,允许所有

discovery.zen.ping.unicast.hosts:["192.168.2.86", "192.168.2.87", "192.168.2.88"]    设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点

192.168.2.87的elasticsearch.yml配置如下:

cluster.name: unilifemedia

node.name: node-2

path.data: /tmp/elasticsearch/data

path.logs: /tmp/elasticsearch/logs

network.host: 0.0.0.0

http.port: 19200

transport.tcp.port: 19300

http.cors.enabled: true

http.cors.allow-origin: "*"

discovery.zen.ping.unicast.hosts:["192.168.2.86", "192.168.2.87", "192.168.2.88"]

192.168.2.88的elasticsearch.yml配置如下:

cluster.name: unilifemedia

node.name: node-3

path.data: /tmp/elasticsearch/data

path.logs: /tmp/elasticsearch/logs

network.host: 0.0.0.0

http.port: 19200

transport.tcp.port: 19300

http.cors.enabled: true

http.cors.allow-origin: "*"

discovery.zen.ping.unicast.hosts:["192.168.2.86", "192.168.2.87", "192.168.2.88"]

在各个节点分别启动ElasticSearch

[unilife@localhost bin]$ ./elasticsearch &

通过head插件查看集群状态

ElasticSearch集群搭建

集群搭建完成。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

标题名称:ElasticSearch集群搭建-创新互联
URL分享:https://www.cdcxhl.com/article10/dccdgo.html

成都网站建设公司_创新互联,为您提供定制网站外贸建站软件开发企业网站制作品牌网站建设网页设计公司

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

微信小程序开发