docker 安装 es + kibana + ik + 拼音

环境准备

防火墙配置

  • 我们把 9200 和 9300 两个端口,设置为允许对外访问
  • 笔者这边是测试环境,为了防止后续麻烦,直接关闭防火墙
# 查看防火墙状态,running 为运行状态
firewall-cmd --state

# 停用防火墙
systemctl stop firewalld.service

# 禁止防火墙开机自启
systemctl disable firewalld.service

# 查看防火墙状态,是否是running
firewall-cmd --state

创建一个 docker 虚拟网络

-- 创建命令
docker network create --driver bridge --subnet=10.10.0.0/16 --gateway=10.10.0.1 mynet

-- 查看是否创建成功
docker network ls

安装 elasticsearch

创建数据卷目录

# data 存放数据 plugins 存放插件
mkdir /opt/docker/elasticsearch/data
mkdir /opt/docker/elasticsearch/plugins

chmod 777 /opt/docker/elasticsearch/data
chmod 777 /opt/docker/elasticsearch/plugins

运行 ES

docker-compose.yml

版本号:8.1.0

运行模式:单例

设置内存占用:256 MB,这里是自用测试环境,标准环境不设置或者设置为 4G 以上

version: '3'
services:

  elasticsearch:
    image: elasticsearch:8.1.0            # 镜像名
    container_name: es                    # 容器名
    volumes:
      - /opt/docker/elasticsearch/data:/usr/share/elasticsearch/data
      - /opt/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins
    ports:
      - 9200:9200                         # 端口,宿主机:容器
    environment:
      - "discovery.type=single-node"      # 单例
      - "ES_JAVA_OPTS=-Xms256m -Xmx256m"  # 内存

networks:
  default:
    external:
      name: mynet

启动命令

第一次运行需要下载镜像,请耐心等待

如果机器性能较差,容器启动的时间也可能比较长,耐心等待一会

docker-compose up -d

监测是否启动成功

浏览器输入 http://ip:9200,如 http://192.168.200.100:9200

出现输入账号密码的弹窗即为安装成功

docker 安装 es + kibana + ik + 拼音_第1张图片

账号密码

可以看到和低版本相比,这个版本开启了账号密码验证的功能

但是我们并不知道账号密码是多少,这时候我们就需要去重置一下账号密码

# 进入 docker 容器
docker exec -it es bash
cd bin

# 执行重置密码的命令
./elasticsearch-setup-passwords interactive

根据提示,依次设置几个账号的密码,之后我们会用到 下面两个账号

elastic: 操作用户

kibana_system:用于 kibana 连接使用

docker 安装 es + kibana + ik + 拼音_第2张图片

重置密码后,我们上面的弹框输入账号 elastic 和 密码,返回下面的内容为启动成功

{
  "name" : "9dd8fc6a8a46",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "NtcKAJTdTd6rU-NTzwnrSg",
  "version" : {
    "number" : "8.1.0",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "3700f7679f7d95e36da0b43762189bab189bc53a",
    "build_date" : "2022-03-03T14:20:00.690422633Z",
    "build_snapshot" : false,
    "lucene_version" : "9.0.0",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}

安装 kibana

运行 kibana

docker-compose.yml

环境变量里的账号为专用账号: kibana_system

version: '3'
services:

  kibana:
    image: kibana:8.1.0                           # 镜像名
    container_name: kibana                        # 容器名
    ports:
      - 5601:5601                                 # 端口,宿主机:容器
    environment:
      - ELASTICSEARCH_HOSTS=http://es:9200        # es 地址
      - SERVER_PORT=5601                          # 端口
      - ELASTICSEARCH_USERNAME=kibana_system      # es 的 kibana 专用账号
      - ELASTICSEARCH_PASSWORD="920619"           # 密码,这里如果是纯数字需要加引号
      - XPACK_REPORTING_ROLES_ENABLED=false
      - XPACK_REPORTING_ENCRYPTIONKEY=xre12345678909876543210
      - XPACK_SECURITY_ENCRYPTIONKEY=xse12345678909876543210
      - XPACK_ENCRYPTEDSAVEDOBJECTS_ENCRYPTIONKEY=xee12345678909876543210

networks:
  default:
    external:
      name: mynet

启动命令

第一次运行需要下载镜像,请耐心等待

如果机器性能较差,容器启动的时间也可能比较长,耐心等待一会

docker-compose up -d

验证是否成功

地址栏输入:http://ip:5601 如 http://192.168.200.100:5601

出现如下界面为安装成功,接下来我们就可以使用 elastic 账号登入进行操作了

docker 安装 es + kibana + ik + 拼音_第3张图片

安装 IK 分词器

目前 es 自带的分词器对于中文来讲不是那么的友好,所以我们需要安装对中文友好的 ik 分词器

点击下载 ik 分词器

注意是下载第一个文件,下载源码还需要后续配置,不推荐,我们直接下载编译好的就行

docker 安装 es + kibana + ik + 拼音_第4张图片

将下载好的压缩包上传到 之前运行 es 容器的插件数据卷目录:/opt/docker/elasticsearch/plugins

# 创建分词器目录
cd /opt/docker/elasticsearch/plugins
mkdir ik

# 将压缩包上传到 ik 目录
cd ik
rz

# 解压
unzip elasticsearch-analysis-ik-8.1.0.zip

# 删除压缩包
rm -rf elasticsearch-analysis-ik-8.1.0.zip 

# 重启 es 容器
docker restart es
  • 重启可能需要一定时间,需要耐心等待
  • 等待的过程中我们可以通过查看日志,看看安装是否顺利
# 查看容器日志
docker log -f es

ik 分词器的两种模式

  • ik_smart 最少切分
  • ik_max_word 最细切分

安装拼音分词器

对于后续我们可能会需要自动补全功能,就是在用户输入拼音的时候,就将用户可能查询的结果提示出来供用户选择,这就使需要我们需要一个将汉字转化为拼音的分词器
点击查询拼音分词器
docker 安装 es + kibana + ik + 拼音_第5张图片
安装方法也是解压到 plugins 数据卷下,可以参考 ik 分词器的安装,这里不再赘述
拼音分词器的模式:

  • pinyin

你可能感兴趣的:(docker,elasticsearch,docker)