Linux Docker安装部署ES及Kibana

Linux 安装部署ES及Kibana

一、什么是Elastic Search

ElasticSearch 简称 ES是基于Apache Lucene构建的开源搜索引擎,是当前流行的企业级搜索引擎。Lucene本身就可以被认为迄今为止性能最好的一款开源搜索引擎工具包,但是lucene的API相对复杂,需要深厚的搜索理论。很难集成到实际的应用中去。但是ES是采用java语言编写,提供了简单易用的RestFul API,开发者可以使用其简单的RestFul API,开发相关的搜索功能,从而避免lucene的复杂性

二、准备环境

1、安装前准备

  • centos7 +
  • java 8 +
  • elastic 6.8.0+

2、安装配置JDK环境(必须JDK1.8+) 【安装过的请忽略此步骤】

注意:选择适合自己的JDK,并且注意安装JDK的系统

地址:https://www.oracle.com/java/technologies/downloads/#java8

2.1、卸载linux系统自带的JDK(建议直接用超级用户,不然卸载的时候可能会报权限不够的error,之后的操作也需要用root权限)
2.1.1、切换用户:su root
su root
2.1.2、查看自带JDK命令:rpm -qa | grep jdk
rpm -qa | grep jdk
2.1.3、卸载自带JDK命令:rpm -e --nodeps 要卸载的JDK
rpm -e --nodeps 要卸载的JDK
2.2、在usr/local目录下创建java目录,把我们下载好的JDK压缩包上传到 创建好的 java目录下(我放在该目录下了,也可以放在其他目录下)

创建安装目录:mkdir java

cd /usr/local
mkdir java
cd java
2.3、把压缩包解压到当前目录(我们创建的java目录下),解压命令:tar -zxvf 所要解压的文件名
tar -zxvf 所要解压的文件名

2.4、编辑profile文件:vim /etc/profile
把光标移到最后一行,键盘按 i,进入编辑模式,然后插入以下内容:(注意自己所建java的路径、jdk的名称)

JAVA_HOME=/usr/local/java/jdk1.8.0_381
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

然后按ESC退出编辑模式,‘shift + :’,输入wq,回车,完成保存并退出

2.5、让编辑的文件生效执行:source /etc/profile
2.6、最后验证JDK安装是否成功:java -version
[root@aliyun ~]# cd /usr/local/java
[root@aliyun java]# ls
jdk-8u381-linux-x64.tar.gz
[root@aliyun java]# tar -zxvf jdk-8u381-linux-x64.tar.gz
[root@aliyun java]# vim /etc/profile
[root@aliyun java]# source /etc/profile
[root@aliyun java]# java -version
java version "1.8.0_381"
Java(TM) SE Runtime Environment (build 1.8.0_381-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.381-b09, mixed mode)

出现上述显示,则完毕!

3、下载安装ES:

注意对应JDK版本,官方文档查看对应版本:https://www.elastic.co/cn/support/matrix#matrix_jvm

3.1、使用命令或官网下载:
#下载ES
wget -P /download/ https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.4-linux-x86_64.tar.gz
官网下载:

ES官网下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch 可选择历史版本

选择版本

上传ES压缩包到服务器

3.3、解压文件
#elasticsearch是不能使用root用户操作,这里我们就需要创建一个其他用户,创建用户
#在linux系统中创建新的组
groupadd es
#创建新的用户esUser并将esUser用户放入es组中
useradd esUser -g es
#修改es用户密码
passwd esUser
#---输入密码

#解压
tar -zxf /download/elasticsearch-7.17.4-linux-x86_64.tar.gz -C /usr/local
#将解压后的文件移动到指定目录(根据自己目录操作)
mv /usr/local/elasticsearch-7.17.4 /usr/local/elasticsearch
#更改文件或目录的所有权
chown esUser:es -R /usr/local/elasticsearch

三、修改配置、启动ES

1、修改ES使用的jvm内存大小

vi /usr/local/elasticsearch/config/jvm.options
#-Xms4g
#-Xms4g
#修改为 (内存大小根据自己服务器配置修改)
-Xms256m
-Xms256m

2、修改ES相关配置

注意:ES服务默认启动是受保护的,只允许本地客户端连接,如果想要通过远程客户端访问,必须开启远程连接

vi /usr/local/elasticsearch/config/elasticsearch.yml
#修改以下配置 (默认端口9200)
# 支持远程访问
network.host: 0.0.0.0
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]

ES配置文件修改1

在这里插入图片描述

3、启动ES (30s - 1min)

su - esUser
cd /usr/local/elasticsearch/bin
# -d 表示后台启动
./elasticsearch -d

报错解决

在这里插入图片描述

使用root用户修改系统配置

su root

vim /etc/security/limits.conf

在最后面追加下面内容

*               soft    nofile          65536
*               hard    nofile          65536
*               soft    nproc           4096
*               hard    nproc           4096

vim /etc/sysctl.conf

  • 添加此语句:vm.max_map_count=655360

在这里插入图片描述

执行命令检测是否生效:sysctl -p

退出从新登录之后重新启动ES服务

通过浏览器访问ES服务

  • 放开云服务器安全规则关闭防火墙即可通过 ip:9200 在浏览器访问
    在这里插入图片描述

四、Kibana

Kibana是一个针对Elasticsearch的开源分析及可视化平台,使用Kibana可以查询、查看并与存储在ES索引的数据进行交互操作,使用Kibana能执行高级的数据分析,并能以图表、表格和地图的形式查看数据。

注意:如果没有安装es(搜索引擎),请先安装es后再来安装Kibana(可视化平台)。

1.下载Kibana 点击下载

安装下载的kibana | 指令:wget -P /download/ https://artifacts.elastic.co/downloads/kibana/kibana-7.17.4-linux-x86_64.tar.gz

wget -P /download/ https://artifacts.elastic.co/downloads/kibana/kibana-7.17.4-linux-x86_64.tar.gz

解压文件

#解压文件到指定目录
tar -zxf /download/kibana-7.17.4-linux-x86_64.tar.gz -C /usr/local
#将解压后的文件移动到指定目录(根据自己目录操作)
mv /usr/local/kibana-7.17.4-linux-x86_64 /usr/local/kibana

修改配置

vi /usr/local/kibana/config/kibana.yml
# 默认端口为5601
# 支持远程访问
server.host: "0.0.0.0"

配置文件修改

启动kibana (30s - 1min)

cd /usr/local/kibana/bin
# 允许使用root用户启动 
./kibana --allow-root &

防火墙放行5601 ,浏览器远程访问即可

Kibana server is not ready yet”这个错误通常是由于Kibana服务无法连接到Elasticsearch引起的。这可能是由于以下原因之一:

  1. Elasticsearch没有启动。请确保Elasticsearch正在运行并且没有遇到任何错误。您可以在Elasticsearch的日志文件中查看错误消息以了解有关原因的更多信息。
  2. Kibana未能连接到Elasticsearch。请确保Kibana配置文件中的Elasticsearch连接信息正确,并且Elasticsearch服务已在相应端口上启动。默认情况下,Elasticsearch使用端口9200和9300。
  3. Elasticsearch的索引不可用。请检查Elasticsearch中是否存在Kibana索引,该索引通常称为“.kibana”。如果不存在,请尝试通过访问http://localhost:9200/.kibana来手动创建它。
  4. Kibana的配置文件存在问题。请检查Kibana配置文件中是否有任何错误或不正确的设置。您可以在Kibana日志文件中查找更多信息,该文件通常位于Kibana安装目录下的logs文件夹中。

如果您已经检查了上述问题,并且仍然无法解决问题,则可能需要升级或降级Kibana或Elasticsearch版本以确保它们兼容。

Docker安装部署Elasticsearch、kibana

一、安装Elasticsearch

1.1.创建网络

因为我们还需要部署kibana容器,因此需要让es和kibana容器互联。这里先创建一个网络:

docker network create es-net

1.2.拉取

docker pull  elasticsearch:7.12.1

1.3.运行

运行docker命令,部署单点es:

docker run -d \
	--name es \
    -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
    -e "discovery.type=single-node" \
    -v es-data:/usr/share/elasticsearch/data \
    -v es-plugins:/usr/share/elasticsearch/plugins \
    --privileged \
    --network es-net \
    -p 9200:9200 \
elasticsearch:7.12.1

命令解释:

  • -e "cluster.name=es-docker-cluster":设置集群名称
  • -e "http.host=0.0.0.0":监听的地址,可以外网访问
  • -e "ES_JAVA_OPTS=-Xms512m -Xmx512m":内存大小
  • -e "discovery.type=single-node":非集群模式
  • -v es-data:/usr/share/elasticsearch/data:挂载逻辑卷,绑定es的数据目录
  • -v es-logs:/usr/share/elasticsearch/logs:挂载逻辑卷,绑定es的日志目录
  • -v es-plugins:/usr/share/elasticsearch/plugins:挂载逻辑卷,绑定es的插件目录
  • --privileged:授予逻辑卷访问权
  • --network es-net :加入一个名为es-net的网络中
  • -p 9200:9200:端口映射配置

在浏览器中输入:http://IP地址:9200 即可看到elasticsearch的响应结果:

在这里插入图片描述

二、部署kibana

2.1.部署

拉取镜像命令

docker pull kibana:7.12.1

运行docker命令,部署kibana

docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=es-net \
-p 5601:5601  \
kibana:7.12.1
  • --network es-net :加入一个名为es-net的网络中,与elasticsearch在同一个网络中
  • -e ELASTICSEARCH_HOSTS=http://es:9200":设置elasticsearch的地址,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch
  • -p 5601:5601:端口映射配置

此时,在浏览器输入地址访问:http://IP地址:5601,即可看到结果

2.2.DevTools

kibana中提供了一个DevTools界面:

在这里插入图片描述

这个界面中可以编写DSL来操作elasticsearch。并且对DSL语句有自动补全功能。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值