IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 使用docker安装ElasticSearch和kibana -> 正文阅读

[大数据]使用docker安装ElasticSearch和kibana

使用 Docker安装

安装ES

【先读官方文档!!!】

拉取镜像

docker pull elasticsearch:7.6.1

创建网络

docker network create elastic

加上内存限制启动 ES

docker run -d --name es01-test --net elastic -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.1

安装Kibana

Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。Kibana让海量数据更容易理解。它操作简单,基于浏览器的用户界面可以快速创建仪表板( dashboard ))实时显示Elasticsearch查询动态。设置Kibana非常简单。无需编码或者额外的基础架构,几分钟内就可以完成Kibana安装并启动Elasticsearch索引监测。

官网:https://www.elastic.co/cn/kibana

(汉化。只要在kibana.yml配置文件目录,在配置文件中修改为zh-CN)

启动 Kibana

# 安装Kibana
docker pull kibana:7.6.1
# 启动
docker run -d --name kib01-test --net elastic -p 5601:5601 -e "ELASTICSEARCH_HOSTS=http://es01-test:9200" kibana:7.6.1

启动完成后,开放防火墙端口,查看是否可用访问!!!注意kibana启动会很慢而且很占CPU,我就是几次都是CPU满了,吓得我赶紧找问题…

开放防火墙的指定端口
firewall-cmd --zone=public --add-port=9200/tcp --permanent

firewall-cmd --zone=public --add-port=5601/tcp --permanent

重启防火墙
firewall-cmd --reload

配置密码访问ES

修改Elastic配置

使用基本许可证时,默认情况下禁用Elasticsearch安全功能。由于我测试环境是放在公网上的,所以需要设置下密码访问。相关文档可以参考这里

1、进入正在运行的容器

docker exec -it 容器id /bin/bash
#安装 vim
yum -y install vim
#查看目录
[root@5c43a5b9d09a elasticsearch]# ls
LICENSE.txt  README.asciidoc  config  jdk  logs     plugins
NOTICE.txt   bin              data    lib  modules

2、更改 config/elasticsearch.yml 文件,设置 xpack.security.enabled 为 true

[root@06c5914709a5 config]# vim elasticsearch.yml
[root@06c5914709a5 config]# cat elasticsearch.yml
cluster.name: "docker-cluster"
network.host: 0.0.0.0
xpack.security.enabled: true
#配置跨域
http.cors.enabled: true
http.cors.allow-origin: "*"

3、重启elasticsearch容器

[root@VM-0-6-centos z-test]# docker restart es01-test
es01-test

4、进入容器设置各个组件的密码

[root@06c5914709a5 elasticsearch]# ./bin/elasticsearch-setup-passwords interactive
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]y


Enter password for [elastic]: 
Reenter password for [elastic]: 
Enter password for [apm_system]: 
Reenter password for [apm_system]: 
Enter password for [kibana]: 
Reenter password for [kibana]: 
Enter password for [logstash_system]: 
Reenter password for [logstash_system]: 
Enter password for [beats_system]: 
Reenter password for [beats_system]: 
Enter password for [remote_monitoring_user]: 
Reenter password for [remote_monitoring_user]: 
Changed password for user [apm_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]

修改 Kibana 配置

1、修改 kibana.yml (find / -name kibana.yml)

进入容器docker exec -it 容器id /bin/bash并进入config目录cd config

添加最后两行配置用户和密码

bash-4.2$ vi kibana.yml
bash-4.2$ cat kibana.yml
#
# ** THIS IS AN AUTO-GENERATED FILE **
#

# Default Kibana configuration for docker target
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
elasticsearch.username: "elastic"

2、创建kibana keystore

./bin/kibana-keystore create

3、在kibana keystore 中添加密码,并输入自己刚刚配置的ES密码

./bin/kibana-keystore add elasticsearch.password

4、重启容器

[root@VM-0-6-centos /]# docker restart  kib01-test
kib01-test

再次访问:ip:9200,则需要输入账号和密码

账号为:elastic

image-20210613152724020

安装IK分词器插件

分词:即把一段中文或者别的划分成一个个的关键字,我们在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一个匹配操作,默认的中文分词是将每个字看成一个词,比如“我爱中国"会被分为"我" “爱”“中”“国”,这显然是不符合要求的,所以我们需要安装中文分词器ik来解决这个问题。

IK提供了两个分词算法: ik_smart和ik_max_word,其中 ik_smart为最少切分,ik_max_word为最细粒度划分!

1、进入容器

docker exec -it 容器名 /bin/bash

2、在线下载并安装

Ik分词器github链接:https://github.com/medcl/elasticsearch-analysis-ik/releases/

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.1/elasticsearch-analysis-ik-7.6.1.zip

3、退出容器并重启ES

exit 或者 Ctrl + Q + P
docker restart 容器id	

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9je5Q2Tp-1627991186463)(ElasticSearch.assets/image-20210803155517310.png)]

使用:

  1. ik_smart最小切分

    {
      "tokens" : [
        {
          "token" : "中国共产党",
          "start_offset" : 0,
          "end_offset" : 5,
          "type" : "CN_WORD",
          "position" : 0
        }
      ]
    }
    
  2. ik_max_word最细力度划分,穷尽所有词。

    {
      "tokens" : [
        {
          "token" : "中国共产党",
          "start_offset" : 0,
          "end_offset" : 5,
          "type" : "CN_WORD",
          "position" : 0
        },
        {
          "token" : "中国",
          "start_offset" : 0,
          "end_offset" : 2,
          "type" : "CN_WORD",
          "position" : 1
        },
        {
          "token" : "国共",
          "start_offset" : 1,
          "end_offset" : 3,
          "type" : "CN_WORD",
          "position" : 2
        },
        {
          "token" : "共产党",
          "start_offset" : 2,
          "end_offset" : 5,
          "type" : "CN_WORD",
          "position" : 3
        },
        {
          "token" : "共产",
          "start_offset" : 2,
          "end_offset" : 4,
          "type" : "CN_WORD",
          "position" : 4
        },
        {
          "token" : "党",
          "start_offset" : 4,
          "end_offset" : 5,
          "type" : "CN_CHAR",
          "position" : 5
        }
      ]
    }
    

注意自己需要的词,要加进到字典中。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-04 11:16:50  更:2021-08-04 11:17:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 17:37:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码