本文转自http://www.jianshu.com/p/658961f707d8
作者:咪博士
感谢咪博士分享
Elasticsearch的安装总体来说还是相当简单的,当然中间也会有些小坑。不过大家也不必太过担心,咪博士将给大家详细演示如何在Linux服务器上,安装Elasticsearch,并和大家分享如何搞定安装过程中的各种细节问题(成败在于细节啊!)。
一、Java环境
Elasticsearch是用Java语言编写的,所以首先大家要确保机器上已经安装了Java环境。官方文档指出,至少需要Java 7,官方推荐Oracle JDK version 1.8.0_73。
我们可以用java -version命令查看,当前机器上安装的Java版本。例如,执行上述命令后,可以看到咪博士服务器上的java版本为OpenJDK 1.8,满足安装Elasticsearch的要求。
![](https://i-blog.csdnimg.cn/blog_migrate/1c006c1cab7116ddeae0fa38d6a3c5e1.webp?x-image-process=image/format,png)
二、下载Elasticsearch
用浏览器访问https://www.elastic.co/downloads/elasticsearch
![](https://i-blog.csdnimg.cn/blog_migrate/8bce7ab8182ee0cf55eb8cbd5e57e6f2.webp?x-image-process=image/format,png)
我们可以看到Elasticsearch十分贴心地提供了多种格式的文件供大家下载。这些格式包括:zip压缩包,tar压缩包,Deb包,以及Rpm包。如果大家选用Deb或Rpm包,接下来只需要按照安装标准Deb包 或Rpm包的方式,执行相关命令,即可完成安装。
不过,本教程中,咪博士要给大家演示的是如何通过zip压缩包安装。因为,这种方式与具体系统无关,比较通用。
首先,我们用下面的命令创建相关目录,用于存放Elasticsearch压缩包
mkdir-p~/demo/elasticsearch
cd~/demo/elasticsearch/
然后,我们用Linux系统自带的wget下载zip压缩包。当前的最新版本是2.3.5。或许,当你看到这份教程的时候,Elasticsearch已经出新版本了,那你只要把链接中的2.3.5换成最新的版本号即可。
wgethttps://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/zip/elasticsearch/2.3.5/elasticsearch-2.3.5.zip
或者
# 下载压缩包wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.2.tar.gz
# 解压tar -xzf elasticsearch-6.2.2.tar.gz
# 进入文件cd elasticsearch-6.2.2/
下载解压完成后进入目录,启动命令在 bin 目录下,直接运行命令就可以启动了
bin/elasticsearch
- 1
ElasticSearch 的默认启动端口是 9200。手动访问出现如下信息说明启动成功
三、解压并运行
接下来,大家只需要解压刚才下载的zip压缩包,并运行其中的./bin/elasticsearch即可。
unzipelasticsearch-2.3.5.zip
cdelasticsearch-2.3.5/
./bin/elasticsearch
Elasticsearch若成功运行,将在屏幕上打印出如下一些log信息
![](https://i-blog.csdnimg.cn/blog_migrate/55bc1e65c6c890f8d6b9614bbf13b187.webp?x-image-process=image/format,png)
至此,Elasticsearch的安装就大功告成了。
是不是很简单?没错,就是这么容易。估计Elasticsearch的作者也是一个被各种安装、配置折腾到不行的主,所以自己搞出来的东西,才这样简洁,真是造福全人类啊。
四、验证
不过行不着急收工,Elasticsearch到底能不能用呢?咱还得验证一下不是。
通过浏览器,访问http://localhost:9200/如果能够成功看到类似下面这样的返回结果,就代表Elasticsearch真的已经成功运行了
![](https://i-blog.csdnimg.cn/blog_migrate/98c5e6b1e5cf7386bae57c8eeabb0b92.webp?x-image-process=image/format,png)
什么?看不到!如果你看到的是下面这样的无法访问。
![](https://i-blog.csdnimg.cn/blog_migrate/ca7911a6f6e68f140c5cd5b5781176b5.webp?x-image-process=image/format,png)
莫慌,咪博士猜想,十有八九,你是在一台机器上(如服务器)运行Elasticsearch,然后在另一台机器上(如用于本地开发的机器),通过浏览器访问http://localhost:9200/请看第五部分,稍微继续折腾一下就OK了。
五、外网访问
如果浏览器中访问http://localhost:9200/没有返回预期的结果,就需要修改Elasticsearch的配置,使其支持外网访问。
首先,按Ctrl +C停止Elasticsearch
然后,打开Elasticsearch的配置文件vimconfig/elasticsearch.yml
找到network.host这一行。
![](https://i-blog.csdnimg.cn/blog_migrate/59f0ae71dbdd5a8a2cfc0cdbd2c1eaf0.webp?x-image-process=image/format,png)
将该行最前面的#去掉,修改成network.host: 0.0.0.0修改之后,如下图
![](https://i-blog.csdnimg.cn/blog_migrate/f2038015ef3e1f0db6a9e9715e893948.webp?x-image-process=image/format,png)
按Esc,再按:wq保存并退出编辑elasticsearch配置文件
接着,重新运行./bin/elasticsearch
在浏览器中,访问http://xxxx:9200/(xxxx是运行elasticsearch的服务器的ip地址),你就能看到成功的信息啦。
六、后台运行
最后还有一个小问题,如果你在服务器上安装Elasticsearch,而你想在本地机器上进行开发,这时候,你很可能需要在关闭终端的时候,让Elasticsearch继续保持运行。最简单的方法就是使用nohup。先按Ctrl + C,停止当前运行的Elasticsearch,改用下面的命令运行Elasticsearch
nohup./bin/elasticsearch&
这样,你就可以放心地关闭服务器终端,而不用担心Elasticsearch也跟着关闭了