一、中间件简介
1、基础概念
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。
2、分布式数据库
分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都可能有DBMS的一份完整拷贝副本,或者部分拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库。
3、核心角色
1)节点和集群
cluster代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。es的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部来说的,因为从外部来看es集群,在逻辑上是个整体。单个 Elastic 实例称为一个节点(node)。一组节点构成一个集群(cluster)。
2)Shards分片
代表索引分片,es可以把一个完整的索引分成多个分片,这样的好处是可以把一个大的索引拆分成多个,分布到不同的节点上。构成分布式搜索。分片的数量只能在索引创建前指定,并且索引创建后不能更改。
3)Document文档
Index 里面单条的记录称为 Document(文档)。许多条 Document 构成了一个 Index。Document 使用 JSON 格式表示。
4)Index索引
Elastic 会索引所有字段,查找数据的时候,直接查找该索引。每个 Index (即理解为数据库名称)的名字必须是小写。
5)Type类型
Document 可以根据Type进行虚拟的逻辑分组,用来过滤 Document,即理解为数据库表名称。
二、中间件安装
1、安装环境和版本
Centos7
JDK1.8
elasticsearch-6.3.2
2、下载解压
下载的路径,当前目录的文件夹下,也可以指定下载路径。wget -P 目录 网址。
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.zip [root@localhost roo]# mv elasticsearch-6.3.2.zip /usr/local/mysoft/ [root@localhost mysoft]# unzip elasticsearch-6.3.2.zip
3、启动软件
[root@localhost mysoft]# cd elasticsearch-6.3.2/ [root@localhost elasticsearch-6.3.2]# ./bin/elasticsearch
1)报错一
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
新建用户组和用户
[root@localhost]# useradd esroot [root@localhost]# passwd esroot [root@localhost]# groupadd esgroup [root@localhost]# usermod -g esgroup esroot
esroot用户授权
chown esroot /usr/local/mysoft/elasticsearch-6.3.2 -R
切换到esroot用户
[root@localhost mysoft]# su - esroot [esroot@localhost ~]$ su #回到root用户
2)报错二
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
执行如下命名,该操作在Root权限下操作。
[root@localhost roo]# vim /etc/security/limits.conf
添加内容
* soft nofile 65536 * hard nofile 65536
切回esroot用户
再次启动,没有报错信息。
4、打开命令行测试
curl localhost:9200 [roo@localhost ~]$ curl localhost:9200 { "name" : "YMS44oi", "cluster_name" : "elasticsearch", "cluster_uuid" : "2ZXjBnkJSjieV_k1IWMzrQ", "version" : { "number" : "6.3.2", "build_flavor" : "default", "build_type" : "zip", "build_hash" : "053779d", "build_date" : "2018-07-20T05:20:23.451332Z", "build_snapshot" : false, "lucene_version" : "7.3.1", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }
这样elasticsearch-6.3.2环境搭建成功。
请求9200端口,Elastic 返回一个 JSON 对象,包含当前节点、集群、版本等信息。
按下 Ctrl + C,Elastic 就会停止运行。
5、配置外部访问
默认情况下,Elastic 只允许本机访问,如果需要远程访问,可以修改 Elastic 安装目录的config/elasticsearch.yml文件,去掉network.host的注释,将它的值改成0.0.0.0,然后重新启动 Elastic。
[esroot@localhost config]$ cd /usr/local/mysoft/elasticsearch-6.3.2/config [esroot@localhost config]$ vim elasticsearch.yml network.host: 0.0.0.0
6、安装IK中文分词器
切换到root用户
[root@localhost elasticsearch-6.3.2]$ ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.2/elasticsearch-analysis-ik-6.3.2.zip
三、入门操作
索引创建和删除
1、创建索引
[esroot@localhost ~]$ curl -X PUT 'localhost:9200/esindex01' # 返回数据 { "acknowledged": true, "shards_acknowledged": true, "index": "esindex01" }
服务器返回一个 JSON 对象,acknowledged:true字段表示操作成功。
2、删除索引
[esroot@localhost ~]$ curl -X DELETE 'localhost:9200/esindex01' {"acknowledged":true}
acknowledged:true字段表示操作成功。
四、源代码地址
GitHub地址:知了一笑 https://github.com/cicadasmile 码云地址:知了一笑 https://gitee.com/cicadasmile
总结
以上所述是小编给大家介绍的Linux系统下 centos7下搭建ElasticSearch中间件及常用接口演示 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。