(一)elasticsearch7.6.0 集群搭建 elasticsearch-head Kibana搭建

(一)elasticsearch7.6.0 集群搭建 elasticsearch-head Kibana搭建

(二)elasticsearch7.6.0 使用,常见增删改查功能语句

(三)elasticsearch 7.6.0整合springboot 2.1.4实现模糊查询/精确查询/高亮查询

Elasticsearch安装部署手册

本文分为三部分, 第一部分是本文内容, 主要讲述环境搭建

1 环境配置

主机名IP地址操作系统ES版本
Es1192.168.5.32CentOS77.0.1
Es2192.168.5.33CentOS77.0.1
Es3192.168.5.34CentOS77.0.1

ES下载地址

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.0-linux-x86_64.tar.gz

或者到官网自行下载:

https://www.elastic.co/cn/downloads/elasticsearch

因analysis-ik7.6(当前最新)分词系统对ElasticSearch的版本有要求,所以选择ElasticSearch7.6.0版本进行安装.

2 节点初始配置

所有三个节点都需要根据以下配置内容进行相同的配置。

2.1 节点相互信任(可选)

root用户登陆后执行 ssh-keygen 生成本地秘钥,不需秘钥
生成后,秘钥存储在/root/.ssh 目录下
把生成的公钥传递给其他服务器

ssh-copy-id -i .ssh/id_rsa.pub root@es2
ssh-copy-id -i .ssh/id_rsa.pub root@es3

测试是否可用 ssh es2 ;第一次需要输入密码,以后不需要了就说明成功了

2.2 关闭selinux

编辑/etc/selinux/config 文件,将SELinux的默认值enforcing 改为 disabled,下次开机就不会再启动

在这里插入图片描述

重新启动后可用命令getenforce查看当前SELinux状态
在这里插入图片描述
状态为Disabled 代表禁用成功

2.3 关闭防火墙

  1. 永久关闭防火墙
systemctl disable firewalld
  1. 重新启动系统后查看防火墙状态
systemctl status firewalld

在这里插入图片描述

2.4 创建elastic用户

  1. 创建es用户
    用户密码为es
useradd es 
passwd es		#设置es用户的登录口令为es

2.5 创建数据目录

创建/data目录为数据存储主目录
把此目录所有权赋予es用户

chown -R es:es /data

2.6 修改系统配置

1. 增加 /etc/sysctl.conf 配置,执行 sysctl -p 生效

修改内容为

vm.max_map_count = 655300
vm.swappiness = 1
2. 增加 /etc/security/limits.conf 配置
es soft nofile 65536
es hard nofile 65536
es soft memlock unlimited
es hard memlock unlimited

2.7 配置java环境

由于ElasticSearch与JVM进行了深入绑定,严格要求对应的JVM版本,所以不建议自己安装JVM,可以直接引用es安装路径下的JDK即可(如果服务器部署了其他JAVA应用,请慎重设置!!!

1. 设置环境变量(root用户)
vim /etc/profile
export JAVA_HOME= /opt/elasticsearch-7.6.0/jdk
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

在文件结尾处添加如下内容

2. 使环境变量生效
source /etc/profile
3. 检查是否生效
Java -version 

如果能够正常显示出java的版本号代表成功
在这里插入图片描述
建议重新启动系统后以es用户登录后重复检查步骤,确认java环境对es用户生效

3 ElasticSearch安装

把下载的elasticsearch-7.6.0上传至服务器
解压缩文件到/opt目录下

tar -zxvf  elasticsearch-7.6.0-linux-x86_64.tar.gz -C /opt

更改目录所有权为es用户

chown -R es:es /opt/elasticsearch-7.6.0/

修改 jvm 参数文件 /opt/elasticsearch/config/jvm.options
主要修改内存占用,虚拟机测试环境可分配4G
在这里插入图片描述

修改 /opt/elsaticsearch/config/elasticsearch.yml

cluster.name: test_es
node.name: es1
path.data: /data/es/data
path.logs: /data/es/logs
bootstrap.memory_lock: true
network.host: 192.168.5.32
cluster.initial_master_nodes: ["es1", "es2","es3"]
discovery.zen.ping.unicast.hosts: ["192.168.5.32","192.168.5.33","192.168.5.34"]
gateway.recover_after_nodes: 3

其他两台机器也需要如上安装,在配置中需要更改node.name为本机名称;network.host为本机ip

部署完毕后可进行测试,三台机器都在es用户下启动如下命令

/opt/elasticsearch-7.6.0/bin/elasticsearch 

顺序启动三台计算机的服务后,通过本地浏览器访问
http://192.168.5.32:9200/_cat/nodes?pretty 查看节点状态
http://192.168.5.32:9200/_cat/nodes?pretty 查看集群状态

如果能够正常返回,说明安装配置没问题

4 安装分词插件

以es用户登录执行下面操作
确保elasticsearch系统关闭后执行,下载插件并安装:

/opt/elasticsearch-7.6.1/bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.0/elasticsearch-analysis-ik-7.6.0.zip

三台节点都需要安装这个插件

配置远程扩展字典时,出现 java.net.SocketPermission 拒绝连接,此时需配置 jre 策略
#vim /opt/jre/lib/security/java.policy,在最后一个 “}” 前追加下面一行

permission java.net.SocketPermission "*:*","accept,connect,resolve";

安装完毕后,三台机器分别再次启动es,如果发现启动信息中包含如下信息,则说明分词插件安装成功
在这里插入图片描述

5 设置开机启动

三台机器都以root用户身份,创建 /usr/lib/system/system/elasticsearch.service,内容如下

[Unit]
Description=ElasticSearch
Requires=network.service
After=network.service
[Service]
User=es
Group=es
LimitNOFILE=65536
LimitMEMLOCK=infinity
Environment=JAVA_HOME=/opt/elasticsearch-7.6.0/jdk
ExecStart=/opt/elasticsearch-7.6.0/bin/elasticsearch
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target

允许服务启动

systemctl enable elasticsearch.service

然后所有机器都重新启动后,测试集群是否正常即可

6 Elasticsearch-head 部署

6.1 前置

Elasticsearch需要node.js的环境才能运行.
Node.js下载地址: https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz
因为下载的是.xz文档,上传到192.168.5.32后需要执行:

xz -d node-v12.16.1-linux-x64.tar.xz
tar xvf node-v12.16.1-linux-x64.tar.xz -C /opt

解压缩到/opt后需要把目录权限给es
配置/etc/profile环境变量新增如下:

export NODE_HOME=/opt/node-v12.16.1-linux-x64
export PATH=$NODE_HOME/bin:$PATH

配置好后,执行命令 source /etc/profile 使上面的配置生效。
然后执行 npm -v
在这里插入图片描述
看到如上信息代表node.js配置成功

6.2 下载

Elasticsearch-head下载地址: https://github.com/mobz/elasticsearch-head
下载后解压缩到/opt/elasticsearch-head,给es用户目录权限

6.3 安装

境外源比较慢,可以使用taobao.org的源

npm install cnpm -g --registry=https://registry.npm.taobao.org
cd /opt/elasticsearch-head
cnpm install    #代表通过境内源进行安

6.4 配置

cd /opt/elasticsearch-head
vim Gruntfile.js

按照下面修改源配置文件

server: {
options: {
hostname: '*',
port: 9100,
base: '.',
keepalive: true
}
}

修改elasticsearch-head默认连接地址

Cd /opt/elasticsearch-head/_site
Vim app.js

将localhost修改为ESdeIP地址

修改前:this.base_uri = this.config.base_uri;
修改后:this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.5.32:9200";

修改elasticsearch的配置文件,使elasticsearch-head可以跨域访问elasticsearch(三台机器都需要做)

vim /opt/elasticsearch-7.6.0/config/elasticsearch.yml

在文件结尾添加如下内容

http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE
http.cors.allow-headers: "X-Requested-With, Content-Type, Content-Length, X-User"

三台机器都做了如上配置后重新启动三台服务器

6.5 启动调试

手动启动

cd /opt/elasticsearch-head/
npm run start

在这里插入图片描述

出现上面的信息代表启动成功,可以通过浏览器访问http://192.168.5.32:9100
在这里插入图片描述
这里提示”集群健康值:未连接”,也就是没有连接到集群上,需要在输入框中把http://localhost:9200/修改为http://192.168.5.32:9200 然后点击”连接”即可

出现以上信息后说明elasticsearch-head安装成功
测试了设置开机自启动,都不成功,只能每次开机手动启动了 一一!

7 Kibana安装部署

7.1 下载安装包

下载地址: https://www.elastic.co/cn/downloads/kibana

Kibana版本需要与Elasticsearch版本严格一致, 这里直接下载需要选择对应版本, 点击图中的past releases即可选择版本

在这里插入图片描述

选择对应的版本
在这里插入图片描述
这里需要下载tar.gz类型的文件

在这里插入图片描述

7.2 解压到安装目录

tar -zxvf kibana-7.6.0-linux-x86_64
# 编辑配置文件
cd kibana-7.6.0-linux-x86_64
 vim config/kibana.yml
 
#修改 server.host 和 elasticsearch.url 的配置,分别指定 kibana 和 elasticsearch 所在的服务器及端口
server.host: "你的ip"
elasticsearch.url: "http://Elasticsearch的ip:9200"

7.3 启动Kibana

./bin/kibana

启动成功访问 http://Kibana机器地址:5601
在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Elasticsearch7.9.0是一个开源的分布式搜索和分析引擎,用于构建高效、可扩展的实时搜索解决方案。要搭建Elasticsearch7.9.0集群,需要按照以下步骤进行操作: 1. 下载和安装Elasticsearch7.9.0:从官方网站上下载Elasticsearch7.9.0压缩包,并解压到合适的目录下。 2. 配置Elasticsearch集群参数:在每个节点上的elasticsearch.yml配置文件中,设置集群名称、节点名称、绑定IP地址等参数。确保每个节点的配置文件相同,以便节点可以识别彼此。 3. 修改JVM配置:根据服务器的硬件配置和需求,修改jvm.options文件中的内存分配参数,以确保Elasticsearch能够充分利用可用的系统资源。 4. 启动Elasticsearch节点:在每个节点的终端或命令行中,切换到Elasticsearch的安装目录,并运行./bin/elasticsearch命令来启动节点。确保每个节点都能正常启动。 5. 集群发现和节点自动加入:在elasticsearch.yml配置文件中,配置集群发现机制,如使用单播或多播,以及设置初始主节点。这将使得新的节点能够自动连接到现有的Elasticsearch集群。 6. 验证集群状态:使用curl或其他HTTP客户端发送请求到任意一个节点的IP地址和端口号,查看集群的状态信息。确保所有的节点都连接集群,并且状态正常。 7. 索引和搜索数据:使用Elasticsearch的REST API或Java客户端,可以索引和搜索数据。通过创建索引、定义映射、增删改查操作可以实现灵活和高效的搜索和分析功能。 8. 监控集群健康和性能:使用Elasticsearch提供的监控工具或第三方插件,可以实时监控集群的健康状态、性能指标和查询性能。这有助于及时发现和解决潜在的问题。 总结:以上是搭建Elasticsearch7.9.0集群的基本步骤。搭建集群后,可以实现数据的高可用性、可扩展性和分布式计算,为企业提供全文搜索、日志分析等功能。通过合理的集群配置、优化和监控,可以提高集群的性能和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值