docker安装es7.9.3和kibana,配置ik分词

第一步:docker pull elasticsearch:7.9.3
第二步:# 创建虚拟网络
docker network create es-net

第三步:挂载目录
mkdir -p -m 777 /var/lib/es/node1/plugins
mkdir -p -m 777 /var/lib/es/node1/data

第四步:在主机设置 max_map_count
必须修改系统参数 max_map_count,否则 Elasticsearch 无法启动:

root用户下修改vim /etc/sysctl.conf
添加: vm.max_map_count = 655360
刷新配置:sysctl -p

*第五步:启动容器,搭建es集群 ,单机就不需要下面集群的环境配置
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

环境变量说明:

环境变量	说明
node.name	节点在集群中的唯一名称
node.master	可已被选举为主节点
network.host	当前节点的地址
discovery.seed_hosts	集群中其他节点的地址列表
cluster.initial_master_nodes	候选的主节点地址列表
cluster.name	集群名
ES_JAVA_OPTS	java虚拟机参数


重启es 异常
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”]
这个的话,这里的node-1是上面一个默认的记得打开就可以了
下载 Kibana 镜像
docker pull kibana:7.9.3
启动 Kibana 容器
(集群)

docker run \
-d \
--name kibana \
--net es-net \
-p 5601:5601 \
-e ELASTICSEARCH_HOSTS='["http://node1:9200","http://node2:9200","http://node3:9200"]' \
--restart=always \
kibana:7.9.3

(单机)
docker run
-d
–name kibana
-p 5601:5601
-e ELASTICSEARCH_HOSTS='http://192.168.126.1:9200’
–restart=always
kibana:7.9.3


**方法一:**

从 ik 分词器项目仓库中下载 ik 分词器安装包,下载的版本需要与 Elasticsearch 版本匹配:
https://github.com/medcl/elasticsearch-analysis-ik

或者可以访问 gitee 镜像仓库:
https://gitee.com/mirrors/elasticsearch-analysis-ik

下载 elasticsearch-analysis-ik-7.9.3.zip 复制到 /root/ 目录下
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

 在 node2 中安装 ik 分词器
docker exec -it node3 elasticsearch-plugin install file:///root/elasticsearch-analysis-ik-7.9.3.zip

#重启三个 es 容器
docker restart node1
docker restart node2
docker restart node3

**方法二:**

0.必须将es服务中原始数据data目录删除
- 进入es安装目录中将data目录数据删除
	rm -rf data

 1. 在es安装目录中执行如下命令
 ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.8.0/elasticsearch-analysis-ik-6.8.0.zip
```bash

[es@linux elasticsearch-6.2.4]$ ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.8.0/elasticsearch-analysis-ik-6.8.0.zip
-> Downloading https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.2.4/elasticsearch-analysis-ik-6.2.4.zip
[=================================================] 100%
-> Installed analysis-ik
[es@linux elasticsearch-6.2.4]$ ls plugins/
analysis-ik
[es@linux elasticsearch-6.2.4]$ cd plugins/analysis-ik/
[es@linux analysis-ik]$ ls
commons-codec-1.9.jar    elasticsearch-analysis-ik-6.2.4.jar  httpcore-4.4.4.jar
commons-logging-1.2.jar  httpclient-4.5.2.jar                 plugin-descriptor.properties

测试ik分词器是否生效
http://192.168.64.181:9200/_analyze

  1. 重启es生效

单机部署es和kibana

es

第一步建立主机与容器配置绑定的目录,创建网络es-net

开启ES远程访问

  • vim elasticsearch.yml 将主机上的elasticsearch.yml修改为以下配置:
network.host: 0.0.0.0
discovery.seed_hosts: ["127.0.0.1"]

第二步运行容器命令

docker run -it --name es -p 9200:9200 -p 9300:9300 -v /root/docker_es_plugin/plugins/:/usr/share/elasticsearch/plugins -v /root/docker_es_config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /root/docker_es_data/data/:/usr/share/elasticsearch/data -e "discovery.type=single-node"   --net=es-net   --restart=always elasticsearch:7.9.3

第三步测试
http:192.168.126.1:9200
第四步:如果错误则运行docker logs 容器名查看错误信息

kibana

下载 Kibana 镜像

docker pull kibana:7.9.3

#运行kibana 注意IP一定不要写错

docker run -d --name kibana --net es-net -p 5601:5601 -e ELASTICSEARCH_HOSTS=http://自己的elasticsearchIP地址:9200  --restart=always 
kibana:7.9.3
#进入容器
docker exec -it 容器ID /bin/sh
#使用vi 修改文件内容
vi /usr/share/kibana/config/kibana.yml 

将如下内容写到kibana.yml中,然后保存退出::wq
server.name: kibana
server.host: "0"
#elasticsearch.hosts: [ "http://elasticsearch:9200" ]
elasticsearch.hosts: [ "http://自己的elasticsearch的IP:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
#设置kibana中文显示
i18n.locale: zh-CN

访问kibana
http://192.168.235.135:5601

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值