ubuntu22.04搭建elasticsearch+kibana环境
下载镜像ElasticSearch
命令:docker pull elasticsearch:7.6.2
部署ElasticSearch
命令:
docker run -d --name hc-es -p 9200:9200 -p 9300:9300 -v "/home/hc/es/data":/usr/share/elasticsearch/data -e "discovery.type=single-node" elasticsearch:7.6.2
说明:
- docker run: Docker命令,用于创建一个新的容器并运行一个镜像。
- -d: 后台运行模式,即“detached mode”。这意味着容器将在后台运行,并且不会占用当前的命令行界面。
- –name hc-es: 为新创建的容器指定一个名称,这里命名为hc-es。
- -e “ES_JAVA_OPTS=-Xms512m -Xmx512m”: 设置环境变量ES_JAVA_OPTS,用于配置Java虚拟机(JVM)的启动选项。-Xms512m指定了JVM的初始堆内存大小为512MB,-Xmx512m指定了JVM的最大堆内存大小也为512MB。有助于控制Elasticsearch进程的内存使用。
- -e “discovery.type=single-node”: 设置环境变量discovery.type,指定Elasticsearch以单节点模式运行。这意味着Elasticsearch将不会尝试加入任何集群,而是作为一个独立的节点运行。也就是非集群模式
- -v “/home/hc/es/data”:/usr/share/elasticsearch/data: 挂载卷/home/hc/es/data到容器的/usr/share/elasticsearch/data目录。这允许数据持久化存储在容器外部,即使容器被删除,数据也不会丢失。
- -p 9200:9200: 端口映射,将容器的9200端口映射到宿主机的9200端口。这是Elasticsearch的HTTP接口端口,用于客户端连接和数据操作。
- -p 9300:9300: 端口映射,将容器的9300端口映射到宿主机的9300端口。这是Elasticsearch的传输层安全(TLS)端口,用于安全的数据传输。
- elasticsearch:7.6.2: 指定要运行的Docker镜像及其版本。这里使用的是Elasticsearch官方提供的镜像,版本为7.6.2。
查看日志
命令:docker logs hc-es --since 30m
访问验证
http://ip:9200
下载Kibana镜像
命令:docker pull kibana:7.6.2
部署Kibana
命令:docker run -d --name hc-kibana -p 5601:5601 --link hc-es:elasticsearch kibana:7.6.2
说明:
- docker run: 这是Docker的基本命令之一,用于创建一个新的容器并运行一个镜像。
- -d: 这个参数表示“detached”,即在后台运行容器。容器将在启动后立即在后台运行,不会占用当前的命令行界面。
- –name hc-kibana: 为新创建的容器指定一个名称,这里命名为hc-kibana。这使得在后续的命令中可以通过这个名字来引用或管理该容器。
- -p 5601:5601: 端口映射参数,将容器的5601端口映射到宿主机的5601端口。Kibana的Web界面默认监听5601端口,通过这个映射,用户可以通过访问宿主机的5601端口来使用Kibana的Web界面。
- kibana:7.6.2: 这里使用的是Kibana版本要与ES版本一致。
查看日志
命令:docker logs -f hc-kibana
修改配置文件
- docker exec -it hc-kibana bash
- cd config
- vi kibana.yml
- 在最后添加:i18n.locale: “zh-CN”
修改配后重启:docker restart hc:kibana
验证
http://ip:5601
进入容器内部
命令:docker exec -it hc-es /bin/bash
下载并安装
命令:
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip
退出
命令:exit
重启容器
命令:docker restart hc-es
测试
- ik_smart:最少切分
- ik_max_word:最细粒度划分(穷尽词库的可能)