docker,windows,linux下安装elasticsearch(代码片段)

活跃的咸鱼 活跃的咸鱼     2022-12-13     522

关键词:

Windows下安装ES

1.下载地址:

https://www.elastic.co/cn/downloads/past-releases#elasticsearch

2.选择自己要下载的windows版本:

3.解压安装

Windows 版的 Elasticsearch 的安装很简单,解压即安装完毕,解压后的 Elasticsearch 的目录结构如下:

目录含义
bin可执行脚本目录
config配置文件目录
jdk内置jdk目录
logs日志目录
lib类库
moudles模块目录
plugins插件目录

4.启动服务

解压后,进入 bin 文件目录,点击 elasticsearch.bat 文件启动 ES 服务。

输入地址:http://localhost:9200,测试结果:

注意:9300 端口为 Elasticsearch 集群间组件的通信端口,9200 端口为浏览器访问的 http协议 RESTful 端口。

Linux下安装ES

1.下载地址:

https://www.elastic.co/cn/downloads/past-releases#elasticsearch

2.选择自己要下载的linux版本:

3.解压安装

1)解压

tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz 
-C /opt/module

2) 改名

mv elasticsearch-7.8.0 es

3)创建用户

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

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

4) 修改配置文件:

修改/opt/module/es/config/elasticsearch.yml 文件加入如下配置:

cluster.name: elasticsearch
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]

修改/etc/security/limits.conf

# 在文件末尾中增加下面内容
# 每个进程可以打开的文件数的限制
es soft nofile 65536
es hard nofile 65536

修改/etc/security/limits.d/20-nproc.conf

# 在文件末尾中增加下面内容
# 每个进程可以打开的文件数的限制
es soft nofile 65536
es hard nofile 65536
# 操作系统级别对每个用户创建的进程数的限制
* hard nproc 4096
# 注:* 带表 Linux 所有用户名称

修改/etc/sysctl.conf

# 在文件中增加下面内容
# 一个进程可以拥有的 VMA(虚拟内存区域)的数量,默认值为 65536
vm.max_map_count=655360

重新加载

sysctl -p

4.启动服务

cd /opt/module/es/
#启动
bin/elasticsearch
#后台启动
bin/elasticsearch -d

关闭防火墙

#暂时关闭防火墙
systemctl stop firewalld
#打开防火墙永久性生效,重启后不会复原
systemctl enable firewalld.service 
#关闭防火墙,永久性生效,重启后不会复原
systemctl disable firewalld.service 

测试:

Docker下安装ES

1.部署单点es

1.1.创建网络

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

docker network create es-net

1.2.加载镜像

这里我们采用elasticsearch的7.12.1版本的镜像,这个镜像体积非常大,接近1G。不建议自己pull。可以将官网下载镜像的tar包,上传到虚拟机中,然后运行命令加载即可:

# 导入数据
docker load -i es.tar

同理还有kibana的tar包也需要这样做。

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 \\
    -p 9300:9300 \\
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://8.142.89.135:9200 即可看到elasticsearch的响应结果:

2.部署kibana

kibana可以给我们提供一个elasticsearch的可视化界面,便于我们学习。

2.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:端口映射配置

kibana启动一般比较慢,需要多等待一会,可以通过命令查看运行日志:

docker logs -f kibana

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

2.2.DevTools

kibana中提供了一个DevTools界面:

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

3.安装IK分词器

3.1在线安装ik插件(较慢)

# 进入容器内部
docker exec -it elasticsearch /bin/bash

# 在线下载并安装
./bin/elasticsearch-plugin  install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip

#退出
exit
#重启容器
docker restart elasticsearch

3.2.离线安装ik插件(推荐)

1)查看数据卷目录

安装插件需要知道elasticsearch的plugins目录位置,而我们用了数据卷挂载,因此需要查看elasticsearch的数据卷目录,通过下面命令查看:

docker volume inspect es-plugins

显示结果:

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

说明plugins目录被挂载到了:/var/lib/docker/volumes/es-plugins/_data这个目录中。

2)解压缩分词器安装包

3)上传到es容器的插件数据卷中

也就是/var/lib/docker/volumes/es-plugins/_data

4)重启容器

# 4、重启容器
docker restart es
# 查看es日志
docker logs -f es

5)测试:

IK分词器包含两种模式:

  • ik_smart:最少切分

  • ik_max_word:最细切分

3.3 扩展词词典

随着互联网的发展,“造词运动”也越发的频繁。出现了很多新的词语,在原有的词汇列表中并不存在。比如:“奥力给”,“非主流” 等。

所以我们的词汇也需要不断的更新,IK分词器提供了扩展词汇的功能。

1)打开IK分词器config目录:

2)在IKAnalyzer.cfg.xml配置文件内容添加:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
        <comment>IK Analyzer 扩展配置</comment>
        <!--用户可以在这里配置自己的扩展字典 *** 添加扩展词典-->
        <entry key="ext_dict">ext.dic</entry>
</properties>

3)新建一个 ext.dic,可以参考config目录下复制一个配置文件进行修改

非主流
奥力给

4)重启elasticsearch

docker restart es

# 查看 日志
docker logs -f elasticsearch

注意当前文件的编码必须是 UTF-8 格式,严禁使用Windows记事本编辑

3.4 停用词词典

在互联网项目中,在网络间传输的速度很快,所以很多语言是不允许在网络上传递的,如:关于宗教、政治等敏感词语,那么我们在搜索时也应该忽略当前词汇。

IK分词器也提供了强大的停用词功能,让我们在索引时就直接忽略当前的停用词汇表中的内容。

1)IKAnalyzer.cfg.xml配置文件内容添加:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
        <comment>IK Analyzer 扩展配置</comment>
        <!--用户可以在这里配置自己的扩展字典-->
        <entry key="ext_dict">ext.dic</entry>
         <!--用户可以在这里配置自己的扩展停止词字典  *** 添加停用词词典-->
        <entry key="ext_stopwords">stopword.dic</entry>
</properties>

3)在 stopword.dic 添加停用词

***

4)重启elasticsearch

# 重启服务
docker restart elasticsearch
docker restart kibana

# 查看 日志
docker logs -f elasticsearch

日志中已经成功加载stopword.dic配置文件

linux下docker安装部署(代码片段)

 Linux下docker安装部署 环境说明该文档安装环境为CentOSLinuxrelease7.9.2009,内核版本为3.10.0-1160.81.1.el7.x86_64 安装方法使用Docker仓库进行安装 准备1、Docker要求CentOS系统的内核版本高于3.102、确保yum包更新到最新3、确保... 查看详情

关于linux下docker内网离线安装的一些笔记(代码片段)

写在前面博文为内网离线安装docker教程安装前提是你需要有一台最小化安装的Linux机器,可以是虚机如果不是最小化,可能需要手动下载一些依赖理解不足小伙伴帮忙指正我所渴求的,無非是將心中脫穎語出的本性付諸生... 查看详情

关于linux下docker内网离线安装的一些笔记(代码片段)

写在前面博文为内网离线安装docker教程安装前提是你需要有一台最小化安装的Linux机器,可以是虚机如果不是最小化,可能需要手动下载一些依赖理解不足小伙伴帮忙指正我所渴求的,無非是將心中脫穎語出的本性付諸生... 查看详情

docker——windows系统下安装docker

...11%E4%B8%8B%E5%AE%89%E8%A3%85公司没有提供Windows系统直接运行的docker,而是提供了一个给Linux写的docker,加上了一个可视化界面,然后再给你配一个WSL(Windows适配Linux系统)就能在Windows上跑Linux软件了。一、下载wsl二... 查看详情

(转)windows下安装docker,gitbash环境配置(代码片段)

转:https://blog.csdn.net/chengly0129/article/details/68944269官网介绍:https://docs.docker.com/toolbox/toolbox_install_windows/ 方法1.安装virtualBox,然后安装的Linux(Docker支持版本,如ubuntu-14.04.4-server-amd64.iso), 查看详情

windows下docker的安装

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。前期准备windows需... 查看详情

docker容器虚拟化技术(代码片段)

...运行环境的坑简直不要太多了(● ̄(?) ̄●),并不仅限于docker、Nginx、PHP、Python等等,我会尽详细写出实际过程中遇到的各种各样的奇葩问题1.docker适用环境其实docker本身也没有太多在Windows下花功夫。目前,docker仅支持Linux与Window... 查看详情

centos安装docker(代码片段)

...存储库yuminstall-yyum-utilsyum-config-manager--add-repohttps://download.docker.com/linux/centos/docker-ce.repo1.2.安装dockeryuminstalldocker-cedocker-ce-clicontainerd.io  默认安装docker的最新版本,如果需要安装特定版本需要使用   yuminstalldocker-ce-<... 查看详情

windows1064位安装docker

本文主要介绍Docker在Windows下的安装。关于Docker的介绍和文档在其官网中可以找到:http://www.docker.com 。安装环境:Windows7。  Docker引擎使用了一个定制的Linux内核,所以要在Windows下运行Docker我们需要用到一个轻量级的虚拟机... 查看详情

docker学习系列:windows下安装docker

本文目录如下: windows按照docker的基本要求具体安装步骤开始使用安装远程连接工具连接docker安装中遇到的问题Docker的更新Docker中的jupyterwindows下使用docker的常用命令 windows下安装docker的方法应该参考docker官网,之前参考的... 查看详情

docker安装

Docker安装Yum源下载下载地址:https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoCd/etc/yum.repos.d/; wgethttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo1.   Docker-server.docker-client下载地址Docker-server:https://mirrors.aliyun.com/docker-ce/linu... 查看详情

docker安装

Docker安装Yum源下载下载地址:https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoCd/etc/yum.repos.d/; wgethttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo1.   Docker-server.docker-client下载地址Docker-server:https://mirrors.aliyun.com/docker-ce/linu... 查看详情

linux环境下安装docker环境(亲测无坑)(代码片段)

Linux环境安装Docker环境安装前提条件第一步:检查并清除系统残余项,并安装Docker依赖环境第二步:Docker依赖环境搭建好之后,安装并启动Docker安装前提条件Docker要求CentOS系统的内核版本高于3.10,首先验证你... 查看详情

docker路径更改

本文环境在Windows10下dockerdocker默认不修改路径全部安装在c盘会非常大,等发现c盘占了20多g再想办法,真难过 默认情况下  1、linux容器下Docker容器的安装MobyLinuxVM.vhdx内    只要更改VHD路径即可会自动移动VHD    2... 查看详情

docker打包当前linux全部文件系统

一、搭建Docker环境1.Linux环境下安装安装/升级你的Docker客户端推荐安装1.10.0以上版本的Docker客户端,参考文档:Docker配置镜像加速器如果您要拉取Docker官方的镜像,请先安装阿里云提供的Docker官方镜像加速器:针对Docker客户端版... 查看详情

docker18.ceharbor安装

 安装最新版的docker可以参考docker的官网https://docs.docker.com/install/linux/docker-ce/centos/一、安装docker安装依赖sudoyuminstall-yyum-utilsdevice-mapper-persistent-datalvm2安装源sudoyum-config-manager--add-repohttps://download.docker.com/linux/centos/docker-ce.repo查... 查看详情

云计算--windows下安装docker

...quo;virtualization”可用(可进入任务管理器查看)2.安装Docker:2.1下载和安装DockerToolbox从Docker官网可以下到DockerToolbox:https://www.do 查看详情

windows和centos下docker的安装配置(代码片段)

Windows和Centos下Docker的安装配置windows环境下的安装(win10)在Windows系统上需要利用toolbox来安装Docker,现在Docker有专门的Win10专业版系统的安装包,需要开启Hyper-V。然后才能正常安装Hyper-V就是虚拟机中的一种开启Hyper-Vwin10专业版开启... 查看详情