elasticsearch(一般叫es)是基于Lucene的搜索服务器,提供http协议接口使用json格式数据,也提供相应的客户端,更详细的信息[优点&场景]请百度百科,
以下官网截图,官网链接:https://www.elastic.co/products/elasticsearch:
中文官网链接 介绍比较清晰但不全
英文官网链接 比较完整
先看看elasticsearch和传统关系型数据库之前的区别
DataBase | Index |
Table | Type |
Row | Document |
Column | Field |
Index | All Indexed |
SQL | Query DSL |
Select * from table... | GET http://... |
Update table SET... | PUT http:// |
Insert INTO table ()... | XPOST http:// |
Delete table... | DELETE http://... |
本文软件环境 virtualBox5.2.8 、centos7、xshell5(个人感觉比putty方便,下载时选择则Home/school或者edu会发免费版下载链接到邮箱,不用破解)
一、因es依赖Java,所以装es之前请确认是否安装JAVA环境,并正确配置环境变量
(注:尽量安装1.8+的版本,JAVA 9之前网上看有些软件不太支持所以并没有实际安装测试,前几天看新闻说ORACLE准备出JAVA10了 !!!)
还有一点,网上有文章说es不能在root下安装, 但根据我的实测 安装来看在root也并没有问题,至少在centos7下没问题
二、运行环境,window也可以安装 ,msi最简单的不过是beta版本,见截图
因公司网络环境问题,虚拟机只能用"网络地址转换NAT"联网,我的安装方式是直接在centos ui环境下用firefox直接下载rpm文件,一键安装(类似window下的安装)
如果不能直接下载的话,请用梯子
三、接下来用xshell或者putty就可以了,如果虚拟机你也是用刚刚我说的NAT模式的话,记得先切换成 "桥接模式" 或者 “仅主机Host-Only网络”,
这样才能确保xshell能链接,这几种模式的区别请参考 https://www.cnblogs.com/xuan52rock/p/5295069.html
四、防火墙firewalld配置。 后面会大量用到liunx指令systemctl 参考链接 http://man.linuxde.net/systemctl
es默认端口9200,用以下指令打开9200端口,并重启firewalldfirewall-cmd --zone=public --add-port=9200/tcp --permanent
systemctl restart firewalld
或者直接把firewall关闭systemctl stop firewalld
五、查看es是否安装、设置es配置文件、查看es运行状态、开启自动
1、 查看es是否安装成功及版本号,【此步骤可省略】rpm -qa elasticsearch
2、找到elasticsearch.yml文件,如果你知道位置的话 忽略此步骤find / -name elasticsearch.yml
3、复制上面find出来的路径编辑elasticsearch.ymlvim /etc/elasticsearch/elasticsearch.yml
默认情况es只允许本机访问network.host改为0.0.0.0的意思是不限制请求IP
http.port:9200 取消注释即可
vim快捷键: INSERT:启用编辑 , ESC退出编辑 , :wq 保存并退出
4、查看es运行状态,inactive (dead) 意思是没有运行【此步骤可省略】systemctl status elasticsearch
5、启动es ,并设置开机启动启动systemctl start elasticsearch
systemctl enable elasticsearch
如果还不是上图的active (running)状态再补一刀restartsystemctl restart elasticsearch
看到这个就大工告成了!!!