1、简介
1.1、ElasticSearch 简介
Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。
2、准备工作
2.1、安装 Docker
2.2、创建 bridge 网络并指定 IP 区间
# 创建自定义网络
docker network create --driver bridge --subnet 172.0.0.0/16 woniu_network
# 查看已存在网络
docker network ls
2.3、创建数据和配置存放目录
# 创建主节点数据存放目录
mkdir -p /home/docker/elasticsearch/master/data
# 创建主节点配置存放目录
mkdir -p /home/docker/elasticsearch/master/config
# 创建主节点日志存放目录
mkdir -p /home/docker/elasticsearch/master/logs
# 创建主节点插件存放目录
mkdir -p /home/docker/elasticsearch/master/plugins
# 创建从节点1数据存放目录
mkdir -p /home/docker/elasticsearch/node-1/data
# 创建从节点1配置存放目录
mkdir -p /home/docker/elasticsearch/node-1/config
# 创建从节点1日志存放目录
mkdir -p /home/docker/elasticsearch/node-1/logs
# 创建从节点1插件存放目录
mkdir -p /home/docker/elasticsearch/node-1/plugins
3、安装 ElasticSearch
3.1、创建主节点配置文件
# 进入主节点配置文件目录
cd /home/docker/elasticsearch/master/config
# 新建配置文件
vi elasticsearch.yml
# 拷贝如下内容
# ============ 分隔符 =======================
# 集群名称
cluster.name: woniu
# 当前该节点的名称
node.name: master
# 当前该节点是不是有资格竞选主节点
node.master: true
# 当前该节点是否存储数据
node.data: true
# 最大集群节点数
node.max_local_storage_nodes: 2
# 设置网关地址
network.host: 0.0.0.0
# 设置其它节点和该节点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址。
network.publish_host: 192.168.1.217
# 设置映射端口
http.port: 9200
# 内部节点之间沟通端口
transport.tcp.port: 9300
# 支持跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
# 集群发现
discovery.seed_hosts: ["192.168.1.217:1913","192.168.1.217:1923"]
# 手动指定可以成为 mater 的所有节点的 name 或者 ip,这些配置将会在第一次选举中进行计算
cluster.initial_master_nodes: ["master","node-1"]
3.2、创建从节点1配置文件
# 进入从节点1配置文件目录
cd /home/docker/elasticsearch/node-1/config
# 新建配置文件
vi elasticsearch.yml
# 拷贝如下内容
# ============ 分隔符 =======================
# 集群名称
cluster.name: woniu
# 当前该节点的名称
node.name: node-1
# 当前该节点是不是有资格竞选主节点
node.master: true
# 当前该节点是否存储数据
node.data: true
# 最大集群节点数
node.max_local_storage_nodes: 2
# 设置网关地址
network.host: 0.0.0.0
# 设置其它节点和该节点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址。
network.publish_host: 192.168.1.217
# 设置映射端口
http.port: 9200
# 内部节点之间沟通端口
transport.tcp.port: 9300
# 支持跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
# 集群发现
discovery.seed_hosts: ["192.168.1.217:1913","192.168.1.217:1923"]
# 手动指定可以成为 mater 的所有节点的 name 或者 ip,这些配置将会在第一次选举中进行计算
cluster.initial_master_nodes: ["master","node-1"]
3.3、运行 ElasticSearch
# 运行主节点
docker run -d -p 1912:9200 -p 1913:9300 \
--name elasticsearch_master \
--network woniu_network \
--ip 172.0.0.22 \
--cpuset-cpus="1" \
--memory="2G" \
-v /home/docker/elasticsearch/master/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /home/docker/elasticsearch/master/data:/usr/share/elasticsearch/data \
-v /home/docker/elasticsearch/master/plugins:/usr/share/elasticsearch/plugins \
elasticsearch:7.9.2
# 运行从节点1
docker run -d -p 1922:9200 -p 1923:9300 \
--name elasticsearch_node-1 \
--network woniu_network \
--ip 172.0.0.23 \
--cpuset-cpus="1" \
--memory="4G" \
-v /home/docker/elasticsearch/node-1/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /home/docker/elasticsearch/node-1/data:/usr/share/elasticsearch/data \
-v /home/docker/elasticsearch/node-1/plugins:/usr/share/elasticsearch/plugins \
-v /home/docker/elasticsearch/node-1/logs:/usr/share/elasticsearch/logs \
elasticsearch:7.9.2
3.3、启动报错
3.3.1、情况一
ERROR: [1] bootstrap checks failed
[1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
# 在 elasticsearch.yml 配置文件中 添加:
cluster.initial_master_nodes: ["node-1"]
3.3.2、情况二
ERROR: [1] bootstrap checks failed
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
# elasticsearch用户拥有的内存权限太小,至少需要262144
# 修改配置 sysctl.conf
sudo vi /etc/sysctl.conf
# 添加下面配置:
vm.max_map_count=655360
# 执行命令:
sysctl -p
4、安装 ElasticHD 可视化工具
4.1、运行 ElasticHD
docker run -d -p 9800:9800 \
--name elastichd \
--network woniu_network \
--ip 172.0.0.23 \
--link elasticsearch:woniu \
containerize/elastichd
4.2、相关页面
5、安装 Dejavu 可视化工具
5.1、运行 Dejavu
docker run -d -p 1358:1358 \
--name dejavu \
--network woniu_network \
--ip 172.0.0.25 \
appbaseio/dejavu
5.2、相关页面
6、安装中文分词器 IK
6.1、在线安装
# 在容器 elasticsearch 中开启一个交互模式的终端
docker exec -it elasticsearch /bin/bash
# 在线下载并安装
./bin/elasticsearch-plugin install \
https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.9.2/elasticsearch-analysis-ik-7.9.2.zip
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/78032.html