天天看点

docker常用镜像安装-elasticsearch(es、header、ik、kibana)

作者:退役程序员老马

#头条创作挑战赛#

1、操作系统限制修改

vi /etc/sysctl.conf
# 添加如下内容
vm.max_map_count=655360
# 使配置生效
sysctl -p           

2、添加配置文件

# 设置集群名称,集群内所有节点的名称必须一致。
cluster.name: fzp
# 设置节点名称,集群内节点名称必须唯一。
node.name: node1
# 表示该节点会不会作为主节点,true表示会;false表示不会
node.master: true
# 当前节点是否用于存储数据,是:true、否:false
node.data: true
# 索引数据存放的位置
#path.data: /usr/share/elasticsearch/data
# 日志文件存放的位置
#path.logs: /usr/share/elasticsearch/logs
# 需求锁住物理内存,是:true、否:false
#bootstrap.memory_lock: true
# 监听地址,用于访问该es
network.host: 192.168.0.244
# es对外提供的http端口,默认 9200
http.port: 10200
# TCP的默认监听端口,默认 9300
transport.tcp.port: 10300
# 设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)
discovery.zen.minimum_master_nodes: 1
# es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["192.168.0.244:10300", "192.168.0.244:10301","192.168.0.244:10302"]
discovery.zen.fd.ping_timeout: 1m
discovery.zen.fd.ping_retries: 5
# es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["192.168.0.244:10300", "192.168.0.244:10301","192.168.0.244:10302"]
# 是否支持跨域,是:true,在使用head插件时需要此配置
http.cors.enabled: true
# “*” 表示支持所有域名
http.cors.allow-origin: "*"           

3、启动集群

docker run  -d \
--privileged=true \
--restart=always \
--network=host \
-e ES_JAVA_OPTS="-Xms1024m -Xmx1024m"  \
-e TAKE_FILE_OWNERSHIP=true --name es-node1 \
-v /home/fzp_ms/docker/elasticsearch/node1/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /home/fzp_ms/docker/elasticsearch/node1/data:/usr/share/elasticsearch/data \
-v /home/fzp_ms/docker/elasticsearch/node1/logs:/usr/share/elasticsearch/logs \
-v /home/fzp_ms/docker/elasticsearch/node1/plugins:/usr/share/elasticsearch/plugins \
elasticsearch:7.17.3
docker run  -d \
--privileged=true \
--restart=always \
--network=host \
-e ES_JAVA_OPTS="-Xms1024m -Xmx1024m"  \
-e TAKE_FILE_OWNERSHIP=true --name es-node2 \
-v /home/fzp_ms/docker/elasticsearch/node2/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /home/fzp_ms/docker/elasticsearch/node2/data:/usr/share/elasticsearch/data \
-v /home/fzp_ms/docker/elasticsearch/node2/logs:/usr/share/elasticsearch/logs \
-v /home/fzp_ms/docker/elasticsearch/node2/plugins:/usr/share/elasticsearch/plugins \
elasticsearch:7.17.3
docker run  -d \
--privileged=true \
--restart=always \
--network=host \
-e ES_JAVA_OPTS="-Xms1024m -Xmx1024m"  \
-e TAKE_FILE_OWNERSHIP=true --name es-node3 \
-v /home/fzp_ms/docker/elasticsearch/node3/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /home/fzp_ms/docker/elasticsearch/node3/data:/usr/share/elasticsearch/data \
-v /home/fzp_ms/docker/elasticsearch/node3/logs:/usr/share/elasticsearch/logs \
-v /home/fzp_ms/docker/elasticsearch/node3/plugins:/usr/share/elasticsearch/plugins \
elasticsearch:7.17.3           

4、安装header

# 这个会出现浏览器请求报错问题
docker run -d --name es-head -p 9100:9100 mobz/elasticsearch-head:5

docker run -d --name es-head6 -p 9100:9100 tobias74/elasticsearch-head:6           

5、安装ik分词器

# 下载
https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.1.1/elasticsearch-analysis-ik-7.17.3.zip
# 解压到
/home/fzp_ms/docker/elasticsearch/node1/plugins下的ik目录下
/home/fzp_ms/docker/elasticsearch/node2/plugins下的ik目录下
/home/fzp_ms/docker/elasticsearch/node3/plugins下的ik目录下
# 测试
// 增加一个叫test001的索引
curl -X PUT http://192.168.0.244:10200/test001
// 成功返回 {"acknowledged":true,"shards_acknowledged":true,"index":"test001"}

// ik_smart分词
curl -X POST \
'http://192.168.0.244:10200/test001/_analyze?pretty=true' \
-H 'Content-Type: application/json' \
-d '{"text":"我们是软件工程师","tokenizer":"ik_smart"}'

// ik_max_word分词
curl -X POST \
'http://192.168.0.244:10200/test001/_analyze?pretty=true' \
-H 'Content-Type: application/json' \
-d '{"text":"我们是软件工程师","tokenizer":"ik_max_word"}'           

6、安装kibana

添加配置文件 kibana.yml

# Default Kibana configuration for docker target
server.name: kibana
server.port: 5601
server.host: 0.0.0.0
elasticsearch.hosts: ["http://192.168.0.244:10200","http://192.168.0.244:10201","http://192.168.0.244:10202"]
xpack.monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN"           

拉取镜像,启动容器

docker pull kibana:7.17.3

docker run -d \
--name kibana \
-v /home/fzp_ms/docker/kibana/conf/kibana.yml:/usr/share/kibana/config/kibana.yml \
--network=host \
-m 512m \
--restart=always \
--memory-swap=1024m \
kibana:7.17.3           

继续阅读