JavaEE:Docker上安装Elasticsearch

说明:

在Docker上安装Elasticsearch搜索服务器。

一、Elasticsearch容器安装/启动:

1.下载elasticsearch镜像(格式:docker pull 名称:版本号):

[root@localhost ~]# docker pull elasticsearch:7.8.0

2.1.创建并启动容器(容器名随意命名,此处为myes,开发者(single-node)模式):

(1)创建并以开发者(single-node)模式启动:

[root@localhost ~]# docker run --name myes -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.8.0

(2)浏览器中访问(看到json说明可以了):

http://172.16.122.138:9200

2.2.创建并启动容器(容器名随意命名,此处为myes,生产者模式):

(1)创建并以生产模式启动:

[root@localhost ~]# docker run -di --name=myes -p 9200:9200 -p 9300:9300 elasticsearch:7.8.0

(2)进入myes容器命令行(快速操作,以免myes容器自动停止了):

[root@localhost ~]# docker exec -it myes /bin/bash
[root@b8b9fac31a45 elasticsearch]#

(3)修改myes容器/config/elasticsearch.yml文件(快速操作,以免myes容器自动停止了):

[root@b4d1fc942441 elasticsearch]# vi config/elasticsearch.yml

修改下如内容,按Esc,输入:wq保存退出(快速操作,以免myes容器自动停止了):

#集群名称
cluster.name: myes-cluster
#节点名,每个节点名要不同
node.name: myes0
#本机IP
network.host: 127.0.0.1
#本机端口
http.port: 9200
#集群间通讯端口
transport.tcp.port: 9300
#集群自动发现机器IP集合
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302"]
#允许跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"

(4)输入exit退出myes容器命令行,重启myes容器,让配置生效:

[root@localhost ~]# docker restart myes

(5)系统调优:

<1>修改/etc/security/limits.conf:

[root@localhost ~]# vi /etc/security/limits.conf

文件结尾中新增,并按Esc,输入:wq保存退出:

#nofile表示单进程允许打开文件最大个数
* soft nofile 65536   #软限制
* hard nofile 65536   #硬限制

<2>修改/etc/sysctl.conf:

[root@localhost ~]# vi /etc/sysctl.conf

文件结尾中新增,并按Esc,输入:wq保存退出:

#限制一个进程占用的虚拟内存的数量
vm.max_map_count=655360

<3>输入命令让参数生效:

[root@localhost ~]# sysctl -p

二、在myes容器中安装IK分词器:
1.利用FinalShell将ik文件夹上传到centos7远程机器/root目录下:

2.将文件从centos7系统中拷贝到myes容器内(当前为/root目录下):

格式:docker cp 待拷贝文件或目录 容器名称:存放目录

[root@localhost ~]# docker cp ik myes:/usr/share/elasticsearch/plugins

3.重启myes容器让分词器生效:

[root@localhost ~]# docker restart myes

三、在myes容器中安装head插件:

1.配置允许跨域:

(1)进入myes容器命令行,(vi config/elasticsearch.yml)修改config/elasticsearch.yml文件:

http.cors.enabled: true
http.cors.allow-origin: "*"

(2)重启myes容器让跨域生效:

[root@localhost ~]# docker restart myes

2.下载head镜像(格式:docker pull 名称:版本号):

[root@localhost ~]# docker pull mobz/elasticsearch-head:5

3.创建并启动head容器:

[root@localhost ~]# docker run -di --name=head -p 9100:9100 mobz/elasticsearch-head:5

5.在浏览器中打开界面进行操作:

http://172.16.122.138:9100/

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值