CentOS7 上搭建多节点 Elasticsearch集群

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介:

Profile

本文内容脑图如下:

本文内容脑图

文章共 747字,阅读大约需要 2分钟 !


概 述

最近学 Elasticsearch,既然学之,怎么能没有实际的集群来把玩呢,因此自己必须动手搭一个!

注: 本文首发于 My Personal Blog:CodeSheep·程序羊,欢迎光临 小站


环境准备

  • 节点准备

本文准备搭建 双节点 Elasticsearch集群,因此这里准备了两台 Linux CentOS 7.4 64bit 机器:

  • 节点1:192.168.31.8
  • 节点2:192.168.31.9
  • Elasticsearch 安装包准备

这里下载的是截止到当前日期的最新版:6.4.2

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.2.tar.gz
  • 安装目录准备

这里拟将 Elasticsearch安装在 /opt/elasticsearch 目录下:

mkdir /opt/elasticsearch
将压缩包复制到该目录下并解压

Elasticsearch 集群配置

需要修改两个节点上的配置文件 elasticsearch.yml

  • 节点1 配置
cluster.name: codesheep         # 集群名称
node.name: sheep1                 # 节点名
network.host: 192.168.31.8     # 绑定的节点1地址
network.bind_host: 0.0.0.0      # 此项不设置你试试本机可能访问不了啊
discovery.zen.ping.unicast.hosts: ["192.168.31.8","192.168.31.9"]  # hosts列表
discovery.zen.minimum_master_nodes: 1 

## 如下配置是为了解决 Elasticsearch可视化工具 dejavu的跨域问题!若不用可视化工具则可省略之
http.port: 9200
http.cors.allow-origin: "http://192.168.199.76:1358"
http.cors.enabled: true
http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization
http.cors.allow-credentials: true
  • 节点2 配置
cluster.name: codesheep         # 集群名称
node.name: sheep1                 # 节点名
network.host: 192.168.31.9     # 绑定的节点2地址
network.bind_host: 0.0.0.0     
discovery.zen.ping.unicast.hosts: ["192.168.31.8","192.168.31.9"]  # hosts列表
discovery.zen.minimum_master_nodes: 1 

## 如下配置是为了解决 Elasticsearch可视化工具 dejavu的跨域问题!若不用可视化工具则可省略之
http.port: 9200
http.cors.allow-origin: "http://192.168.199.76:1358"
http.cors.enabled: true
http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization
http.cors.allow-credentials: true

集群启动前准备

  • 创建用户及用户组

由于 Elasticsearch不能以 root用户启动,因此需要添加非 root用户:

groupadd es
useradd es -g es
chown -R es:es ./elasticsearch-6.4.2
  • 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

启动 Elasticsearch集群

  • 切换用户
su es
  • 分别在 节点1和 节点2上启动ES服务
cd bin
./elasticsearch  // 若要后台启动,则加-d参数

启动后浏览器访问效果

  • 命令行查看集群信息

image.png

  • 利用可视化工具 dejavu查看集群信息

关于 Elasticsearch集群可视化管理工具的上手,可以参考我的前文:《一文上手 Elasticsearch常用可视化管理工具》

可视化工具dejavu查看集群信息

  • 接下来插入两条数据
curl -X PUT 'localhost:9200/accounts/person/1' -d '
{
  "user": "张三",
  "title": "工程师",
  "desc": "数据库管理"
}' 

curl -X PUT 'localhost:9200/accounts/person/1' -d '
{
  "user": "赵四",
  "title": "设计师",
  "desc": "UI设计"
}' 
  • 查看数据的入库效果

数据入库效果

OK,索引 / 类型 / 文档 一目了然!

若在 Elasticsearch集群 安装/启动 过程 中有任何奇葩 问题/错误 的话,就参考我的这篇文章:《CentOS7上ElasticSearch安装填坑记》吧,里面的坑我都一个个填过了!


安装IK分词器

在 Elasticsearch的世界中,插件是很重要的一部分,很多功能都可以通过插件来实现,因此下面就以常用的 IK分词器插件 的安装为例,来操作一下 Elasticsearch插件的安装

分词技术是搜索技术的基石,而 IK分词器是比较经典的一个,接下来尝试安装一下吧

IK分词器版本与 ES版本对应,不能搞错,可在 这里查看

  • 下载 IK分词器插件
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.2/elasticsearch-analysis-ik-6.4.2.zip
  • 解压 / 安装

新建目录 /opt/elasticsearch/elasticsearch-6.4.2/plugins/elasticsearch-analysis-ik-6.4.2

再将 zip包置于上述目录下并解压:

unzip elasticsearch-analysis-ik-6.4.2.zip

  • 重启 Elasticsearch集群

重启 Elasticsearch集群,若发现如下内容,这说明插件安装成功:

检查IK分词器插件安装是否成功

怎么样,很简单吧,就是一个解压放置的过程嘛!


后 记

由于能力有限,若有错误或者不当之处,还请大家批评指正,一起学习交流!



相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
2月前
|
缓存 Prometheus 监控
Elasticsearch集群JVM调优设置合适的堆内存大小
Elasticsearch集群JVM调优设置合适的堆内存大小
531 1
|
1月前
|
存储 负载均衡 监控
揭秘 Elasticsearch 集群架构,解锁大数据处理神器
Elasticsearch 是一个强大的分布式搜索和分析引擎,广泛应用于大数据处理、实时搜索和分析。本文深入探讨了 Elasticsearch 集群的架构和特性,包括高可用性和负载均衡,以及主节点、数据节点、协调节点和 Ingest 节点的角色和功能。
58 0
|
2月前
|
缓存 监控 Java
Elasticsearch集群JVM调优
Elasticsearch集群JVM调优
73 5
|
2月前
|
存储 缓存 监控
Elasticsearch集群JVM调优堆外内存
Elasticsearch集群JVM调优堆外内存
64 1
|
2月前
|
监控 Java 测试技术
Elasticsearch集群JVM调优垃圾回收器的选择
Elasticsearch集群JVM调优垃圾回收器的选择
81 1
|
2月前
|
监控 安全 网络安全
Elasticsearch集群的网络设置
Elasticsearch集群的网络设置
69 3
|
2月前
|
存储 监控 固态存储
Elasticsearch集群硬件与资源分配
Elasticsearch集群硬件与资源分配
45 2
|
2月前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
88 5
|
3月前
|
存储 JSON Java
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
这篇文章是关于Elasticsearch的学习指南,包括了解Elasticsearch、版本对应、安装运行Elasticsearch和Kibana、安装head插件和elasticsearch-ik分词器的步骤。
365 0
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
|
4月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo