[elasticsearch]部署安装单节点和集群

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: [elasticsearch]部署安装单节点和集群

单点安装

  1. 进入安装目录:cd /usr/local
  2. 获取安装包:
  1. wget http://172.29.50.31/download/ProgramPackage/elasticsearch/elasticsearch-7.6.2-linux-x86_64.tar.gz
  2. wget http://172.29.50.31/download/ProgramPackage/elasticsearch/elasticsearch-analysis-ik-7.6.2.zip
  1. 解压安装包:tar -zxvf elasticsearch-7.6.2-linux-x86_64.tar.gz
  2. 重命名:mv elasticsearch-7.6.2/ elasticsearch
  3. 安装ik插件
  1. unzip elasticsearch-analysis-ik-7.6.2.zip
  2. 将解压文件拷贝至elasticsearch的plugins文件下:cp -r elasticsearch-analysis-ik-7.6.2 /usr/local/elasticsearch/plugins
  1. 修改配置文件:cd elasticsearch/config/

进入到es安装目录下的config文件夹中,修改elasticsearch.yml 文件,配置示例如下:

cluster.name: robot-elastic
node.name: node-1
path.data: /home/data/elasticsearch
path.logs: /home/logs/elasticsearch
bootstrap.system_call_filter: false
network.host: 0.0.0.0
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.initial_master_nodes: ["node-1"]

按esc输入 :wq 保存并退出

  1. 补齐目录
  1. mkdir -p /home/data/elasticsearch
  2. mkdir -p /home/logs/elasticsearch
  1. 因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户
  1. useradd dicfin
  2. passwd dicfin
  1. 为用户赋权限
chown -R dicfin:dicfin /usr/local/elasticsearch
chown -R dicfin:dicfin /home/data/elasticsearch
chown -R dicfin:dicfin /home/logs/elasticsearch
  1. 修改系统参数:vim /etc/security/limits.conf ,最后追加
* soft nproc 20480
* hard nproc 20480
* soft nofile 65536
* hard nofile 65536
* soft memlock unlimited
* hard memlock unlimited
  • vim /etc/security/limits.d/20-nproc.conf 修改以下
*     soft  nproc   20480
  • vim /etc/sysctl.conf 修改以下,若无则新增
fs.file-max = 655360
vm.max_map_count = 262144
  • sysctl -p 生效
  1. 切换用户启动ES (验证是否初步安装成功)
  1. cd
  2. su dicfin
  3. cd /usr/local/elasticsearch
  4. bin/elasticsearch &

集群安装

es版本:v7.12.0-x86_64

在三个节点部署es集群:(需要提前安装jdk,本文使用的版本为jdk-8u-251,即jdk1.8)

  • 172.50.13.103
  • 172.50.13.104
  • 172.50.13.105

1. 准备

  1. 获取安装包:elasticsearch-7.12.0-linux-x86_64.tar.gz
  2. 解压:tar xf elasticsearch-7.12.0-linux-x86_64.tar.gz
  3. 创建安装目录:mkdir -p /home/{web,data,logs}/elasticsearch
  4. 转移压缩包内容:mv ./elasticsearch-7.12.0/* /home/web/elasticsearch/
  5. 删除es安装包
  6. 创建es用户:
  1. useradd -M elasticsearch
  2. passwd elasticsearch
  1. 授权:
chown -R elasticsearch:elasticsearch /home/web/elasticsearch
chown -R elasticsearch:elasticsearch /home/data/elasticsearch
chown -R elasticsearch:elasticsearch /home/logs/elasticsearch

2. 修改系统参数

/etc/sysctl.conf

fs.file-max = 655360
vm.max_map_count = 262144

执行sysctl -p生效

/etc/security/limits.conf

* soft nproc 20480
* hard nproc 20480
* soft nofile 65536
* hard nofile 65536
* soft memlock unlimited
* hard memlock unlimited

/etc/security/limits.d/20-nproc.conf

修改内容如下:

*     soft  nproc   20480

3. 修改es配置文件

config/jvm.options

-Xms1g
-Xmx1g

以实际情况为准,一般设置为内存的一半最佳。

config/elasticsearch.yml

  • 172.50.13.103
cluster.name: esbigdata
node.name: server1
node.master: true
node.data: true
path.data: /home/data/elasticsearch
path.logs: /home/logs/elasticsearch
bootstrap.memory_lock: true
bootstrap.system_call_filter: true
network.host: 0.0.0.0
http.port: 9200
transport.port: 9300
discovery.seed_hosts: ["172.50.13.103:9300","172.50.13.105:9300"]
cluster.initial_master_nodes: ["server1","server3"]
  • 172.50.13.104
cluster.name: esbigdata
node.name: server2
node.master: true
node.data: true
path.data: /home/data/elasticsearch
path.logs: /home/logs/elasticsearch
bootstrap.memory_lock: true
bootstrap.system_call_filter: true
network.host: 0.0.0.0
http.port: 9200
transport.port: 9300
discovery.seed_hosts: ["172.50.13.103:9300","172.50.13.105:9300"]
cluster.initial_master_nodes: ["server1","server3"]
  • 172.50.13.105
cluster.name: esbigdata
node.name: server3
node.master: true
node.data: true
path.data: /home/data/elasticsearch
path.logs: /home/logs/elasticsearch
bootstrap.memory_lock: true
bootstrap.system_call_filter: true
network.host: 0.0.0.0
http.port: 9200
transport.port: 9300
discovery.seed_hosts: ["172.50.13.103:9300","172.50.13.105:9300"]
cluster.initial_master_nodes: ["server1","server3"]

参数说明:

  • cluster.name:集群名称
  • node.name:节点名
  • node.master:该节点是否有资格被选举为主节点,默认为true
  • node.data:该节点是否存储索引数据,默认为true。如果master和data都为false,则该节点为客户端,负责将集群中的请求转发到主节点
  • path.data:数据存储路径
  • path.logs:日志存储路径
  • bootstrap.memory_lock:锁定只使用物理内存,不使用swap虚拟内存
  • bootstrap.system_call_filter:检测SecComp
  • network.host:若安全起见,可以设置为本机IP
  • http.port:http请求的端口,默认9200
  • transport.port:集群之间通信端口
  • discovery.seed_hosts,用于发现集群节点的主机IP和端口,一般是master节点
  • cluster.initial_master_nodes:初始化⼀个新的集群时需要此配置来选举master

4. 启动

  1. 切换用户:su elasticsearch
  2. 启动:/home/web/elasticsearch/bin/elasticsearch -d
  3. 验证:curl http://172.50.13.103:9300,出现以下内容则集群搭建成功。(如果cluster_uuid为 _na_,则搭建失败)
{
  "name" : "server1",
  "cluster_name" : "esbigdata",
  "cluster_uuid" : "UzHTBNaWSxiyOIJWAUP7Vg",
  "version" : {
    "number" : "7.12.0",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "78722783c38caa25a70982b5b042074cde5d3b3a",
    "build_date" : "2021-03-18T06:17:15.410153305Z",
    "build_snapshot" : false,
    "lucene_version" : "8.8.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
20天前
|
存储 缓存 监控
|
23天前
|
存储 监控 负载均衡
检索服务elasticsearch集群(Cluster)
【8月更文挑战第23天】
44 3
|
15天前
|
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
|
5天前
|
存储 自然语言处理 关系型数据库
ElasticSearch基础3——聚合、补全、集群。黑马旅游检索高亮+自定义分词器+自动补全+前后端消息同步
聚合、补全、RabbitMQ消息同步、集群、脑裂问题、集群分布式存储、黑马旅游实现过滤和搜索补全功能
ElasticSearch基础3——聚合、补全、集群。黑马旅游检索高亮+自定义分词器+自动补全+前后端消息同步
|
21天前
|
存储 监控 负载均衡
Elasticsearch 集群副本
【8月更文挑战第24天】
40 13
|
21天前
|
存储 负载均衡 监控
Elasticsearch 集群分片
【8月更文挑战第24天】
44 12
|
16天前
|
JSON 监控 Java
Elasticsearch 入门:搭建高性能搜索集群
【9月更文第2天】Elasticsearch 是一个分布式的、RESTful 风格的搜索和分析引擎,基于 Apache Lucene 构建。它能够处理大量的数据,提供快速的搜索响应。本教程将指导你如何从零开始搭建一个基本的 Elasticsearch 集群,并演示如何进行简单的索引和查询操作。
55 3
|
21天前
|
存储 缓存 算法
Elasticsearch 集群节点间的通信
【8月更文挑战第25天】
35 6
|
21天前
|
存储 机器学习/深度学习 运维
Elasticsearch 集群节点的角色与职责
【8月更文挑战第25天】
39 6
|
21天前
|
存储 网络协议 搜索推荐