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 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Launch Elasticsearch -> 正文阅读

[大数据]Launch Elasticsearch

序言

Elasticsearch 集群就不再centos7上搭建了。直接在开发电脑上用docker搭建

另外Elasticsearch 对外的2个借口9200和9300的区别如下cuiyaonan2000@163.com:

  1. 9200:HTTP协议用于我们通过Restful的形式对Elasticsearch进行业务上的处理
  2. 9300:TCP协议用于集群之间的相互调用,另外我们的java工程也是通过Tcp访问ElasticSearch的


?

配置文件重点参数解析

? (1)cluster.name
集群名字,三台集群的集群名字都必须一致

(2)node.name
节点名字,三台ES节点字都必须不一样

(3)discovery.zen.minimum_master_nodes:2
表示集群最少的master数,如果集群的最少master数据少于指定的数,将无法启动,官方推荐node master数设置为集群数/2+1,我这里三台ES服务器,配置最少需要两台master,整个集群才可正常运行,

(4)node.master该节点是否有资格选举为master(这个是Mongodb所没有的),如果上面设了两个mater_node 2,也就是最少两个master节点,则集群中必须有两台es服务器的配置为node.master: true的配置,配置了2个节点的话,如果主服务器宕机,整个集群会不可用,所以三台服务器,需要配置3个node.masdter为true,这样三个master,宕了一个主节点的话,他又会选举新的master,还有两个节点可以用,只要配了node master为true的ES服务器数正在运行的数量不少于master_node的配置数,则整个集群继续可用,我这里则配置三台es node.master都为true,也就是三个master,master服务器主要管理集群状态,负责元数据处理,比如索引增加删除分片分配等,数据存储和查询都不会走主节点,压力较小,jvm内存可分配较低一点

(5)node.data
存储索引数据,三台都设为true即可

(6)bootstrap.memory_lock: true
锁住物理内存,不使用swap内存,有swap内存的可以开启此项

(7)discovery.zen.ping_timeout: 3000s
自动发现拼其他节点超时时间

(8)discovery.zen.ping.unicast.hosts: ["172.16.0.8:9300","172.16.0.6:9300","172.16.0.22:9300"]
设置集群的初始节点列表,集群互通端口为9300

环境搭建

使用Docker在本机搭建一个单机版本的。

非常不幸使用的mac电脑芯片使用的是arm64/v8 所以只能下载elasticsearch7.X的版本。

具体哪个版本支持V8可以从官网查询:https://hub.docker.com/_/elasticsearch?tab=tags&page=1&ordering=last_updated

cuiyaonan@cuiyaonandeMacBook-Pro ~ % docker pull elasticsearch:7.14.0


#注意使用 -e设置了elasticsearch的类型为单机版
cuiyaonan@cuiyaonandeMacBook-Pro ~ % docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.14.0


#设置elasticsearch必须使用账号密码
cuiyaonan@cuiyaonandeMacBook-Pro ~ % docker exec -it elasticsearch /bin/bash

#进入config文件夹,修改elasticsearch.yml文件 增加如下内容,
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

#保存后退出容器,然后在父环境中重启服务
cuiyaonan@cuiyaonandeMacBook-Pro ~ % docker restart elasticsearch

在重启万elasticsearch后,再次进入容器内执行如下命令:

[root@439bfba2b603 elasticsearch]# elasticsearch-setup-passwords interactive

根据下图可以看到我们需要给elasticsearch设置多个密码:这里将密码统一设置成cuiyaonan2000@163.com

?通过访问:http://localhost:9200 可以看到必须要登陆后才能访问

设置全网通用的中文分词器

先进入elasticsearch容器内部,然后执行(追忆ik的版本英语elasticsearch一致就可以了)

[root@439bfba2b603 elasticsearch]# elasticsearch-plugin install https://codeload.github.com/medcl/elasticsearch-analysis-ik/zip/refs/heads/master

Kibana

Kibana是一个开源的分析与可视化平台设计出来用于和Elasticsearch一起使用的

你可以用kibana搜索、查看存放在Elasticsearch中的数据。

Kibana与Elasticsearch的交互方式是各种不同的图表、表格、地图等,直观的展示数据,从而达到高级的数据分析与可视化的目的。


Elasticsearch、Logstash和Kibana这三个技术就是我们常说的ELK技术栈,可以说这三个技术的组合是大数据领域中一个很巧妙的设计。一种很典型的MVC思想,模型持久层,视图层和控制层。Logstash担任控制层的角色,负责搜集和过滤数据。Elasticsearch担任数据持久层的角色,负责储存数据。

这里使用docker简单创建一个实例cuiyaonan2000@163.com

#kibana的版本应该elasticsearch一致
cuiyaonan@cuiyaonandeMacBook-Pro ~ % docker pull kibana:7.14.0


docker run --name kibana --link=elasticsearch:test -p 5601:5601 -d kibana:7.14.0

#因为我门为elastic设置了密码所以要给kibana也设置密码否则登陆不进去
cuiyaonan@cuiyaonandeMacBook-Pro ~ % docker exec -it kibana /bin/bash



#进入容器后修改
bash-4.4$ vi kibana.yml 

增加如下内容
elasticsearch.username: "elastic"
elasticsearch.password: "cuiyaonan"

#退出容器重启kibana
cuiyaonan@cuiyaonandeMacBook-Pro ~ % docker restart kibana

最后访问:http://localhost:5601/app/home#/? 展示结果如下:

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-19 12:07:10  更:2021-08-19 12:09:02 
 
开发: 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年11日历 -2024/11/23 13:29:39-

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