ElasticSearch -- ES 7.x 集群版安装部署

这篇具有很好参考价值的文章主要介绍了ElasticSearch -- ES 7.x 集群版安装部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. ElasticSearch

1.下载

官方地址:https://www.elastic.co/cn/downloads/elasticsearch
历史版本:https://www.elastic.co/cn/downloads/past-releases#elasticsearch
ES兼容性:https://www.elastic.co/cn/support/matrix

2.配置

  1. 上传服务器,解压
  2. 修改用户(不允许使用root用户)
  3. 增加系统配置:
  • 禁用内存交换,内存交换会导致ES节点不稳定,会影响GC的工作效率,从而导致节点无法响应
# 系统层面,临时
sudo swapoff -a
# 系统层面,永久,修改/etc/fstab文件

#应用层面
bootstrap.memory_lock: true
# 修改 /etc/security/limits.conf
# allow user 'elasticsearch' mlockall
echo "elastic hard memlock unlimited" >> /etc/security/limits.conf
echo "elastic soft memlock unlimited" >> /etc/security/limits.conf

# 增加文件句柄和确保能创建足够的线程
# 修改文件 /etc/security/limits.conf
# elasticsearch用户最多可以使用65535个文件
echo "elastic soft nofile 65536" >> /etc/security/limits.conf
echo "elastic hard nofile 65536" >> /etc/security/limits.conf
# elasticsearch用户最多可以使用4096个线程
echo "elastic soft nproc 4096" >> /etc/security/limits.conf
echo "elastic hard nproc 4096" >> /etc/security/limits.conf


# 或者编辑 vi /etc/security/limits.conf
elastic hard memlock unlimited
elastic soft memlock unlimited
elastic soft nofile 65536
elastic hard nofile 65536
elastic soft nproc 4096
elastic hard nproc 4096
  • 增加系统配置
echo "vm.max_map_count = 262144">> /etc/sysctl.conf
sysctl -p
  1. 创建数据和日志目录:
cd /data/services/elasticsearch-7.17.5
mkdir logs
mkdir data
  1. 修改配置文件:
vi  config/elasticsearch.yml 

# 增加如下配置:


#配置es的集群名称,同一个集群中的多个节点使用相同的标识
#如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。
cluster.name: my-es-cluster

#节点名称(每个节点不一样)
node.name: node-a

#是不是有资格竞选主节点
node.master: true
#是否存储数据
node.data: true
#最大集群节点数
node.max_local_storage_nodes: 3

#数据存储路径
path.data: /data/services/elasticsearch-7.17.5/data
#日志存储路径
path.logs: /data/services/elasticsearch-7.17.5/logs

#节点所绑定的IP地址,并且该节点会被通知到集群中的其他节点
#通过指定相同网段的其他节点会加入该集群中 0.0.0.0任意IP都可以访问elasticsearch(每个节点不一样)
network.host: 192.168.3.21

#对外提供服务的http端口,默认为9200
http.port: 9200

#内部节点之间沟通端口
transport.tcp.port: 9300

#es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["192.168.3.21","192.168.3.22","192.168.3.23"]

#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["node-a", "node-b","node-c"]

#ES默认开启了内存地址锁定,为了避免内存交换提高性能。但是Centos6不支持SecComp功能,启动会报错,所以需要将其设置为false
bootstrap.memory_lock: false

# 是否支持跨域
http.cors.enabled: true

# *表示支持所有域名
http.cors.allow-origin: "*"
  1. 修改jvm.options,官网建议最大不超过32G
-Xms4g
-Xmx30g
  1. 拷贝上述配置,将需要修改的 node.name,network.host 修改
  2. 切换用户,启动:
#控制台启动命令
bin/elasticsearch

#后台启动命令
#bin/elasticsearch -d

3.查看启动状态

curl 'http://localhost:9201/_cat/nodes?v'

4.注册宕机、开机自启

  1. 创建配置文件:vim /usr/lib/systemd/system/elasticsearch.service
  2. 填写监控信息:
[Unit]
Description=elasticsearch
After=network.target

[Service]
Type=forking
User=hadoop
ExecStart=/data/services/elasticsearch-7.17.5/bin/elasticsearch -d
PrivateTmp=true
# 指定此进程可以打开的最大文件数
LimitNOFILE=65535
# 指定此进程可以打开的最大进程数
LimitNPROC=65535
# 最大虚拟内存
LimitAS=infinity
# 最大文件大小
LimitFSIZE=infinity
# 超时设置 0-永不超时
TimeoutStopSec=0
# SIGTERM是停止java进程的信号
KillSignal=SIGTERM
# 信号只发送给给JVM
KillMode=process
# java进程不会被杀掉
SendSIGKILL=no
# 正常退出状态
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target
  1. 使用systemctl daemon-reload命令可以刷新elasticsearch.service配置信息
  2. 设置开机启动: systemctl enable elasticsearch.service
  3. 其他相关命令:
# 查看服务
systemctl status elasticsearch.service
# 启动服务
systemctl start elasticsearch.service
# 重启服务
systemctl restart elasticsearch.service
# 停止服务
systemctl stop elasticsearch.service
# 禁止开机启动
systemctl disable elasticsearch.service 
# 启用开机启动
systemctl enable elasticsearch.service

5.如果磁盘是SSD,建议修改IO调度算法

  1. 查看操作系统版本 cat /etc/debian_version
    ElasticSearch -- ES 7.x 集群版安装部署
  2. 查看支持的io调度算法 sudo dmesg |grep -i scheduler
    ElasticSearch -- ES 7.x 集群版安装部署
  3. 查看磁盘:lsblk
    ElasticSearch -- ES 7.x 集群版安装部署
  4. 查看默认的调度算法 cat /sys/block/vdb/queue/scheduler
    ElasticSearch -- ES 7.x 集群版安装部署
  5. 修改为noop调度算法: sudo echo noop > /sys/block/vdb/queue/scheduler

6.SSD磁盘,关闭numa绑核、hugepage

  1. sudo vi /etc/default/grub,添加如下配置
GRUB_CMDLINE_LINUX_DEFAULT="quiet numa=off transparent_hugepage=never"
  1. 保存,更新配置,重启机器
sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo reboot

2. Kibana

1.下载

官方地址:https://www.elastic.co/cn/downloads/past-releases#kibana

2.配置

#2.解压
tar -zvxf  kibana-7.17.5-linux-x86_64.tar.gz

#3.修改配置文件 config/kibana.yml
server.port: 5601
server.host: "xx"
elasticsearch.hosts: ["http://xx1:9200","http://xx2:9200","http://xx3:9200"]
elasticsearch.username: "elastic"
elasticsearch.password: "pwd123"

#4. 启动
nohup /data/services/kibana-7.17.5/bin/kibana >> /data/services/kibana-7.17.5/logs/kibana.log 2>&1 & 

#5. 查验启动后运行结果
ps -ef | grep kibana

#浏览器访问  http://xx:5601

3.ElasticSearch-head插件

1.下载

官方地址:https://github.com/mobz/elasticsearch-head

2.安装和配置

  1. 安装node:安装node
  2. 安装head:
unzip elasticsearch-head-5.0.0.zip
cd elasticsearch-head-5.0.0
npm config set registry https://registry.npm.taobao.org
npm install --ignore-scripts
  1. 修改_site/app.js,修改es的链接地址(在4354行),改为ES的IP(一台即可)

ElasticSearch -- ES 7.x 集群版安装部署

  1. 修改_site/vendor.js文件,将x-www-form-urlencoded改为json;charset=UTF-8:
# 6886行 
contentType: "application/x-www-form-urlencoded"
# 改成
contentType: "application/json;charset=UTF-8"

# 7574行 
var inspectData = s.contentType === "application/x-www-form-urlencoded" &&
# 改成
var inspectData = s.contentType === "application/json;charset=UTF-8" &&
  1. 修改Gruntfile.js 文件,在 connect下的options 属性内增加 hostname,设置为该机器的ip:
    ElasticSearch -- ES 7.x 集群版安装部署

3.启动和测试

  1. 启动:
nohup npm run start >> logs/head.log 2>&1 &
  1. 打开网页测试:http://xxx:9400
    ElasticSearch -- ES 7.x 集群版安装部署

4.ik 分词器插件

1.下载

官方地址:https://github.com/medcl/elasticsearch-analysis-ik

注意:需要下载和ES版本一致的插件,在ES中安装IK插件的时候,需要在ES集群的所有节点中都安装

2.安装和配置

在每个节点本地安装:

bin/elasticsearch-plugin install file:///data/soft/elasticsearch-7.17.5/elasticsearch-analysis-ik-7.17.5.zip 

注意:在安装的过程中会有警告信息提示需要输入y确认继续向下执行:
ElasticSearch -- ES 7.x 集群版安装部署

最后看到如下内容就表示安装成功了:
ElasticSearch -- ES 7.x 集群版安装部署

注意:插件安装成功之后在elasticsearch-7.17.5的config和plugins目录下会产生一个analysis-ik目录。

重启集群,kibana dev tools 测试:

POST _analyze
{
  "analyzer": "ik_max_word",
  "text": "中华人民共和国"
}

ElasticSearch -- ES 7.x 集群版安装部署

5.pinyin 分词器插件

1.下载

官方地址:https://github.com/medcl/elasticsearch-analysis-pinyin/releases?page=2

注意:下载和ES版本一致的插件,在ES中安装插件的时候,需要在ES集群的所有节点中都安装

2.安装和配置

在每个节点本地安装:

bin/elasticsearch-plugin install file:///data/services/elasticsearch-7.17.5/elasticsearch-analysis-pinyin-7.17.5.zip 

最后看到如下内容就表示安装成功了:
ElasticSearch -- ES 7.x 集群版安装部署

注意:插件安装成功之后在elasticsearch-7.17.5的plugins目录下会产生一个analysis-pinyin目录。

重启集群,kibana dev tools 测试:

POST _analyze
{
  "analyzer": "pinyin",
  "text":"刘德华"
}

ElasticSearch -- ES 7.x 集群版安装部署文章来源地址https://www.toymoban.com/news/detail-406598.html

到了这里,关于ElasticSearch -- ES 7.x 集群版安装部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Elasticsearch02:ES安装部署【单机】

    ES支持单机和集群,在使用层面是完全一样的。 首先下载ES的安装包,目前ES最新版本是7.x,在这使用7.13.4版本。 (1)百度网盘地址: (2)官网下载地址: 选择ES的对应版本。 ES 7.13.4版本的安装包下载地址为: 注意:目前ES中自带的有open JDK,不用单独安装部署Oracle JDK。

    2023年04月12日
    浏览(43)
  • Docker安装部署ElasticSearch(ES)

    用于在宿主机挂载日志,数据等内容 创建/opt/es/data目录 创建/opt/es/logs目录 创建/opt/es/plugins目录 创建/opt/es/conf目录 内容 运行成功 URL:IP:9200 出现以下画面即可

    2024年02月09日
    浏览(45)
  • linux环境下ES的单机和集群部署,kibana的安装部署,cerebro的安装部署

    我选择的是7.13.0的版本,可以在官网下载对应的版本之后再上传到我们自己的Linux虚拟机上。 或者可以在自己本地linux虚拟机上执行如下命令下载es的压缩包。 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.0-linux-x86_64.tar.gz 下载完成后如下图: 然后用如下命令执行

    2024年02月08日
    浏览(56)
  • ElasticSearch8集群的安装部署

    一、搭建集群的环境配置: 本集群使用Centos7.6操作系统,8G 4C 80G Linux 6版本不支持安装ES8版本 ES8版本以上的都自带JDK 二、集群安装规划如下: 机器地址 节点名称 节点角色 节点功能 10.1.80.94 node-1 Master,data 主+数据节点 10.1.80.95 node-2 Master,data 主+数据节点 10.1.80.96 node-3 Master,

    2023年04月09日
    浏览(54)
  • elasticsearch 8.3版本安装和集群部署

    我跟着一些网页教程提示部署我的集群,发现我集群里面的服务器互相看不到,于是咨询了我的老师,加上自己的实验终于成功了。因为之前网上找的参数和我的版本没对上,导致起不来,我这个集群服务器版本是8.3.1 1 开始安装elasticsearch ,导入gpg-key 2 建elasticsearch 的yum仓库

    2023年04月27日
    浏览(54)
  • ES(Elasticsearch)的docker安装部署教程

    Red Hat 4.8.5-44 CentOS Linux release 7.9.2009 (Core) java version \\\"1.8.0_281\\\" Docker version 20.10.6, build 370c289 1.1  拉取docker镜像 拉取成功的镜像,可以使用如下命令查看: 注:上图2年之前表示该elasticsearch的7.10.1镜像版本是2年前制作的。 1.2 创建es挂载目录 mkdir data cd /data         mkdir elast

    2024年02月10日
    浏览(49)
  • docker-compose部署6.8.23版本elasticsearch+es-head+kibana多节点集群及部分排错处理

    现阶段很多elasticsearch部署都是7版本之上的,但部分要求是6.8版本,俩者很多配置参数存在差异问题,elasticsearch有状态服务,kubernetes和docker启动有点麻烦,最好用docker-compose启动,可以保证数据稳定。 节点信息 hosts信息 192.168.121.137 es-master 192.168.121.138 es-node1 master执行,node改

    2024年02月14日
    浏览(46)
  • ES可视化工具--elasticsearch-head--下载、安装、使用

    原文网址:ES可视化工具--elasticsearch-head--下载、安装、使用_IT利刃鞘的博客-CSDN博客 说明         本文介绍ES可视化工具--ElasticSearch-Head的下载、安装与安装的方法。 概述         虽然UI比较古老,但它能在“数据浏览”中选择索引、类型、字段查看,个人用起来比下边“

    2024年01月18日
    浏览(65)
  • docker安装部署Elasticsearch(ES)以及相关配置

    mysql用作持久化存储,ES用作检索 基本概念:index库type表document文档 index索引(相当于MySQL的数据库) 动词:相当于mysql的insert 名词:相当于mysql的db Type类型(相当于MySQL的数据表) 在index中,可以定义一个或多个类型 类似于mysql的table,每一种类型的数据放在一起 Document文档

    2024年01月16日
    浏览(52)
  • Docker上安装部署Elasticsearch(ES)详细教程

     前言  ElasticSearch(简称ES) 是一个支持海量搜索引擎服务,当一个分布式系统需要支持海量搜索服务时都会优先上ES。因此掌握ES技术也是一门进入大厂拿高薪的必修课,笔者一直在追求深入掌握ES技术,一方面希望自己有机会还能进大厂并站稳脚跟。退一步讲就算进不了大

    2024年02月04日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包