一、es安装
下载镜像:
1 | docker pull elasticsearch:7.6.2 |
简单的安装:
(如果需要分词、kibana等,跳过这条命令,执行后面的):指定外部访问端口号9205、 9305。默认应该是9200和9300,由于本机已使用这两个端口,故修改。
1 | docker run --name elasticsearchtest -p 9205:9200 -p 9305:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d elasticsearch:7.6.2 |
验证:访问地址为本机,端口号9205(上面配置的,这个自定义)
如果只是简单尝试,那么已经足够,可以给java提供es支持了
复杂安装:
但是想要安装分词器、和kibana相连方便,需要一些额外配置,需要配置ip(无需修改本机防火墙让kibana连接)、外挂出来配置信息(方便操作配置修改、分词器等)。
执行命令如下:
创建网络,如果有创建好的网络直接使用即可。“mynetwork”为网络名
1 | docker network create --subnet=172.19.0.0/16 mynetwork |
创建挂载的文件夹和文件(路径自定义)
1 | /home/bunny/elasticsearchtest/config |
创建文件 elasticsearch.yml
内容如下:
1 | http.host: 0.0.0.0 |
执行命令创建容器:
1 | docker run --name elasticsearchtest -p 9205:9200 -p 9305:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms512m -Xmx512m" --network=mynetwork --ip=172.19.0.15 -v /home/bunny/elasticsearchtest/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/bunny/elasticsearchtest/data:/usr/share/elasticsearch/data -v /home/bunny/elasticsearchtest/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.6.2 |
其中
elasticsearch.yml是挂载的配置文件,
data是挂载的数据,
plugins是es的插件,如ik,
-e “discovery.type=single-node” 设置为单节点
特别注意: -e ES_JAVA_OPTS=”-Xms512m -Xmx512m” 设置ES的初始内存和最大内存,过小、过大均启动不了ES,如果是256 安分词器后刚好无法启动,需要512。
–network=mynetwork –ip=172.19.0.15。由于kibana关联 需要linux系统打开防火墙, 如果直接可以访问需要使用docker网络,绕开防火墙。但是kibana也需要使用相同网络。
验证方式同上,访问地址:127.0.0.1:9205 或者 172.19.0.15:9200 。除本机直接访问,想要9205端口访问需要防火墙配置。
二、kibana安装
创建容器:
1 | docker pull kibana:7.6.2 |
创建容器,地址和上面指定的匹配,网络和上面要一致(防火墙全关闭的情况下无所谓),ip地址为未使用的空ip即可,版本号和es配套。
1 | docker run --name kibanatest --network=mynetwork --ip=172.19.0.16 -p 5611:5601 -d kibana:7.6.2 |
配置容器:
进入容器修改相应内容
1 | docker exec -it kibanatest bash |
文件/usr/share/kibana/config/kibana.yml
内容如下:
1 | server.name: kibana |
其中只需要修改ip为上面es地址即可。上面的配置还启用了中文。
然后重起容器
1 | docker restart kibanatest |
验证:
然后访问页面
http://127.0.0.1:5611/app/kibana
或者 172.19.0.16:5601
选择上面的Console,进入控制台:
点击行号1后面的三角标识执行语句:
说明已经安装成功,并可以正常访问es。