【ES实战】ES6.7的tar包离线安装帮助手册

Elasticsearch6.7部署帮助手册

校验时间:2023年12月19日

文章目录

  • Elasticsearch6.7部署帮助手册
    • 安装前准备
      • 安装包
      • 安装要求
        • 锁定内存,修改最大文件描述符,最大线程数
        • 内核参数
      • 部署规划
      • 端口规划
      • 用户规划
      • 目录规划
    • 安装步骤
      • 每个服务器配置JDK
      • 配置文件
        • master角色
        • node角色
    • 启动与停止
      • 启动
        • 首次启动
      • 检查
      • 停止

安装前准备

安装包

  • elasticsearch-6.7.2.tar.gz
  • elasticsearch-analysis-dynamic-synonym-6.7.2.zip
  • elasticsearch-analysis-ik-6.7.2.zip
  • elasticsearch-analysis-pinyin-6.7.2.zip
  • jdk1.8.0_161.tgz

插件安装参考:ES插件安装帮助说明

安装要求

命令netstat -lntp 2>/dev/null|grep LISTEN|awk '{print $4}'|awk -F':' '{print $NF}'|sort|uniq查询已经占用的端口

机器要求与大数据机器模板相同

以下是补充:

锁定内存,修改最大文件描述符,最大线程数

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

确保:

nproc >= 20480
nofile >= 65536

增加:

* - memlock unlimited
内核参数

vim /etc/sysctl.conf

确保增加以下参数配置:

vm.zone_reclaim_mode = 0
net.ipv4.ip_local_reserved_ports=9500-9702
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
vm.swappiness=0
vm.overcommit_memory=1
vm.zone_reclaim_mode=0
vm.max_map_count=262144

更改内核后完成后执行命令:sysctl -p生效

部署规划

采用master与data分离部署方式

集群A

服务器HostmasterdataCluster
es01yesyesA
es02yesyesA
es03yesyesA

集群B

服务器HostmasterdataCluster
es04yesyesB
es05yesyesB
es06yesyesB

端口规划

纯master角色节点:TCP端口:9201,HTTP端口:9200

纯data角色节点:TCP端口:9301,HTTP端口:9300

用户规划

groupadd -g 750 es;
useradd -u 750 -g 750 es;

目录规划

将空间大的目录软链接到home的子目录下,比如/opt或者/data。此文档采用/data目录为例:

  • 用户目录

    /home/es/software 链接至 /data/elasticsearch/software

  • 数据目录

    /home/es/data链接至 /data/elasticsearch/data

  • 日志目录

    /home/es/logs链接至 /data/elasticsearch/logs

安装步骤

在操作之前安装包已经分发到各个服务器的/data/install_package目录。权限为755

root命令执行命令

chmod 755 -R /data/install_package/
# 1.新建用户与用户组
groupadd -g 750 es;
useradd -u 750 -g 750 es;
# 2.准备目录
mkdir -p /data/elasticsearch;
chown -R es:es /data/elasticsearch/;

以下开始使用es用户执行命令

su - es;
mkdir -p /data/elasticsearch/software;
mkdir -p /data/elasticsearch/logs;
mkdir -p /data/elasticsearch/data;
# master的元数据存储目录
mkdir -p /data/elasticsearch/masterdata;
ln -snf /data/elasticsearch/software /home/es/software;
ln -snf /data/elasticsearch/logs /home/es/logs;
ln -snf /data/elasticsearch/masterdata /home/es/masterdata;
# master角色节点的配置文件目录
mkdir -p /home/es/software/config-master;
# node角色节点的配置文件目录
mkdir -p /home/es/software/config-dnode0;# 3.将安装包解压至software目录并配置软链接
tar -zxf /data/install_package/jdk1.8.0_161.tgz -C /home/es/software/;
tar -zxf /data/install_package/elasticsearch-6.7.2.tar.gz -C /home/es/software/;
ln -snf /home/es/software/jdk1.8.0_161 /home/es/software/java;
ln -snf /home/es/software/elasticsearch-6.7.2 /home/es/software/elasticsearch;

每个服务器配置JDK

su - es;
vim /home/es/.bashrc;
# 在.bashrc文件中追加以下内容
export JAVA_HOME=/home/es/software/java
export PATH=$JAVA_HOME/bin:$PATH# 配置生效
source /home/es/.bashrc;
# 检查jdk
java -version;

配置文件

master角色
ssh root@192.168.1.1 "su - es -c 'cp  /home/es/software/elasticsearch-6.7.2/config/* /home/es/software/config-master/'";
ssh root@192.168.1.3 "su - es -c 'cp  /home/es/software/elasticsearch-6.7.2/config/* /home/es/software/config-master/'";
ssh root@192.168.1.2 "su - es -c 'cp  /home/es/software/elasticsearch-6.7.2/config/* /home/es/software/config-master/'";

修改配置文件

vim config-master/elasticsearch.yml

cluster.name: demo-ccr-1
node.name: 192.168.1.1-master
node.master: true
node.data: false
node.max_local_storage_nodes: 3
path.data: /home/es/masterdata
path.logs: /home/es/logs/es
bootstrap.memory_lock: true
bootstrap.system_call_filter: false
network.host: 192.168.1.1
http.port: 9200
transport.tcp.port: 9201
discovery.zen.ping.unicast.hosts: ["192.168.1.1:9201","192.168.1.2:9201","192.168.1.:9201"]
discovery.zen.minimum_master_nodes: 2
discovery.zen.fd.connect_on_network_disconnect: true
discovery.zen.ping_timeout: 30s
discovery.zen.fd.ping_timeout: 120s
discovery.zen.fd.ping_retries: 6
discovery.zen.fd.ping_interval: 5s
gateway.expected_nodes: 3
gateway.expected_master_nodes: 3
gateway.expected_data_nodes: 3
gateway.recover_after_time: 5m
gateway.recover_after_nodes: 2
gateway.recover_after_master_nodes: 2
gateway.recover_after_data_nodes: 2
action.destructive_requires_name: true

vim config-master/jvm.options

sed -i "s|\${role_name}|master|g" software/config-master/jvm.options &>> tt.log
#SIT环境
-Xms4g
-Xmx4g
# PRD环境
-Xms31g
-Xmx31g

vim config-master/log4j2.properties

sed -i "s|\${role_name}|master|g" software/config-master/log4j2.properties &>> tt.log
rm -f tt.log
node角色
ssh root@192.168.1.1 "su - es -c 'cp  /home/es/software/elasticsearch/config/* /home/es/software/config-dnode0/'";
ssh root@192.168.1.2 "su - es -c 'cp  /home/es/software/elasticsearch/config/* /home/es/software/config-dnode0/'";
ssh root@192.168.1.3 "su - es -c 'cp  /home/es/software/elasticsearch/config/* /home/es/software/config-dnode0/'";

修改配置文件

vim config-dnode0/elasticsearch.yml

cluster.name: demo-ccr-1
node.name: 192.168.1.1-dnode0
node.master: false
node.data: true
node.max_local_storage_nodes: 3
path.data: /data/elasticsearch/data/dnode0
path.logs: /home/es/logs/es
bootstrap.memory_lock: true
bootstrap.system_call_filter: false
network.host: 192.168.1.1
http.port: 9300
transport.tcp.port: 9301
discovery.zen.ping.unicast.hosts: ["192.168.1.1:9201","192.168.1.2:9201","192.168.1.:9201"]
discovery.zen.minimum_master_nodes: 2
discovery.zen.fd.connect_on_network_disconnect: true
discovery.zen.ping_timeout: 30s
discovery.zen.fd.ping_timeout: 120s
discovery.zen.fd.ping_retries: 6
discovery.zen.fd.ping_interval: 5s
gateway.expected_nodes: 3
gateway.expected_master_nodes: 3
gateway.expected_data_nodes: 3
gateway.recover_after_time: 5m
gateway.recover_after_nodes: 2
gateway.recover_after_master_nodes: 2
gateway.recover_after_data_nodes: 2
action.destructive_requires_name: true

vim config-dnode0/jvm.options

sed -i "s|\${role_name}|dnode0|g" config-dnode0/jvm.options &>> tt.log
#SIT环境
-Xms4g
-Xmx4g
# PRD环境
-Xms31g
-Xmx31g

vim config-dnode0/log4j2.properties

sed -i "s|\${role_name}|dnode0|g" config-dnode0/log4j2.properties &>> tt.log
rm -f tt.log

启动与停止

es-daemon.sh并非官网脚本。

启动

首次启动

先启动所有的master,在启动dnode1

su - es;
cd /home/es/software/elasticsearch/bin/;
sh es-daemon.sh start master;su - es;
cd /home/es/software/elasticsearch/bin/;
sh es-daemon.sh start dnode0

检查

查询节点是否正常

curl 'http://ip:http端口'
curl 'http://192.168.1.1:9200'

如果返回

{"name" : "192.168.1.1-dnode0","cluster_name" : "demo-ccr-1","cluster_uuid" : "CjcavbOjQPeymec-GOJgVA","version" : {"number" : "6.7.2","build_flavor" : "default","build_type" : "tar","build_hash" : "Unknown","build_date" : "Unknown","build_snapshot" : true,"lucene_version" : "7.7.0","minimum_wire_compatibility_version" : "5.6.0","minimum_index_compatibility_version" : "5.0.0"},"tagline" : "You Know, for Search"
}

则表示启动成功,其余情况,则可能存在问题。

查询集群整体健康

curl 'http://192.168.1.1:9200/_cat/health?v'

如果返回值中:status值为green,则表示启动成功,其余情况,则可能存在问题

停止

su - es;
cd /home/es/software/elasticsearch/bin/;
sh es-daemon.sh stop mastersu - es;
cd /home/es/software/elasticsearch/bin/;
sh es-daemon.sh stop dnode1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260262.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jenkins 部署文档

Jenkins是一个非常出色的持续集成服务器,本文主要介绍在CentOS系统中Jenkins的基本安装配置方法,供参考。一. 软件包:1. 下载apache-maven-2.2.1-bin.tarhttp://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-2.2.1-bin.tar.gz…

牛人,多看看他们写的东西

计算机大师 Donald E. Knuth(高德纳) 算法大师,我最崇拜的计算机科学家,没有之一!不认识高爷爷的人别说自己是学计算机的。《The Art of Computer Programming》绝对是计算机科学的圣经。对高爷爷的崇敬,对…

System.Math.Min(System.Threading.Interlocked.Increment(i), i - 1)

System.Math.Min(System.Threading.Interlocked.Increment(i), i - 1) 在vb里面 等价于ii-1 在C#里面 等价于i-- 是有C#自动转VB时转换的转载于:https://www.cnblogs.com/YaDi/archive/2012/11/08/2759802.html

java快速查找中位数_用QuickSort快速查找中位数(median)

中位数(median)是一个排好序的元素中中间位置的元素,如果元素个数为偶数,则是中间两个元素的平均值。例如(3,1,5)的中位数是3,而(2,1,3,5)的中位数是2.5。查找中位数属于SelectionAlgorithms的一种。用快速排序可以做到每次divide之后&#x…

python安装mysql数据库_windows10安装mysql-8.0.13(zip安装)~Python安装mysql

windows10安装mysql-8.0.13(zip安装)安装环境说明系统版本:windows10mysql版本:mysql-8.0.13-winx64.zip下载地址:http://mirrors.163.com/mysql/Downloads/MySQL-8.0/mysql-8.0.13-winx64.zip解压安装包解压路径:D:\develop\soft…

centos 下使用sublime

CentOS 之 Sublime text3 安装及配置(不支持中文输入) sublime text 的界面友好,自动补全功能也不错。 (本来用vimphp_function.txt的形式进行补全的,但是配置后的补全不太满意,放弃了。 具体参见&#xff…

20121108团队博客(苏若)

PS:这本是属于昨晚的帖子,对不住忠仔。现在补上。 忠仔,终于交给了我一个实实在在的任务,很是欣喜,也很是忐忑,生怕自己不能及时完成任务。 好了,废话不多说,步入正题。 接下任务【画…

python 倒排索引 性能_python 实现倒排索引的方法

代码如下:#encoding:utf-8fin open(1.txt, r)建立正向索引:“文档1”的ID > 单词1:出现位置列表;单词2:出现位置列表;…………“文档2”的ID > 此文档出现的关键词列表。forward_index {}for line in fin:line…

pythonnet下载_Python for .NET

Python for .NET 是一个可以让 Python 程序员近乎无缝的集成 .NET 通用语言环境 CLR 和以及为 .NET 开发者提供一个强大的应用脚本工具。通过这个项目你可在 .NET 中完全使用 Python 来编写整个应用,使用 .NET 服务和组件。这个包并没有用 CLR 语言实现一个 Python&…

webService详解

什么是webService WebService,顾名思义就是基于Web的服务。它使用Web(HTTP)方式,接收和响应外部系统的某种请求。从而实现远程调用. 1:从WebService的工作模式上理解的话,它跟普通的Web程序(比如ASP、JSP等)并没有本…

读《有人负责,才有质量:写给在集市中迷失的一代》总结与感想

在大伙都在吹捧“市集”开发软件的方式的大浪潮下,作者看到了其中的不当之处,发现其中有许多的问题,因此写下这篇文章给予吹捧“市集”的人一个提醒,甚至警告。 在该文章里,作者认为“市集”里的“农民”不可能建造出和…

php 判断是否文件,利用PHP判断文件是否为图片的方法总结

前言在网页设计中,如果需要图片,我们通常拿到的是一个图片的文件名。仅仅通过文件名是无法判断该文件是否是一个图片文件的。或许有的人以为通过后缀名就可以判断,别忘了文件的后缀名是可以随便改动的。更何况,在 Linux 系统下是不…

textedit怎么插入数据_还在手动插入Excel交叉空白行?这个小技巧10秒搞定

导读:前几天有同学在后台提问,怎么快速在Excel中隔行插入一行或者多行空白行,其实在早期我们分享的小视频中有利用过类似的小技巧来制作工资条,今天我们用它来插入空白行。文/ 芒种学院指北针Hello,大家好,…

python制作安装包(setup.py)

1.制作setup.py from distutils.core import setupsetup(nameMyblog,version1.0,descriptionMy Blog Distribution Utilities,authorlujianxing,author_emaillujianxinglujianxing.com,urlhttp://blog.lujianxing.com,py_modules[foo] ) py_modules 定义 需要打包的模块名 2.创…

[Ruby]$: 是什么意思?

ruby comes with a set of predefined variables$: default search path (array of paths)其他Ruby特殊变量: $! 最近一次的错误信息 $ 错误产生的位置 $_ gets最近读的字符串 $. 解释器最近读的行数(line number) $& 最近一次与正则表达式匹配的字符串 $~ 作为…

rocketmq 启动_016【windows版Rocketmq】小白学习Rocketmq单机部署

以前都是听说MQ,或者在别人搭建好的基础上去使用,没有自己动手搭建过,就没有更深入去理解。现在机会来啦.啦啦.啦啦啦......引用自己的CSDN文章href"https://blog.csdn.net/chenzhong2010/article/details/106699590或点击左下角“阅读原…

WPF WebBrowser 加载 html ,出现安全警告, 运行 脚本和 activeX 控件,

对于你的问题&#xff0c;只需要在你的HTML首行添加如下代码即可隐藏安全提示条&#xff1a; <!-- saved from url(0014)about:internet --> 还有一个可选方案是使用Winform的WebBrowser控件&#xff0c;不需要更改HTML代码&#xff0c;也不会出现安全提示&#xff0c;需…

资料下载资源网站

脚本之家&#xff1a;www.jb51.net 转载于:https://www.cnblogs.com/dreammyle/p/3850250.html

php异步处理下载文件,异步处理Excel文件导入【流程图+PHP示例】

面向管理后台的系统中&#xff0c;经常会有文件导入的需求。常规的做法就是同步等待&#xff0c;但在业务关系复杂(多表数据校验)、数据量较大的情况下&#xff0c;管理人员只能等结果&#xff0c;也可能会等到超时。使用异步的话&#xff0c;将导入数据的功能与后端接口解耦&a…

tcp client.cs

public class stateobject { public socket worksocket null; public const int Buffer_Size2048; public byte[] buffer new byte[Buffer_size]; public stringbuilder sb new stringbuilder(); } 转载于:https://www.cnblogs.com/neumik/archive/2012/11/15/2771024.ht…