Linux(CentOS7)+docker安装Elasticsearch7

我们要安装的内容包含2部分:

  • elasticsearch:存储、搜索和运算

  • kibana:图形化展示,它还提供了一个开发控制台(DevTools),在其中对Elasticsearch的Restful的API接口提供了语法提示

这里我们采用的是elasticsearch的7.12.1版本,由于8以上版本的JavaAPI变化很大,在企业中应用并不广泛,企业中应用较多的还是8以下的版本。

如果拉取镜像困难,可以直接导入百度网盘提供的镜像tar包

1.我们将下载好的es.tar和kibana.tar放入root文件夹下  如下图:

2. 然后使用docker load加载镜像,执行以下命令

 docker load -i es.tar

 docker load -i kibana.tar
 

3. 为了我们容器直接可以相互访问,我们需要创建一个网络,执行以下命令

docker network create  网络名    比如: docker network create ddf

4. 通过下面的Docker命令即可安装单机版本的elasticsearch

注意: 加入的网络需要填写刚刚创建的网络名

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 创建的网路名 \
  -p 9200:9200 \
  -p 9300:9300 \
  elasticsearch:7.12.1

-v es-data:/usr/share/elasticsearch/data   -----挂载es的数据存储目录

-v es-plugins:/usr/share/elasticsearch/plugins        ------挂载es的插件目录,给es安装插件可以直接在数据卷中安装

--privileged   ----- 授权系统权限

-p 9200:9200  ----- http端口

-p 9300:9300  ----- 集群端口

安装完成后,访问9200端口,即可看到响应的Elasticsearch服务的基本信息:

需要注意的是,我们Windows访问需要放行9200端口号,为了后续的简便操作,我这里就关闭了linux的防火墙,执行以下命令

systemctl stop firewalld

5.安装Kibana

通过下面的Docker命令,即可部署Kibana: 

注意: 加入的网络需要填写刚刚创建的网络名

docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=创建的网路名 \
-p 5601:5601  \
kibana:7.12.1

安装完成后,直接访问5601端口,即可看到控制台页面:

选择Explore on my own之后,进入主页面:

然后选中Dev tools,进入开发工具页面:

6. 安装ik分词器

Elasticsearch的关键就是倒排索引,而倒排索引依赖于对文档内容的分词,而分词则需要高效、精准的分词算法,IK分词器就是这样一个中文分词算法。

方案一:在线安装

运行一个命令即可:

docker exec -it es ./bin/elasticsearch-plugin  install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip

 然后重启es容器:

docker restart es

方案二:离线安装

如果网速较差,也可以选择离线安装。

首先,查看之前安装的Elasticsearch容器的plugins数据卷目录:

docker volume inspect es-plugins

结果如下:

[
    {
        "CreatedAt": "2024-11-06T10:06:34+08:00",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/es-plugins/_data",
        "Name": "es-plugins",
        "Options": null,
        "Scope": "local"
    }
]

 可以看到elasticsearch的插件挂载到了/var/lib/docker/volumes/es-plugins/_data这个目录。我们需要把IK分词器上传至这个目录。

找到在百度网盘下载好的ik分词器插件:

然后上传至虚拟机的/var/lib/docker/volumes/es-plugins/_data这个目录:

 执行以下命令如图:

然后上传至虚拟机的/var/lib/docker/volumes/es-plugins/_data这个目录:

然后进行解压,执行以下命令

unzip elasticsearch-analysis-ik-7.12.1.zip -d ik

注意:解压完后会出现一个ik文件夹,这时我们需要将zip压缩包删除

最后,重启es容器:

docker restart es

后续我们想要使用只需要启动容器就行

我们可以通过 docker ps -a 来查看运行状态和容器名

我们看到我们的容器名是es和kibana

后续只需要执行

docker start es

docker start kibana即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hello97_db

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值