ES的安装和启动
# 10.ES的安装和启动
在使用 ES 之前,我们得先安装。注意ES的基于Java的,因此要先安装好Java。
# 下载ES压缩包
ElasticSearch分为Linux和Window版本,基于我们主要学习的是ElasticSearch的Java客户端的使用,所以我们使用的是安装较为简便的Window版本(工作中一般是用Linux)
ElasticSearch的官方地址: Elasticsearch (opens new window),点击下载:
(https://image.peterjxl.com/blog/image-20230516195019-09xk4k1.png)
这里我们下载旧版本:
(https://image.peterjxl.com/blog/image-20230516195117-nstpcig.png)
选择对应版本并下载:5.6.8版本的
(https://image.peterjxl.com/blog/image-20230516195212-w707se5.png)
下载zip格式的,解压即用(tar格式是Linux的,deb是Debian操作系统的格式,MSI则是微软的安装包格式)
(https://image.peterjxl.com/blog/image-20230516195303-zj9r286.png)
随着Elasticsearch的更新,官网的UI可能会调整,以上截图仅供参考;嫌麻烦可以去我的百度云网盘 (opens new window)下载,路径为编程资料/Java相关/06.主流框架/20.Elasticsearch/elasticsearch-5.6.8.zip
注意5.6.8的ES要求Java8,更多版本的支持情况可以看官网:支持一览表 | Elastic (opens new window)
# ES的目录结构
Window版的ElasticSearch的安装很简单,类似Window版的Tomcat,解压开即安装完毕,解压后的ElasticSearch的目录结构如下:
(https://image.peterjxl.com/blog/image-20230516204034-tcutxr8.png)
bin目录:
(https://image.peterjxl.com/blog/image-20230516204322-hhd7fqe.png)
config目录:elasticsearch.yml 就是ES的配置文件,是我们后续要修改的
(https://image.peterjxl.com/blog/image-20230516204331-12am39d.png)
lib目录下可以看到不少 Lucene 的依赖:
(https://image.peterjxl.com/blog/image-20230516204434-z1xb8c9.png)
其他目录我们先不介绍。
# 启动ES服务
其实我们下载的时候,ES已经告诉我们怎么启动了:
(https://image.peterjxl.com/blog/image-20230516210104-mjeq2dw.png)
点击bin目录下的elasticsearch.bat启动,会弹出一个控制台,显示的日志信息如下:
(https://image.peterjxl.com/blog/image-20230516210317-j69bfo6.png)
9300是TCP通讯端口,集群间和TCPClient都使用该端口
9200是http协议的RESTful接口,打开localhost:9200 (opens new window),可以看到如下返回的JSON信息,服务启动成功
(https://image.peterjxl.com/blog/image-20230516210247-r6gjygp.png)
name是我们目前这个节点的名称,cluster_name
是集群的名称,默认是 elasticsearch,然后下面的版本的一些信息。
# 安装图形化界面插件head(建议安装)
ES不同于Solr自带图形化界面,我们可以通过安装ES的head插件,完成图形化界面的效果,完成索引数据的查看。安装插件的方式有两种,在线安装和本地安装,我们用本地安装。
注意:elasticsearch5及以上版本安装head需要安装node和grunt
其实该插件就是一个用node (opens new window)开发的前端项目而已,我们需要先安装node,然后输入如下命令:
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
npm run start
2
3
4
第一步中,也可以去我的百度云网盘 (opens new window)下载head插件:路径为编程资料/Java相关/06.主流框架/20.Elasticsearch/elasticsearch-head-master.zip
。
如果你会grunt,也可以这样做:
npm install ‐g grunt‐cli
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
grunt server
2
3
4
5
启动后,其告诉我们运行在http://localhost:9100 (opens new window):
(https://image.peterjxl.com/blog/image-20230516213502-9clcfmv.png)
我们打开,可以看到如下页面:
(https://image.peterjxl.com/blog/image-20230516213607-aq8zyj0.png)
然后我们点击连接,
如果不能成功连接到ES服务,需要修改ES的配置文件config/elasticsearch.yml,增加以下两个配置
http.cors.enabled: true
http.cors.allow-origin: "*"
2
该配置是设置允许跨域,并且运行所有域名的访问。配置完后,我们重启ES,再次测试连接:成功了
(https://image.peterjxl.com/blog/image-20230516214254-c810503.png)
然后下方,我们现在是在集群概览页面中,由于只有一个结点,因此只显示了一个;
# 总结
为了后续实践ES,请务必安装好后,再继续后面的学习