Elasticsearch 8.x实战 | elasticsearch 8.x 集群离线安装

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

前言

本文以elasticsearch8.6.2为例详述linux集群离线部署步骤,以 官网部署教程为基础,针对部署过程中可能的疑问作说明。
因为项目安全等的原因,很多时候我们要部署的目标机器是不能访问互联网的。本文是个人离线部署过程记录,希望也能帮助到有同样需要的同学。

版本选择

elasticsearch版本的更新迭代很快,8.x相较7.x , 6.x不仅性能有了大的提升,安全成为必要选项,还增加了许多新的功能。如果纯粹是新项目考虑使用elasticsearch,建议直接考虑8.x版本。
本文选择了当前最新的稳定版本8.6.2,后期会再出一个8.6.2版本对于常用功能的支持和限制的评估清单,有需要的朋友可以关注下

环境准备

elasticsearch 8.6.2有内置的jdk,使用内置自带jdk即可,elasticsearch集群无特别依赖软件,我部署的linux版本CentOS Linux release 7.3.1611 (Core) 。1

开发环境资源有限,所以在一台服务器部署伪集群,避免冲突设置为不同端口。有资源的情况下可以部署到不同的多台机器,http端口默认9200,tcp端口默认9300

ip 端口 节点名称
192.168.56.100 http:9201 tcp:9301 node-1
192.168.56.100 http:9202 tcp:9302 node-2
192.168.56.100 http:9203 tcp:9303 node-3

集群部署

下载解压

下载地址

# 上传服务器
rz
# 解压
tar -xzf elasticsearch-8.6.2-linux-x86_64.tar.gz

run

elasticsearch不能以root账号启动,所以需要先创建非root账号,并赋权

# 创建新用户es
useradd -m -s /bin/bash es
# 设置密码
passwd xxx
# 赋权,这里赋予了dwrx所有权限,如果有限制可以降低权限
chmod -R 777 elasticsearch-8.6.2
# 进入安装目录
cd elasticsearch-8.6.2/
# 启动,退出Ctrl+z
./bin/elasticsearch

elasticsearch8.x系列默认需要密码验证和https,查看启动日志可以看到elasticsearch自动为超级管理员 elastic 生成了密码,还会生成cert认证文件到 elasticsearch-8.6.2/config/certs/目录。
这意味着该elasticsearch服务使用http协议连接时只能使用https,且需要账号/密码。比如上面说的elastic账号和自动生成的密码

The generated password for the elastic built-in superuser is:
<password>

The enrollment token for Kibana instances, valid for the next 30 minutes:
<enrollment-token>

The hex-encoded SHA-256 fingerprint of the generated HTTPS CA DER-encoded certificate:
<fingerprint>

You can complete the following actions at any time:
Reset the password of the elastic built-in superuser with
'bin/elasticsearch-reset-password -u elastic'.

Generate an enrollment token for Kibana instances with
'bin/elasticsearch-create-enrollment-token -s kibana'.

Generate an enrollment token for Elasticsearch nodes with
'bin/elasticsearch-create-enrollment-token -s node'.

Elasticsearch 8.x实战 | elasticsearch 8.x 集群离线安装Elasticsearch 8.x实战 | elasticsearch 8.x 集群离线安装

现在我们可以通过如下方式验证启动状态,会提示输入密码,密码就是上述截图中的elastic对应的密码

curl --cacert $ES_HOME/config/certs/http_ca.crt -u elastic https://localhost:9200

返回结果

{
  "name" : "localhost.localdomain",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "qnuRTH8gSEaGAiIzc_KAzA",
  "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"
}

实际使用情况我们肯定是自己会再生成密码,可以使用如下命令为elastic修改密码或创建新用户并给定密码

bin/elasticsearch-reset-password -u user1 -i <password>

配置

重要配置elasticsearch.yml

path配置

默认es的日志和数据存储放在es的安装目录,这种在升级情况下很容易被删掉。所以官方推荐指定非安装目录的路径

path:
  data: /var/data/elasticsearch
  logs: /var/log/elasticsearch
设置集群名称
# 集群名称每个节点都必须配置成一样
cluster.name: my-cluster
设置节点名称
node.name: node-1
设置端口
transport.port: 9301
http.port: 9201
网络host
# 设置为所在主机ip
network.host: 192.168.56.100
集群发现设置

默认es会扫描本机9300-9305的节点加入集群,如果部署在不同机器就必须设置.
这里设置本机的三个节点

discovery.seed_hosts:
   - 192.168.56.100:9301
   - 192.168.56.100:9302
   - 192.168.56.100:9303

候选主节点设置,开发、测试环境可以数据节点和master节点不分开。生产,特别是大型集群,官方推荐区分节点角色

# 注意默认有配这个这个配置,需要改到原配置下,或者注释已有配置
cluster.initial_master_nodes: 
   - node-1
   - node-2
   - node-3

重要配置jvm.options

开发环境资源有限,修改使用的内存.可以视内存情况设定,生产一般建议是机器内存的一半,且不超过32G

cd elasticsearch-8.6.2/config
-Xms1g
-Xmx1g

部署集群

创建多个节点
# 创建集群目录
mkdir escluster8.6.2
# 把前面的elasticsearch-8.6.2目录复制到刚刚创建的集群目录,并改名node-1
mv  elasticsearch-8.6.2 escluster8.6.2/node-1
cd escluster8.6.2
# 复制jar到当前目录,这里为了使用全新的节点
cp ../elasticsearch-8.6.2-linux-x86_64.tar.gz ./
# 解压
tar -xzf elasticsearch-8.6.2-linux-x86_64.tar.gz
cp -r elasticsearch-8.6.2 node-2
mv elasticsearch-8.6.2 node-3
# 删除tar包
rm -rf elasticsearch-8.6.2-linux-x86_64.tar.gz

注意是使用es用户的情况下操作,如果使用的是root用户,请授权这些目录的所有者为上面步骤创建的新用户es

chown -R es escluster8.6.2

修改node-2和node-3的jvm.options配置文件,增加配置

-Xms1g
-Xmx1g

修改node-2的配置文件elasticsearch.yml

http.host: 192.168.56.100
cluster.name: es8-cluster
node.name: node-2
network.host: 192.168.56.100
http.port: 9202
transport.port: 9302

修改node-3的配置文件elasticsearch.yml

http.host: 192.168.56.100
cluster.name: es8-cluster
node.name: node-3
network.host: 192.168.56.100
http.port: 9203
transport.port: 9303

获取新节点加入集群的token

# node-1节点的目录下执行
bin/elasticsearch-create-enrollment-token -s node

使用生成的token分别在node-2,node-3的bin目录下执行

elasticsearch --enrollment-token <enrollment-token>

会自动生成认证文件config/certs,并配置到elasticsearch.yml中。同时配置了discovery.seed_hosts,但是只配置了节点1,我们一般开发环境会让3个节点都即可以是master节点又是数据节点。所以这里可以改后重启

discovery.seed_hosts:
   - 192.168.56.100:9301
   - 192.168.56.100:9302
   - 192.168.56.100:9303
cluster.initial_master_nodes: 
   - node-1
   - node-2
   - node-3
启动

这里说明下一般情况下的启动命令。
后台启动各个节点,每个节点都需要执行下面命令。注意切换到es账号,su es

./elasticsearch -d -p pid
停止

这里说明下一般情况下的停止命令。

ps -ef|grep elasticsearch
kill -p pid

问题解决

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

系统虚拟内存默认最大映射数为65530,无法满足ES系统要求,需要调整为262144以上

#修改文件
sudo vim /etc/sysctl.conf
#添加参数
vm.max_map_count = 262144

重新加载生效

sysctl -p

kibana安装

因为8.x默认开启了https和密码认证,需要配置kibana和elasticsearch集群连接的认证文件等。建议使用token方式连接elasticsearch集群,更简单。

下载kibana

官网下载
上传到目标服务器,并解压

tar -xzvf kibana-8.6.2-linux-x86_64.tar.gz

授权目录所有者为es

chown -R es kibana-8.6.2
使用token方式连接elasticsearch集群

修改配置文件config/kibana.yml, host配置为kibana所在的服务器ip

server.host: "192.168.56.100"

生成token

# 任一elasticsearch集群执行,这里选择node-1
node-1/bin/elasticsearch-create-enrollment-token -s kibana

注意切换到es用户启动(kibana也不建议使用root账号启动)

bin/kibana --enrollment-token <enrollment-token>

启动成功日志的最后会打印出一个code,记录该code
浏览器访问http://192.168.56.100:5601
首先会提示输入一个类似激活码的,就把上面记录的code录入;然后会弹出登录界面,输入elastic超级管理员的账密即可登入
至此kibana已成功安装并连接elasticsearch集群

配置

使用token方式连接集群成功后也是会自动生成一些认证的文件,和添加相应的配置到kibana.yml中。查看kibana.yml可以看到连接到的节点可能只有一个,可以加入其他两个节点

cat config/kibana.yml
# xpack.fleet.outputs:中的hosts同理配置
elasticsearch.hosts: ['https://192.168.56.100:9201','https://192.168.56.100:9202', 'https://192.168.56.100:9203']

  1. 查看命令 cat /etc/redhat-release) ↩︎文章来源地址https://www.toymoban.com/news/detail-463340.html

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

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

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

相关文章

  • Elasticsearch 集群安装

    我通常认定一个单独运行的 es 服务为一个 es 节点。 es 的节点通过 elasticsearch.yml 的 node.roles 参数来定义,如果不设置 node.roles,则默认如下的角色 master 具有主节点资格 data 数据节点 data_content 内容数据节点 data_hot 热点数据节点 data_warm 温数据节点 data_cold 冷数据节点 data_fro

    2024年02月16日
    浏览(33)
  • elasticsearch集群安装+安全验证+kibana安装

    修改limits.cong配置 /etc/security/limits.conf 修改如下 echo \\\"* soft nofile 65536 hard nofile 131072 soft nproc 4096 hard nproc 4096 soft memlock unlimited hard memlock unlimited\\\" /etc/security/limits.conf 修改sysctl配置 /etc/sysctl.conf 修改如下 echo “vm.max_map_count = 262145” /etc/sysctl.conf #生效 sysctl -p 修改es占用内存 /opt/

    2024年04月16日
    浏览(38)
  • Elasticsearch-8.4.2 集群安装

    一、 环境准备 Java环境1.8以上 机器如下 node1 192.168.157.128 node2 192.168.157.129 node3 192.168.157.130 二、下载elasticsearch Download Elasticsearch | Elastic 三、安装elasticsearch 1. 将安装包上传到/opt/apps目录下 2. 解压 3. 进入elasticsearch-8.4.2,创建data目录 4. 编辑config目录下得elasticsearch.yml配置文件

    2023年04月13日
    浏览(33)
  • 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日
    浏览(53)
  • 搜索引擎elasticsearch :安装elasticsearch (包含安装组件kibana、IK分词器、部署es集群)

    kibana可以帮助我们方便地编写DSL语句,所以还要装kibana 因为我们还需要部署kibana容器,因此需要让es和kibana容器互联。这里先创建一个网络: 这里我们采用elasticsearch的7.12.1版本的镜像,这个镜像体积非常大,接近1G。不建议大家自己pull。 课前资料提供了镜像的tar包: 大家将

    2024年02月16日
    浏览(58)
  • Elasticsearch:如何在 Ubuntu 上安装多个节点的 Elasticsearch 集群 - 8.x

      Elasticsearch 是一个强大且可扩展的搜索和分析引擎,可用于索引和搜索大量数据。 Elasticsearch 通常用于集群环境中,以提高性能、提供高可用性并实现数据冗余。 在本文中,我们将讨论如何在 Ubuntu 20.04 上安装和配置具有多节点集群的 Elasticsearch 版本 8。 得益于 Elasticsearc

    2024年02月12日
    浏览(37)
  • Elasticsearch7.8.1集群安装手册

    elasticsearch集群规划为三个节点,elasticsearch版本为7.8.1 1)下载 Elasticsearch7.8.1安装包 3.1 解压 3.2 修改配置 1)jvm.options调整内存大小 2)修改elasticsearch.yml 集群规划为三个节点,三个节点的配置,只有node.name: es-node1 不同,请分别配置 具体配置如下 3.3 创建用户 3.4.1 排错 3.4.2 后

    2024年02月08日
    浏览(57)
  • elasticsearch 8.3版本安装和集群部署

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

    2023年04月27日
    浏览(53)
  • k8s安装elasticsearch集群

    搭建es集群需要使用的技术如下:k8s集群、StatefulSet控制器、Service(NodePort)服务、PV、PVC、volumeClaimTemplates(存储卷申请模板)。 StatefulSet控制器创建的Pod适合用于分布式存储系统,它最大的特点是各个Pod的数据不一样,各个Pod无法使用同一个存储卷。注意StatefulSet会给所有的

    2024年02月12日
    浏览(45)
  • ElasticSearch 8.x 安装及集群搭建

    网上查询了一下Elasticsearch,这里终结一下,仅供参考。         Elasticsearch,简称为ES。 ES是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据。         Elasticsearch是面向文档的一种数据库,这意味着其不再需要行列式的表格字段约束。   

    2024年02月04日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包