Elasticsearch入门(ES,Kibana可视化界面安装)

一、 Elasticsearch简介
1.1 ES定义

ES=elaticsearch简写, Elasticsearch是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。
Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

1.2 Lucene与ES关系?

1)Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的。

2)Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

1.3 Elasticsearch优势

1)横向可扩展性:只需要增加台服务器,做一点儿配置,启动一下Elasticsearch就可以并入集群。

2)分片机制提供更好的分布性:同一个索引分成多个分片(sharding), 这点类似于HDFS的块机制;分而治之的方式可提升处理效率。

3)高可用:提供复制( replica) 机制,一个分片可以设置多个复制,使得某台服务器在宕机的情况下,集群仍旧可以照常运行,并会把服务器宕机丢失的数据信息复制恢复到其他可用节点上。
口使用简单:共需一条命令就可以下载文件,然后很快就能搭建一一个站内搜索引擎。

1.4 ES应用场景:

1)大型分布式日志分析系统ELK elasticsearch(存储日志)+logstash(收集日志)+kibana(展示数据)

2)大型电商商品搜索系统、网盘搜索引擎等。

1.5 ES存储结构:

Elasticsearch是文件存储,Elasticsearch是面向文档型数据库,一条数据在这里就是一个文档,用JSON作为文档序列化的格式,比如下面这条用户数据:
{
    “name” : “wangxu”,
    “sex” : 0,
    “age” : 25
}

关系数据库 ⇒ 数据库 ⇒ 表 ⇒ 行 ⇒ 列(Columns)
Elasticsearch ⇒ 索引(Index) ⇒ 类型(type) ⇒ 文档(Docments) ⇒ 字段(Fields)


详细介绍请参考:https://blog.csdn.net/laoyang360/article/details/52244917


二、Linux环境安装Elasticsearch

注意事项:

  1. 需安装Java运行环境,因为Elasticsearch基于Java语言开发的。
  2. RAM至少需要1G以上,因为Elasticsearch启动默认1G运行内存
  1. 下载安装包
    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz
  2. 解压文件
    tar -zxvf elasticsearch-6.2.4.tar.gz
  3. 修改配置文件
    进入解压后的config目录,vim elasticsearch.yml,找到network取消注释并将ip修改为本机ip
    network.host: 192.168.2.102
  4. 启动,进入bin目录
    ./elasticsearch      后台启动:./elasticsearch &

启动报错:

org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125) ~[elasticsearch-6.2.4.jar:6.2.4]

原因:因为安全问题Elasticsearch不让用root用户直接运行,所以要创建新用户。

解决方案:

groupadd eswangxu    #添加用户组
useradd esuser -g eswangxu -p 123456 #添加用户
chown -R esuser:eswangxu elasticsearch-6.2.4 #授权该用户文件目录
su esuser #切换用户

然后进入bin目录启动继续报2个错:
在这里插入图片描述
解决方案:
切换回root用户(需要输入登录密码)
su root
1.修改配置文件
vim /etc/sysctl.conf
新增如下内容
vm.max_map_count=655360
进入etc目录执行 sysctl -p

2.修改配置文件
vim /etc/security/limits.conf
新增如下内容

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

最后进入elasticsearch的bin目录,切换esuser用户,执行./elasticsearch命令,启动成功 !
注:若还是启动失败,重启下系统再试应该没问题了。

在这里插入图片描述


测试是否启动成功

浏览器访问 http://192.168.2.102:9200,响应如下 :
注:这种方式使用不太方便,后面使用Kibana可视化操作
在这里插入图片描述

9300与9200端口区别

9300端口:ES节点之间通讯使用,是tcp协议端口号
9200端口:ES节点和外部通讯使用,暴露ES RESTful接口端口号


三、Linux环境安装Kibana(ES可视化界面)

Kibana是什么?

Kibana是一个开源的分析和可视化平台,设计用于和Elasticsearch一起工作。
你可以用Kibana来搜索,查看,并和存储在Elasticsearch索引中的数据进行交互。
你可以轻松地执行高级数据分析,并且以各种图标、表格和地图的形式可视化数据。
Kibana使得理解大量数据变得很容易。它简单的、基于浏览器的界面使你能够快速创建和共享动态仪表板,实时显示Elasticsearch查询的变化。

安装Kibana(注意:Kibana版本不要高于Elasticsearch版本,尽量保持一致)

  1. 下载Kibana压缩包
    wget https://artifacts.elastic.co/downloads/kibana/kibana-6.2.4-linux-x86_64.tar.gz

  2. 解压
    tar -zxvf kibana-6.2.4-linux-x86_64.tar.gz

  3. 进入解压后的目录,修改配置 vim config/kibana.yml,将默认配置改成如下:
    server.port: 5601 # Kibana端口
    server.host: "192.168.2.102" # 你本机ip
    elasticsearch.url: "http:// 192.168.2.102:9200" # Elasticsearch地址

  4. 启动
    ./bin/kibana     后台启动:./bin/kibana &

浏览器访问: http://192.168.2.102:5601/app/kibana
在这里插入图片描述
若页面提示:

t appears you’re running the oss-only distribution of Elasticsearch.
To use the full set of free features in this distribution of Kibana, please update Elasticsearch to the default distribution.

原因:Kibana 的版本号不能比 ElasticSerach 的版本号高,否则不支持。大版本号相同的情况下,中版本号可以比 ElasticSearch 低,但是会有警告。版本尽量保持一致即可避免这个问题。

测试检查集群健康状态(使用Dev Tools)
GET _cat/health?v
在这里插入图片描述

Kibana实现增删改查

# 创建索引
PUT /myindex

# 查询索引
GET /myindex


# 添加文档 /索引名称/类型/id
PUT /myindex/user/1
{
  "name":"wangxu",
  "sex":0,
  "age":22
}

# 修改文档,将name修改为张三(注意:修改后_version会自增1)  /索引名称/类型/id
PUT /myindex/user/1
{
  "name":"zhangsan",
  "sex":0,
  "age":22
}

# 查询文档
GET /myindex/user/1

# 删除索引
DELETE /myindex

Elasticsearch版本控制(CAS)
  1. 为什么要进行版本控制
    为了保证数据再多线程操作下的准确性

  2. 悲观锁和乐观锁
    悲观锁:假设会发生并发冲突,屏蔽一切可能违反数据准确性的操作
    乐观锁:假设不会发生并发冲突,只在提交操作是检查是否违反数据完整性。

  3. 内部版本控制和外部版本控制
    内部版本控制:_version自增长,修改数据后,_version会自动的加1
    外部版本控制:为了保持_version与外部版本控制的数值一致
    使用version_type=external检查数据当前的version值是否小于请求中的version值

### 如果当前文档(数据行)的version≠2, 则会更新失败
PUT /myindex/user/1?version=2   
{
  "name":"wangxu",
  "sex":0,
  "age":22
}

四、SpringBoot整合Elasticsearch

链接: SpringBoot整合Elasticsearch

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当然可以!下面是一个简单的 ElasticsearchKibana 可视化使用教程: 1. 安装 ElasticsearchKibana:首先,你需要安装 ElasticsearchKibana。你可以从 Elasticsearch 官方网站(https://www.elastic.co/downloads/elasticsearch)下载 Elasticsearch,并从 Kibana 官方网站(https://www.elastic.co/downloads/kibana)下载 Kibana。根据你的操作系统,按照指南进行安装。 2. 启动 ElasticsearchKibana安装完成后,启动 ElasticsearchKibana 服务。你可以按照官方文档提供的方法来启动服务。 3. 连接 ElasticsearchKibana:打开浏览器,访问 Kibana 的默认地址 http://localhost:5601,进入 Kibana 的管理界面。在管理界面中,点击左侧导航栏的 "Stack Management"。 4. 创建索引模式:在 "Stack Management" 中,点击 "Index Patterns",然后点击 "Create index pattern"。输入你想要可视化Elasticsearch 索引的名称,并按照提示设置索引模式的配置。 5. 探索数据:在 Kibana 的导航栏中,点击 "Discover"。选择你创建的索引模式,并开始探索数据。你可以使用查询语句和过滤器来筛选数据。 6. 创建可视化图表:在 Kibana 的导航栏中,点击 "Visualize"。选择你想要创建的图表类型,如柱状图、折线图等。根据你的需求,配置图表的设置和参数。 7. 保存和共享可视化:在创建完成的图表中,点击 "Save" 按钮保存可视化。你可以选择将可视化图表保存为一个仪表盘,以便于在 Kibana 中共享和展示。 这只是一个简单的教程,帮助你入门 ElasticsearchKibana可视化功能。你可以进一步探索更多高级的可视化技巧和功能,以满足你的需求。祝你使用愉快!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值