赞
踩
./ip-static
ip:192.168.64.181
ifconfig
上传文件到/root/
导入镜像docker load -i es-img.gz
服务器内存设置到2G以上
右击虚拟机—>选择设置—>修改内存空间
执行这个命令
echo 'vm.max_map_count=262144' >>/etc/sysctl.conf
查看
cat /etc/sysctl.conf
shutdown -r now
# 创建虚拟网络
docker network create es-net
# node1 的挂载目录
mkdir -p -m 777 /var/lib/es/node1/plugins
mkdir -p -m 777 /var/lib/es/node1/data
# node2 的挂载目录
mkdir -p -m 777 /var/lib/es/node2/plugins
mkdir -p -m 777 /var/lib/es/node2/data
# node3 的挂载目录
mkdir -p -m 777 /var/lib/es/node3/plugins
mkdir -p -m 777 /var/lib/es/node3/data
9200端口是查询数据的,9300端口是内部服务器连接的
参数含义:e:设置环境变量
-p:设置端口号
-v:挂载
-d:后台运行
node1:
docker run -d \ --name=node1 \ --restart=always \ --net es-net \ -p 9200:9200 \ -p 9300:9300 \ -v /var/lib/es/node1/plugins:/usr/share/elasticsearch/plugins \ -v /var/lib/es/node1/data:/usr/share/elasticsearch/data \ -e node.name=node1 \ -e node.master=true \ -e network.host=node1 \ -e discovery.seed_hosts=node1,node2,node3 \ -e cluster.initial_master_nodes=node1 \ -e cluster.name=es-cluster \ -e "ES_JAVA_OPTS=-Xms256m -Xmx256m" \ elasticsearch:7.9.3
node2:
docker run -d \ --name=node2 \ --restart=always \ --net es-net \ -p 9201:9200 \ -p 9301:9300 \ -v /var/lib/es/node2/plugins:/usr/share/elasticsearch/plugins \ -v /var/lib/es/node2/data:/usr/share/elasticsearch/data \ -e node.name=node2 \ -e node.master=true \ -e network.host=node2 \ -e discovery.seed_hosts=node1,node2,node3 \ -e cluster.initial_master_nodes=node1 \ -e cluster.name=es-cluster \ -e "ES_JAVA_OPTS=-Xms256m -Xmx256m" \ elasticsearch:7.9.3
node3:
docker run -d \ --name=node3 \ --restart=always \ --net es-net \ -p 9202:9200 \ -p 9302:9300 \ -v /var/lib/es/node3/plugins:/usr/share/elasticsearch/plugins \ -v /var/lib/es/node3/data:/usr/share/elasticsearch/data \ -e node.name=node3 \ -e node.master=true \ -e network.host=node3 \ -e discovery.seed_hosts=node1,node2,node3 \ -e cluster.initial_master_nodes=node1 \ -e cluster.name=es-cluster \ -e "ES_JAVA_OPTS=-Xms256m -Xmx256m" \ elasticsearch:7.9.3
http://192.168.64.181:9200
http://192.168.64.181:9200/_cat/nodes:这个可以查看谁是主节点
elasticsearch-head 项目提供了一个直观的界面,可以很方便地查看集群、分片、数据等等。elasticsearch-head最简单的安装方式是作为 chrome 浏览器插件进行安装。
注意:关机:shutdown -h
cd ~/ # 复制 ik 分词器到三个 es 容器 docker cp elasticsearch-analysis-ik-7.9.3.zip node1:/root/ docker cp elasticsearch-analysis-ik-7.9.3.zip node2:/root/ docker cp elasticsearch-analysis-ik-7.9.3.zip node3:/root/ # 在 node1 中安装 ik 分词器 docker exec -it node1 elasticsearch-plugin install file:///root/elasticsearch-analysis-ik-7.9.3.zip # 在 node2 中安装 ik 分词器 docker exec -it node2 elasticsearch-plugin install file:///root/elasticsearch-analysis-ik-7.9.3.zip # 在 node3 中安装 ik 分词器 docker exec -it node3 elasticsearch-plugin install file:///root/elasticsearch-analysis-ik-7.9.3.zip # 重启三个 es 容器 docker restart node1 node2 node3
在浏览器中访问 http://192.168.64.181:9200/_cat/plugins
如果插件不可用,可以卸载后重新安装:
docker exec -it node1 elasticsearch-plugin remove analysis-ik
docker exec -it node2 elasticsearch-plugin remove analysis-ik
docker exec -it node3 elasticsearch-plugin remove analysis-ik
ik分词器提供两种分词器: ik_max_word 和 ik_smart
ik_max_word: 会将文本做最细粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌”,会穷尽各种可能的组合,适合 Term Query;
ik_smart: 会做最粗粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,国歌”,适合 Phrase 查询。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。