Elastic Search 8.6.2集群安装部署

Posted 悦睹人生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elastic Search 8.6.2集群安装部署相关的知识,希望对你有一定的参考价值。

Elastic Search 8.6.2集群安装部署

Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心,Elasticsearch 会集中存储您的数据,让您飞快完成搜索,微调相关性,进行强大的分析,并轻松缩放规模。

1.安装版本

JDK: 使用Elastic Search自带JDK【Elastic Search 8以上都自带JDK】

Elastic Search 8.6.2最新版本下载地址:
https://www.elastic.co/cn/downloads/elasticsearch

2.服务器规划

主机名 地址 备注
node1 10.1.43.74
node2 10.1.43.75
node3 10.1.43.76

3.创建用户及用户组

Elastic Search安装时不要使用root用户,需要创建一个普通用户elasticsearch来安装,后面执行命令都是以elasticsearch用户来执行的,需要提高权限的地方使用sudo来执行:

groupadd elasticsearch
useradd elasticsearch -g elasticsearh
sudo chown -R elasticsearch.elasticsearh /usr/local/setup

上传 elasticsearch-8.6.2-linux-x86_64.tar.gz包到 /usr/local/setup

4.安装及部署

修改最大连接数

sudo vi /etc/security/limits.conf
soft   nofile  65535
hard   nofile  65535
soft   nproc   32000
hard   nproc   32000

-------说明-------
soft nproc:单个用户最大进程数量,超过会警告
hard nproc:单个用户最大进程数量,超过会报错
soft nofile:可以打开的文件最大数,超过会警告
hard nofile:可以打开的文件最大数,超过会报错

调整虚拟内存

sudo vi /etc/sysctl.conf

vm.max_map_count=262144

sudo sysctl -p

sudo chown -R elasticsearch.elasticsearch /data/elasticsearch
cd /data/elasticsearch
mkdir data logs
tar -vzxf elasticsearch-8.6.2-linux-x86_64.tar.gz
vi /usr/local/setup/elasticsearch-8.6.2/config/elasticsearch.yml
#集群名称,所有节点保持一致,同一网段会自动发现
cluster.name: es-cluster
#节点名称,一般为主机名 node-1、node-2、node-3
node.name: node-1
#节点角色,master表示管理节点,data表示数据节点
node.roles: [master,data]
#数据存放路径
path.data: /data/elasticsearch/data
#日志存放路径
path.logs: /data/elasticsearch/logs
#绑定监听IP
network.host: 0.0.0.0
#设置端口
http.port: 9200
#跨域相关设置
http.cors.enabled: true
http.cors.allow-credentials: true
http.cors.allow-origin: "*"
#节点发现
discovery.seed_hosts: ["10.1.43.74:9300","10.1.43.75:9300","10.1.43.76:9300"]
#集群初始化Master节点,会在第一次选举中进行计算
cluster.initial_master_nodes: ["10.1.43.74:9300"]
#启用节点上Elastic Search的xpack安全功能
xpack.security.enabled: false

5.启动服务

su elasticsearch
sh /usr/local/setup/elasticsearch-8.6.2/bin/elasticsearch

验证服务启动情况
curl http://10.1.43.74:9200


  "name" : "node-1",
  "cluster_name" : "es-cluster",
  "cluster_uuid" : "_na_",
  "version" : 
    "number" : "8.6.2",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "2d58d0f136141f03239816a4e360a8d17b6d8f29",
    "build_date" : "2023-02-13T09:35:20.314882762Z",
    "build_snapshot" : false,
    "lucene_version" : "9.4.2",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  ,
  "tagline" : "You Know, for Search"

6.配置集群间安全访问证书密钥

(仅在node-1节点上操作即可)

su elasticsearch

#签发CA证书(一直回车)

sh /usr/local/setup/elasticsearch-8.6.2/bin/elasticsearch-certutil ca

#签发节点证书(一直回车)

sh /usr/local/setup/elasticsearch-8.6.2/bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

创建好的ca证书和server证书默认名称为elastic-stack-ca.p12和elastic-certificates.p12,存放在$ES_HOME目录。

cd /usr/local/setup/elasticsearch-8.6.2/config
mkdir certs
mv /usr/local/setup/elasticsearch-8.6.2/elastic-*.p12 /usr/local/setup/elasticsearch-8.6.2/config/certs/

将证书发送到另外两个节点。

scp /usr/local/setup/elasticsearch-8.6.2/config/certs/elastic-* node2:/usr/local/setup/elasticsearch-8.6.2/config/certs
scp /usr/local/setup/elasticsearch-8.6.2/config/certs/elastic-* node3:/usr/local/setup/elasticsearch-8.6.2/config/certs/

再次修改配置文件

vi /usr/local/setup/elasticsearch-8.6.2/config/elasticsearch.yml
#启用节点上Elastic Search的xpack安全功能
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12

7.验证集群环境

分别启动三个节点。

sh /usr/local/setup/elasticsearch-8.6.2/bin/elasticsearch -d

在浏览器访问 http://10.1.43.74:9200 这时候提示输入用户名密码。

设置用户密码

sh /usr/local/setup/elasticsearch-8.6.2/bin/elasticsearch-setup-passwords interactive

交互式设置密码,把密码hhxxttxs123BoSs465记下来。

查看节点信息

curl -u elastic:hhxxttxs123BoSs465 http://10.1.43.74:9200/_cat/nodes
10.1.43.74 4 51 1 0.01 0.02 0.05 cdfhilmrstw * node-1
10.1.43.75 7 68 0 0.12 0.18 0.12 cdfhilmrstw - node-2
10.1.43.76 8 67 0 0.13 0.12 0.08 cdfhilmrstw - node-3

查看Elastic Search健康信息

curl -u elastic:hhxxttxs123BoSs465 http://10.1.43.74:9200/_cat/health?v
epoch      timestamp cluster    status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1679537398 02:09:58  es-cluster green           3         3     22  11    0    0        0             0                  -                100.0%

如何使用现有索引创建 Elastic App Search Engine(来自 GraphDB Elastic Search Connector 的数据)

【中文标题】如何使用现有索引创建 Elastic App Search Engine(来自 GraphDB Elastic Search Connector 的数据)【英文标题】:How to create an Elastic App Search Engine using an existing index (data from GraphDB Elastic Search Connector) 【发布时间】:2021-10-08 04:30:53 【问题描述】:

标题几乎说明了一切。

此时,我们成功地使用 GraphDB Elastic Search 连接器创建了一个测试连接器。我们想在我们的 React.js 项目中使用 Elastic Search UI。为此,我们需要在 Elastic App Search 中创建一个引擎并从我们的连接器导入文档。

我们目前有一个来自 GraphDB 的索引,目前在 Kibana 索引管理部分可用

就像我说的,我们现在的目标是使用来自 GraphDB 连接器的这个索引创建一个测试引擎,但是没有办法导入这个数据。

【问题讨论】:

【参考方案1】:

我不认为添加现有索引是一种选择。请参阅 Elastic 论坛上的此讨论 https://discuss.elastic.co/t/can-you-hook-an-existing-elasticsearch-index-to-elastic-app-search/222508

【讨论】:

以上是关于Elastic Search 8.6.2集群安装部署的主要内容,如果未能解决你的问题,请参考以下文章

玩转Elastic Search 之 服务集群搭建实例

玩转Elastic Search 之 服务集群搭建实例

elastic search安全加固手册

Elastic Search 集群

Elastic search集群新增节点(同一集群,同一 物理机)

Elastic Search优化