Elastisearch集群(单节点)

news2024/11/25 14:43:56

目录

一、文件下载

二、创建linux es用户

三、上传、解压canal、es、kibana

四、配置es通讯证书(生成证书给es配置使用)

五、配置elastisearch

六、修改系统配置

七、添加ik分词器支持(可选)

八、给文件赋值权限

九、设置密码

十、启动

十一、测试


一、文件下载

  1. canal.adapter-1.1.5
  2. canal.deployer-1.1.5
  3. canal.admin-1.1.5
  4. elasticsearch-7.9.0
  5. kibana-7.9.0
  6. elasticsearch-analysis-ik-7.9.0.zip

二、创建linux es用户

因为安全问题,Elasticsearch 不允许 root 用户直接运行,所以要在每个节点中创建新用户,在 root 用户中创建新用户。

#新增 es-cluster 用户
useradd es-cluster 
#为 es-cluster 用户设置密码
passwd es-cluster 
#如果错了,可以删除再加
userdel -r es-cluster
#文件夹所有者
chown -R es-cluster:es-cluster /data/es-cluster

 三、上传、解压canal、es、kibana到linux目录/data/soft/es-cluster下

## 解压文件到指定文件夹: 
tar -zxvf xx.tar.gz -C /data/soft/es-cluster

把解压的elasticsearch-7.9.0,复制两份(一主二从),复制到 /data/soft/es-cluster/es-node,分别命名为elasticsearch-7.9.0-node-1、elasticsearch-7.9.0-node-2、elasticsearch-7.9.0-node-3

 

四、配置es通讯证书(生成证书给es配置使用)

  • 进到 /data/soft/es-cluster/es-node/elasticsearch-7.9.0-node-1/bin目录下,执行以下代码生成ca证书,默认生成的ca默认放在es根目录ca.zip
./elasticsearch-certutil ca --pem --out ca.zip --days 365000 -s  
  • 解压ca.zip到 es根目录/ca (命令unzip ca.zip),里边有两个文件ca.key、ca.crt。
  • 进到 /data/soft/es-cluster/es-node/elasticsearch-7.9.0-node-1/bin目录下,执行以下命令,生成za.test.zip文件
./elasticsearch-certutil cert --ca-cert ca/ca.crt --ca-key ca/ca.key --pem --name za-test --out za-test.zip --days 365000 -s
  • 解压za.test.zip文件,把这个文件里的所有文件分别复制到/data/soft/es-cluster/es-node/elasticsearch-7.9.0-node-1/config/certs、data/soft/es-cluster/es-node/elasticsearch-7.9.0-node-2/config/certs、data/soft/es-cluster/es-node/elasticsearch-7.9.0-node-3/config/certs下(没有certs目录,自己建一个)
  • 查看证书有效期:
openssl x509 -in ca.crt -noout -dates

五、配置elastisearch

修改es配置文件 /data/soft/es-cluster/es-node/elasticsearch-7.9.0-node-1/config/elasticsearch.yml

#集群名称(随便起,但是需要跟其他两个节点保持一致)
cluster.name: cluster-es
#节点名称,每个节点的名称不能重复
node.name: node-1
#ip 地址,每个节点的地址不能重复(填localhost访问不了)
network.host: 111.111.11.111
#是不是有资格主节点
node.master: true
node.data: true
http.port: 9201
transport.tcp.port: 9301
# head 插件需要这打开这两个配置
http.cors.allow-origin: "*"
http.cors.enabled: true
http.max_content_length: 200mb
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master.(子节点不需要配置)
cluster.initial_master_nodes: ["node-1"]
#es7.x 之后新增的配置,节点发现(localhost节点没法找到主节点,无法加入集群)。因为是在同一台机器搭建集群,所以用端口区分,如果在不同的机器,可以保持端口一致。
discovery.seed_hosts: ["111.111.111.11:9301","111.111.111.11:9302","111.111.11.111:9303"]
gateway.recover_after_nodes: 2
network.tcp.keep_alive: true
network.tcp.no_delay: true
transport.tcp.compress: true
#集群内同时启动的数据任务个数,默认是 2 个
cluster.routing.allocation.cluster_concurrent_rebalance: 16
#添加或删除节点及负载均衡时并发恢复的线程个数,默认 4 个
cluster.routing.allocation.node_concurrent_recoveries: 16
#初始化数据恢复时,并发恢复线程的个数,默认 4 个
cluster.routing.allocation.node_initial_primaries_recoveries: 16
#索引自動創建
action.auto_create_index: +first*,-canal_*,+.watches*,+.triggered_watches,+.watcher-history-*,+.kibana*,+.ilm*,+.tasks*,+.apm*
#配置密碼(开始密码校验,下边的验证模式使用certificate,然后配置上边第四点生成的ca证书
xpack.security.enabled: true
#xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.key: certs/za-test.key
xpack.security.transport.ssl.certificate: certs/za-test.crt
xpack.security.transport.ssl.certificate_authorities: certs/ca.crt

复制该配置到elasticsearch-7.9.0-node-2下,替换config/elasticsearch.yml文件。替换后做以下修改:

#集群名称
cluster.name: cluster-es
#节点名称,每个节点的名称不能重复
node.name: node-2
#ip 地址,每个节点的地址不能重复(根据实际填写)
network.host: 111.111.11.111
#是不是有资格主节点
node.master: true
node.data: true
http.port: 9202
transport.tcp.port: 9302
# head 插件需要这打开这两个配置
http.cors.allow-origin: "*"
http.cors.enabled: true
http.max_content_length: 200mb
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
#cluster.initial_master_nodes: ["node-1"]
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["111.111.11.111:9301","111.111.11.111:9302","111.111.11.111:9303"]
gateway.recover_after_nodes: 2
network.tcp.keep_alive: true
network.tcp.no_delay: true
transport.tcp.compress: true
#集群内同时启动的数据任务个数,默认是 2 个
cluster.routing.allocation.cluster_concurrent_rebalance: 16
#添加或删除节点及负载均衡时并发恢复的线程个数,默认 4 个
cluster.routing.allocation.node_concurrent_recoveries: 16
#初始化数据恢复时,并发恢复线程的个数,默认 4 个
cluster.routing.allocation.node_initial_primaries_recoveries: 16
action.auto_create_index: +first*,-canal_*,+.watches*,+.triggered_watches,+.watcher-history-*,+.kibana*,+.ilm*,+.tasks*,+.apm*

#配置密碼
xpack.security.enabled: true
#xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.key: certs/za-test.key
xpack.security.transport.ssl.certificate: certs/za-test.crt
xpack.security.transport.ssl.certificate_authorities: certs/ca.crt

data/soft/es-cluster/es-node/elasticsearch-7.9.0-node-3,修改同理。

六、修改系统配置

  • 修改/etc/security/limits.conf
# 注:* 带表 Linux 所有用户名称
* soft nofile 65535
* hard nofile 65535
或者(指定用户)
es-cluster soft nofile 65535
es-cluster hard nofile 65535
  • 修改/etc/security/limits.d/20-nproc.conf
es-cluster soft nofile 65536
es-cluster hard nofile 65536
* hard nproc 4096
  • 修改/etc/sysctl.conf
# 在文件中增加下面内容
vm.max_map_count=655360

重新加载配置

sysctl -p 

七、添加ik分词器支持(可选)

解压elasticsearch-analysis-ik-7.9.0.zip文件到 ES 根目录下的 plugins 目录下,重启 ES 即可使用。

使用ik分词器(放进去后,需要用root用户执行:chown -R es-cluster:es-cluster /data/soft/es-cluster
如果某些内容需要自定义分词效果,可以进行以下操作:
    首先进入 ES 根目录中的 plugins 文件夹下的 ik 文件夹,进入 config 目录,创建 custom.dic
    文件,写入你想要自定义分词的 词组
。同时打开 IKAnalyzer.cfg.xml 文件,将新建的custom.dic配置其中,重启 ES 服务器。
ik分词器使用:
    GET http://localhost:9200/_analyze
    {
    "text":"测试单词",
    "analyzer":"ik_max_word"
    }
   或者在映射时候指定。

八、给文件赋值权限

# 文件夹所有者
chown -R es-cluster:es-cluster /data/es-cluster

切换es-cluster用户:

su es-cluster

依次启动es(注意:首次启动,因为没有log文件,报错,暂停,切换root执行:chown -R es-cluster:es-cluster /data/soft/es-cluster,在切换回es用户启动即可

九、设置密码
    在bin目录下执行:./elasticsearch-setup-passwords interactive
    依次设置密码:es123456

十、启动
# 启动

bin/elasticsearch

# 后台启动

bin/elasticsearch -d

十一、测试 
浏览器访问:111.111.11.111:9201/_cat/nodes

如果没法访问,开放防火墙端口

firewall-cmd --zone=public --add-port=9201/tcp --permanent
firewall-cmd --reload

# 查看端口使用情况

netstat -ntlp   //查看当前所有tcp端口·
netstat -ntulp |grep 8888   //查看所有1935端口使用情况·

第二章:安装kibana(待放置链接)

第三章:canal搭建(待放置链接)

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

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

相关文章

【C++题解】1713 - 输出满足条件的整数3

问题:1713 - 输出满足条件的整数3 类型:简单循环 题目描述: 有一个数列,该数列的前 4 个数是: 1 4 7 10 ; 请从键盘读入一个正整数 n ,请通过观察前 4 项的规律,输出 1∼n 之间所有…

【安装笔记-20240616-Linux-为 OpenWrt 自动挂载 Windows 主机共享目录】

安装笔记-系列文章目录 安装笔记-20240616-Linux-为 OpenWrt 自动挂载 Windows 主机共享目录 文章目录 安装笔记-系列文章目录安装笔记-20240616-Linux-为 OpenWrt 自动挂载 Windows 主机共享目录 前言一、软件介绍名称:cifsutils主页官方介绍特点 二、安装步骤测试…

如何在 Vue3 中使用 Cytoscape.js 创建交互式网络图

本文由ScriptEcho平台提供技术支持 项目地址:传送门 基于Cytoscape.js的可视化网络图 应用场景介绍 网络图是一种用于表示节点和连接关系的图形化表示形式。在许多领域都有广泛的应用,例如社交网络分析、生物信息学和计算机科学。Cytoscape.js是一个…

基于matlab提取一维数组中非nan的数据

一、使用逻辑索引 使用逻辑索引来选择数组中所有非NaN的元素。逻辑索引是与原数组同型的逻辑数组,true对应的位置将会被选中。 % 假设a是一维数组 a [1, 2, NaN, 4, NaN, 6];% 使用逻辑索引提取非NaN元素 non_nan_elements a(~isnan(a)); 二、使用isnan函数和fi…

Repetition Improves Language Model Embeddings论文阅读笔记

文章提出了一种提高decoder-only LLM的embedding能力的方法,叫echo embeddingslast-token pooling(即直接选最后一个token作为句子的embedding)和直接mean pooling都不如文章提出的echo embedding,做法是把句子重复两次&#xff0…

【C语言】解决C语言报错:Use-After-Free

文章目录 简介什么是Use-After-FreeUse-After-Free的常见原因如何检测和调试Use-After-Free解决Use-After-Free的最佳实践详细实例解析示例1:释放内存后未将指针置为NULL示例2:多次释放同一指针示例3:全局或静态指针被释放后继续使用示例4&am…

Linux (centos7.9)上部署 NFS(Network File System)服务

NFS(Network File System)是一种网络文件系统协议,允许不同计算机之间通过网络共享文件和目录。NFS 最初由 Sun Microsystems 在 1984 年开发,现已成为许多 Unix 和类 Unix 系统(包括 Linux)上的标准文件系…

【C++LeetCode】【热题100】字母异位词分组【中等】-不同效率的题解【3】

题目&#xff1a; 暴力方法&#xff1a; class Solution { public:vector<vector<string>> groupAnagrams(vector<string>& strs) {std::unordered_set<std::string> uniqueWord;//单词字符唯一化集合vector<vector<std::string>>…

鸿蒙NEXT开发中的知识:构建自己的ArkTS应用工程(Stage模型)

创建ArkTS工程 若首次打开DevEco Studio&#xff0c;请点击Create Project创建工程。如果已经打开了一个工程&#xff0c;请在菜单栏选择File > New > Create Project来创建一个新工程。选择Application应用开发&#xff08;本文以应用开发为例&#xff0c;Atomic Servi…

穿越时空的金星奥秘:揭秘古代天文学的惊人成就

在浩瀚的历史长河中&#xff0c;人类对宇宙的探索从未停止。而在中国古代&#xff0c;一项惊人的天文发现&#xff0c;至今仍让世界为之惊叹。那就是西汉时期的《五星占》&#xff0c;一部揭示金星会合周期的珍贵文献&#xff0c;其精确度之高&#xff0c;足以令现代天文学家瞠…

C/C++ 数组负数下标

一 概述 在 C 中&#xff0c;数组是一块连续的内存空间&#xff0c;数组的下标通常用来定位这段内存中的特定元素。下标通常从 0 开始&#xff0c;最大到数组长度减 1。例如&#xff0c;一个有 10 个元素的数组&#xff0c;其有效下标范围是从 0 到 9。 当你尝试使用负数下标来…

免费ai写作?这三款软件是你的好帮手!

在信息爆炸的今天&#xff0c;自媒体已成为越来越多人展现自我、分享知识的平台。然而&#xff0c;对于许多自媒体创作者来说&#xff0c;写作过程中的灵感枯竭、文笔不畅等问题常常困扰着他们。幸运的是&#xff0c;随着人工智能技术的飞速发展&#xff0c;免费AI写作软件应运…

由于找不到msvcr120.dll,无法继续执行代码有什么办法解决呢?

msvcr120.dll是一个动态链接库&#xff08;DLL&#xff09;文件&#xff0c;属于Microsoft Visual C Redistributable Packages for Visual Studio 2013。这个DLL文件包含了C运行时库&#xff08;CRT&#xff09;的函数&#xff0c;这些函数提供了程序执行中所需的标准C语言功能…

聊聊 oracle varchar2 字段的gbk/utf8编码格式和字段长度问题

聊聊 oracle varchar2 字段的gbk/utf8编码格式和字段长度问题 1 问题现象 最近在排查某客户现场的数据同步作业报错问题时&#xff0c;发现了部分 ORACLE 表的 varchar2 字段&#xff0c;因为上游 ORACLE数据库采用 GBK 编码格式&#xff0c;而下游 ORACLE 数据库采用UTF8 编…

【功能详解】银河麒麟操作系统“安全启动”是如何发挥作用的?

2023年12月&#xff0c;财政部、工信部发布了7项信息类产品《政府采购需求标准》&#xff0c;为包括操作系统在内多项产品的政府集中采购提供政策支撑。其中&#xff0c;安全、可信作为国产操作系统的基本要求备受关注。 安全体系的构建离不开操作系统本身的硬实力&#xff0c…

[【机器学习】深度概率模型(DPM)原理和文本分类实践

1.引言 1.1.DPM模型简介 深度概率模型&#xff08;Deep Probabilistic Models&#xff09; 是结合了深度学习和概率论的一类模型。这类模型通过使用深度学习架构&#xff08;如神经网络&#xff09;来构建复杂的概率分布&#xff0c;从而能够处理不确定性并进行预测。深度概率…

MQTT协议详解:物联网通信的高效解决方案(附带代码示例)

什么是MQTT协议 MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种基于发布/订阅模式的轻量级通信协议&#xff0c;专为资源受限的设备和低带宽、不稳定的网络设计。MQTT协议由IBM开发&#xff0c;现已成为物联网&#xff08;IoT&#xff09;领域的标准协…

顶顶通呼叫中心中间件-替换授权文件使授权文件生效指南

一、登录my.ddrj.com下载授权文件 登录地址&#xff1a;用户-顶顶通授权管理系统 登录之后正式授权然后点击查看把license.json下载下来&#xff0c;然后替换到fs的授权文件路径&#xff0c;默认路径是&#xff1a;/ddt/fs/conf 如果安装路径不一样就需要自己去看看授权文件存…

抖音商城618好物节消费数据报告发布,带货成交额同比增长300%

6月21日&#xff0c;“抖音商城618好物节”消费数据报告发布&#xff0c;呈现618期间平台全域经营情况及大众消费趋势。 今年618大促活动中&#xff0c;抖音电商投入流量资源和消费券&#xff0c;鼓励商家、达人双向经营货架场景和内容场景&#xff0c;不断激活消费市场。 报…

丰臣秀吉-读书笔记五

如今直面自己一生中的最高点&#xff0c;加之平日里的觉悟与希冀&#xff0c;此时此地他“一定要死得其所”。 “武士之道&#xff0c;便是在死的瞬间决定一生或华或实。一生谨慎、千锤百炼&#xff0c;如果在死亡这条路上一步走错&#xff0c;那么一生的言行便全部失去真意&am…