elasticsearch入门学习之一:环境搭建和简单的数据增删改查

 

ElasticSearch应用场景

大型分布式日志分析系统ELK  elasticsearch(存储日志)+logstash(收集日志)+kibana(展示数据)
大型电商商品搜索系统、网站站内搜索、网盘搜索引擎等。

Elasticsearch使用公司
维基百科
The Guardian(国外新闻网站)
Stack Overflow(国外的程序异常讨论论坛)
GitHub(开源代码管理)
电商网站
日志数据分析
BI系统
站内搜索

什么是es

    Elasticsearch (ES)是一个基于Lucene构建的开源、分布式、RESTful 接口全文搜索引擎。Elasticsearch 还是一个分布式文档数据库,其中每个字段均是被索引的数据且可被搜索,它能够扩展至数以百计的服务器存储以及处理PB级的数据。它可以在很短的时间内在储、搜索和分析大量的数据。它通常作为具有复杂搜索场景情况下的核心发动机。
Elasticsearch就是为高可用和可扩展而生的。可以通过购置性能更强的服务器来完成。
官网:https://www.elastic.co/downloads/elasticsearch
中文社区https://es.xiaoleilu.com/ 
什么是PB级别https://baike.baidu.com/item/PetaByte/5910820
ElastiJob---XXL-JOB

es的优势

   
 横向可扩展性:只需要增加台服务器,做一点儿配置,启动一下Elasticsearch就可以并入集群。 
分片机制提供更好的分布性:同一个索引分成多个分片(sharding), 这点类似于HDFS的块机制;分而治之的方式可提升处理效率。

 高可用:提供复制( replica) 机制,一个分片可以设置多个复制,使得某台服务器在宕机的情况下,集群仍旧可以照常运行,并会把服务器宕机丢失的数据信息复制恢复到其他可用节点上。

es的存储结构

Elasticsearch存储结构
Elasticsearch是文件存储,Elasticsearch是面向文档型数据库,一条数据在这里就是一个文档,用JSON作为文档序列化的格式,比如下面这条用户数据:
{
    "name" :     "yushengjun",
    "sex" :      0,
    "age" :      25
}
关系数据库     ⇒ 数据库 (会员数据库)⇒ 表 (用户表)    ⇒ 行    ⇒ 列(Columns)
Elasticsearch    ⇒ 索引(Index)   ⇒ 类型(type)  ⇒ 文档(Docments)  ⇒ 字段(Fields)  

kibana可视化工具

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

elasticsearch环境安装

Elasticsearch环境安装
1、安装jdk环境,5.0以后好像都是要用jdk1.8了
2、安装Elasticsearch   
 注意事项:ES非常占内存,默认启动是1g内存,可以修改512m
3.Kibana可视化界面


elasticsearch的具体配置
1.进入到elasticsearch解压后的目录下,在进入到config目录下,我们看到一个文件jvm.option

这个是elasticsearch启动时的需要的内存大小,如果肯依根据需要就行修改例如修改为512m

然后找到network.host,将ip修改为elasticsearch的IP,假设ip是192.168.212.108

network.host:192.168.212.108

http.port:9200         #9200是我们外部访问的端口号,9300是内部通信的端口号

我们启动es,进入到bin的目录下,我们一定要切换账号,elasticsearch命令是不允许用root用户来启动的

#我们要创建一个用户组,该组专门用来管理es,每当创建一个管理用户我们都可以放进去
groupadd esgroup
#然后我们创建一个用户用来,放到esgroup这个组中
useradd esadmin1 -g esgroup -p 123456
#然后制定文件的所有者,和组的使用着,这里的elasticsearch-6.5.4就是我们的elasticsearch解压后的文件
chown -R esadmin1:esgroup elasticsearch-6.5.4
#用户创建完成,我们需要切换成对应的用户,然后进行切换账号进行启动
su esadmin1

然后进入到bin目录下,启动的命令是

./ealsticsearch

如果用的是虚拟机,在启动过程中,可能会出现报错的,突然自己closed报错,报错一

错误如下:

bootstrap checks failed max virtual memory areas vm.max map count[65530] is

这个是可能你用的虚拟机,es启动时的需要的内存默认是1G,所以可能你的虚拟机内存太小了

具体操作如下

#首先你要切换为root账号
vim /etc/sysctl.conf
#然后再sysctl.conf中添加
vm.max_map_count=655360
#然后qw保存
#然后进入到/etc下
sysctl -p

错误2

max file descriptors[4096] for elasticsearch process is too low ,increase to at least 655360

具体做法

vi /etc/security/limits.conf
#然后再该配置文件中添加下面四行
* soft nofile 65536
* hard nofile 131072
* soft nproc 2046
* hard nproc 4096

然后就重新启动虚拟机

启动起来后,我们浏览器中输入ip:9200 ,然后看是否可以访问,如果不可以,需要关闭防火墙。

linux中关闭防火墙的命令是:

systemctl stop firewalld.service

9200端口与外部端口的区别

9200是与外部通讯的端口,9300是内部个节点之间通讯的端口

kibana工具,来将数据可视化

 

在linux中部署kibana

首先进入到kibana的文件中,进入到config文件夹下,修改kibana.yml配置文件

首先修改配置文件中,添加


server.port: 5601  #冒号后面一定要有空格,否则会报错
#你的ip,假设ip是192.168.212.108
server.host: "192.168.212.108"
#制定访问url,即浏览器访问es的值
elasticsearch.url "http://192.168.212.108:9200"
#如果你的es设置了权限,还需要用指定账号密码,这里的elastic是用户名123456是密码
elasticsearch.username: "elastic"
elasticsearch.password: "123456"

然后进入到bin目录下,我们启动kibana

./kibana

然后我们在 浏览器中输入ip:5601然后就进入到kibana

然后在kibana中做增删改查

首先要创建索引和取索引的命令:

PUT /my_first_index #然后点击运行,这样就有了索引

GET /my_first_index #然后就有了我们的索引

#索引创建好了,我们需要创建文档

创建文档的命令  /索引/类型/id

#大括号里面对应的就是一个文档,这里表示索引是my_first_index,类型是user,id为1,这里的id不能重复,
PUT /my_first_index/user/1
{
    "name":"zhangsan",
    "age":21,
    "sex":0
}

#取我们的文档的命令
GET /my_first_index/user/1
#删除索引的操作

DELETE /my_first_index

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值