使用docker安装elasticsearch 7.4.2

docker安装elasticsearch及使用

  • elasticsearch的安装
    • 拉取镜像
    • 创建实例
  • 安装kibana
  • 安装IK分词器

elasticsearch的安装

拉取镜像

第一步要下载elasticsearch的镜像以及可视化工具

#  镜像
docker pull elasticsearch:7.4.2
# 可视化工具
docker pull kibana:7.4.2

创建实例

在外部主机创建文件夹用于es目录挂载

# 配置文件目录
mkdir -p /mydata/elasticsearch/config

# 数据文件目录
mkdir -p /mydata/elasticsearch/data

创建配置文件,表示es允许任何的远程的主机访问

echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml

启动es实例

docker run --name elasticsearch -p 9200:9200 -p 9300:9300  --privileged=true \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2

参数说明:
–name 为es实例起名字
-p 端口映射 9200:9200 冒号左边的端口号是主机端口,右边的端口号是docker容器端口,切忌千万不要弄反了,9200是向es发送http请求的端口,9300是分布式集群下es节点之间通信的端口
discovery.type=single-node 以单节点模式运行
ES_JAVA_OPTS 指定运行内存,初始64m,最大128m
-v 挂载 : 左边是主机目录 ,右边是docer实例内部目录
-d 后台运行容器
–privileged=true 在文件挂载时出现
nested: AccessDeniedException[/usr/share/elasticsearch/config/elasticsearch.yml];
说明 权限不够,可以加上这个参数

注意: 在测试环境下一定要设置-e ES_JAVA_OPTS="-Xms64m -Xmx128m",设置es的初始的内存和最大内存,否则可能es占用内存过大,造成启动不了es

启动出现
ElasticsearchException[failed to bind service]; nested: AccessDeniedException[/usr/share/elasticsearch/data/nodes];
等说明权限不够
查看文件权限
使用docker安装elasticsearch 7.4.2_第1张图片
其它用户只有 r可读,x可执行的权限,没有w写的权限
修改权限
将mydata/elasticsearch/目录下所有文件修改为可读可写可执行

chmod -R 777 /mydata/elasticsearch/

使用docker安装elasticsearch 7.4.2_第2张图片
再启动es

docker端口映射或启动容器时报错Error response from daemon: driver failed programming external connectivity on endpoint elasticsearch

在这里插入图片描述
报错原因:
docker服务启动时定义的自定义链DOCKER由于某种原因被清掉
重启docker服务及可重新生成自定义链DOCKER

解决:
重启docker服务后再启动容器

systemctl restart docker
docker start elasticsearch

稍等片刻后,访问es
使用docker安装elasticsearch 7.4.2_第3张图片

安装kibana

docker run --name kibana --privileged=true \
-e ELASTICSEARCH_HOSTS=http://192.168.126.20:9200 -p 5601:5601 \
-d kibana:7.4.2

有需要的话可以加上下面的目录挂载
-v /mydata/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml
稍等片刻
使用docker安装elasticsearch 7.4.2_第4张图片
出现上图说明kibana已经启动成功

安装IK分词器

ik分词器的版本要和elasticsearch的版本对应
在安装elasticsearch时将plusgin文件夹映射到主机上

cd /mydata/elasticsearch/plugins/
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.2/elasticsearch-analysis-ik-7.4.2.zip

解压

unzip elasticsearch-analysis-ik-7.4.2.zip -d ik7.4.2

删除压缩包

rm -rf *.zip

修改权限

chmod -R 777 ik7.4.2/

重启es

docker restart elasticsearch

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