1. 检查JDK版本
使用如下命令检验JDK版本:xiaosi@Qunar:~$ java -version
java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)
xiaosi@Qunar:~$
如果你的JDK版本为1.7,有可能会遇到如下问题:xiaosi@Qunar:~/opt/elasticsearch-2.3.3/bin$ ./elasticsearch
Exception in thread "main" java.lang.RuntimeException: Java version: Oracle Corporation 1.7.0_40 [Java HotSpot(TM) 64-Bit Server VM 24.0-b56] suffers from critical bug https://bugs.openjdk.java.net/browse/JDK-8024830 which can cause data corruption.
Please upgrade the JVM, see http://www.elastic.co/guide/en/elasticsearch/reference/current/_installation.html for current recommendations.
If you absolutely cannot upgrade, please add -XX:-UseSuperWord to the JAVA_OPTS environment variable.
Upgrading is preferred, this workaround will result in degraded performance.
at org.elasticsearch.bootstrap.JVMCheck.check(JVMCheck.java:123)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:268)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
Refer to the log for complete error details.
主要原因是Elasticsearch至少需要Java 8.
2. 安装ElasticSearch
2.1 下载
检查JDK版本之后,我们可以下载并运行Elasticsearch。 二进制文件可以从 www.elastic.co/downloads 获取,过去版本也可以从中获取。 对于每个版本,您可以选择zip或tar存档,或DEB或RPM软件包。 为了简单起见,我们使用tar文件。
我们下载Elasticsearch 2.3.3 为例:xiaosi@Qunar:~$ curl -L -O https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.3.3/elasticsearch-2.3.3.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 26.2M 100 26.2M 0 0 190k 0 0:02:21 0:02:21 --:--:-- 211k
具体的下载版本可以查看:https://www.elastic.co/downloads/elasticsearch
2.2 解压
xiaosi@Qunar:~$ tar -zxvf elasticsearch-2.3.3.tar.gz -C /home/xiaosi/opt |
解压完之后如下:xiaosi@Qunar:~/opt$ cd elasticsearch-2.3.3/
xiaosi@Qunar:~/opt/elasticsearch-2.3.3$ ls
bin config lib LICENSE.txt modules NOTICE.txt README.textile
2.3 启动
2.3.1 启动帮助
xiaosi@Qunar:~/opt/elasticsearch-2.3.3/bin$ ./elasticsearch -help |
2.3.2 启动
xiaosi@Qunar:~/opt/elasticsearch-2.3.3/bin$ ./elasticsearch |
2.3.3 验证
在浏览器中输入:http://localhost:9200/ (elasticsearch默认端口号为9200){
name: "Ulysses",
cluster_name: "elasticsearch",
version: {
number: "2.3.3",
build_hash: "218bdf10790eef486ff2c41a3df5cfa32dadcfde",
build_timestamp: "2016-05-17T15:40:04Z",
build_snapshot: false,
lucene_version: "5.5.0"
},
tagline: "You Know, for Search"
}
health状况:xiaosi@Qunar:~$ curl 'localhost:9200/_cat/health?v'
epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1466691011 22:10:11 elasticsearch green 1 1 0 0 0 0 0 0 - 100.0%
xiaosi@Qunar:~$
备注:(status)绿色表示一切是好的(集群功能齐全)
黄色意味着所有数据是可用的,但是一些副本尚未分配(集群功能齐全)
红色意味着一些数据不可用
即使一个集群是红色的,它仍然是部分功能(即它将继续搜索请求从服务可用的碎片)但是你可能需要尽快修复它,因为你有缺失的数据。
2.3.5 说明
刚开始安装在/opt目录下,普通用户是没有权限的,在启动elasticsearch时会告诉你权限不够:xiaosi@Qunar:~$ cd /opt/elasticsearch-2.3.3/
xiaosi@Qunar:/opt/elasticsearch-2.3.3$ cd bin/
xiaosi@Qunar:/opt/elasticsearch-2.3.3/bin$ ./elasticsearch
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: /opt/elasticsearch-2.3.3/logs/elasticsearch.log (权限不够)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:270)
权限不够,那就用root用户去启动elasticsearch,会告诉你不能使用root用户来启动elasticsearch:xiaosi@Qunar:/opt/elasticsearch-2.3.3/bin$ sudo ./elasticsearch
Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root.
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:93)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:144)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:270)
at org.elasticsearch.bootstrap.
所以只好安装在自己的目录下。对此不知道有什么解决之道?
3. 安装Kibana
3.1 下载地址
https://www.elastic.co/downloads/kibana |
备注:Kibana 4.5.x requires Elasticsearch 2.3.x
3.2 下载
xiaosi@Qunar:~/opt$ curl -L -O https://download.elastic.co/kibana/kibana/kibana-4.5.1-linux-x64.tar.gz |
3.3 解压
tar -zxvf kibana-4.5.1-linux-x64.tar.gz |
4. 安装Marvel
Marvel是Elasticsearch的管理和监控工具,在开发环境下免费使用。它包含了一个叫做Sense的交互式控制台,使用户方便的通过浏览器直接与Elasticsearch进行交互。Elasticsearch线上文档中的很多示例代码都附带一个View in Sense的链接。点击进去,就会在Sense控制台打开相应的实例。安装Marvel不是必须的。
4.1 失败方法 (已丢弃)
Marvel是一个插件,可在Elasticsearch目录中运行以下命令来下载和安装:./bin/plugin -i elasticsearch/marvel/latest
但是在运行时遇到如下问题,没有找到 -i 命令:xiaosi@Qunar:/opt/elasticsearch-2.3.3$ ./bin/plugin -i elasticsearch/marvel/latest
ERROR: unknown command [-i]. Use [-h] option to list available commands
提示可以使用-h 参数去查看可以使用的命令:xiaosi@Qunar:/opt/elasticsearch-2.3.3$ ./bin/plugin -h
NAME
plugin - Manages plugins
SYNOPSIS
plugin <command>
DESCRIPTION
Manage plugins
COMMANDS
install Install a plugin
remove Remove a plugin
list List installed plugins
NOTES
[*] For usage help on specific commands please type "plugin <command> -h"
我们可以看到我们可以使用install命令来代替-i参数命令:xiaosi@Qunar:/opt/elasticsearch-2.3.3$ sudo ./bin/plugin install elasticsearch/marvel/latest
-> Installing elasticsearch/marvel/latest...
Trying https://download.elastic.co/elasticsearch/marvel/marvel-latest.zip ...
Trying https://search.maven.org/remotecontent?filepath=elasticsearch/marvel/latest/marvel-latest.zip ...
Trying https://oss.sonatype.org/service/local/repositories/releases/content/elasticsearch/marvel/latest/marvel-latest.zip ...
Trying https://github.com/elasticsearch/marvel/archive/latest.zip ...
Trying https://github.com/elasticsearch/marvel/archive/master.zip ...
ERROR: failed to download out of all possible locations..., use --verbose to get detailed information
按照提示使用–verbose,查看报错原因:xiaosi@Qunar:/opt/elasticsearch-2.3.3$ sudo ./bin/plugin install elasticsearch/marvel/latest --verbose
-> Installing elasticsearch/marvel/latest...
Trying https://download.elastic.co/elasticsearch/marvel/marvel-latest.zip ...
Failed: FileNotFoundException[https://download.elastic.co/elasticsearch/marvel/marvel-latest.zip]; nested: FileNotFoundException[https://download.elastic.co/elasticsearch/marvel/marvel-latest.zip];
Trying https://search.maven.org/remotecontent?filepath=elasticsearch/marvel/latest/marvel-latest.zip ...
Failed: FileNotFoundException[https://search.maven.org/remotecontent?filepath=elasticsearch/marvel/latest/marvel-latest.zip]; nested: FileNotFoundException[https://search.maven.org/remotecontent?filepath=elasticsearch/marvel/latest/marvel-latest.zip];
Trying https://oss.sonatype.org/service/local/repositories/releases/content/elasticsearch/marvel/latest/marvel-latest.zip ...
Failed: FileNotFoundException[https://oss.sonatype.org/service/local/repositories/releases/content/elasticsearch/marvel/latest/marvel-latest.zip]; nested: FileNotFoundException[https://oss.sonatype.org/service/local/repositories/releases/content/elasticsearch/marvel/latest/marvel-latest.zip];
Trying https://github.com/elasticsearch/marvel/archive/latest.zip ...
Failed: FileNotFoundException[https://github.com/elasticsearch/marvel/archive/latest.zip]; nested: FileNotFoundException[https://github.com/elasticsearch/marvel/archive/latest.zip];
Trying https://github.com/elasticsearch/marvel/archive/master.zip ...
Failed: FileNotFoundException[https://github.com/elasticsearch/marvel/archive/master.zip]; nested: FileNotFoundException[https://github.com/elasticsearch/marvel/archive/master.zip];
ERROR: failed to download out of all possible locations..., use --verbose to get detailed information
4.2 正确方法
上面方法已经不在适用了(不知道还有没有解决方法?),现在marvel用Kibana管理,所以第二步先安装Kibana。安装完进行如下操作:xiaosi@Qunar:/opt/elasticsearch-2.3.3$ sudo ./bin/plugin install license
-> Installing license...
Trying https://download.elastic.co/elasticsearch/release/org/elasticsearch/plugin/license/2.3.3/license-2.3.3.zip ...
Downloading .......DONE
Verifying https://download.elastic.co/elasticsearch/release/org/elasticsearch/plugin/license/2.3.3/license-2.3.3.zip checksums if available ...
Downloading .DONE
Installed license into /opt/elasticsearch-2.3.3/plugins/license
xiaosi@Qunar:/opt/elasticsearch-2.3.3$ sudo ./bin/plugin install marvel-agent |
使用Kibana安装最新版本的marvel:xiaosi@Qunar:~/opt/kibana-4.5.1-linux-x64/bin$ ./kibana plugin --install elasticsearch/marvel/latest
Installing marvel
Attempting to transfer from https://download.elastic.co/elasticsearch/marvel/marvel-latest.tar.gz
Transferring 1597693 bytes....................
Transfer complete
Extracting plugin archive
Extraction complete
Optimizing and caching browser bundles...
Plugin installation complete
5. 安装总结
步骤 | 命令 |
---|---|
Step 1: 安装Marvel into Elasticsearch: | bin/plugin install license和bin/plugin install marvel-agent |
Step 2: 安装Marvel into Kibana | bin/kibana plugin –install elasticsearch/marvel/latest |
Step 3: 启动Elasticsearch and Kibana | bin/elasticsearch和bin/kibana |
Step 4: 跳转到http://localhost:5601/app/marvel | |
Step 5: 进入Getting Started Guide. | 在没网的情况下运行集群? !imgoffline installation instructions. |
6. 启动elasticsearch,kibana和Marvel
6.1 启动elasticsearch
xiaosi@Qunar:~/opt/elasticsearch-2.3.3/bin$ ./elasticsearch |
在浏览器中输入:http://localhost:9200/{
name: "Suprema",
cluster_name: "elasticsearch",
version: {
number: "2.3.3",
build_hash: "218bdf10790eef486ff2c41a3df5cfa32dadcfde",
build_timestamp: "2016-05-17T15:40:04Z",
build_snapshot: false,
lucene_version: "5.5.0"
},
tagline: "You Know, for Search"
}
6.2 启动kibana
xiaosi@Qunar:~$ cd ~/opt/kibana-4.5.1-linux-x64/bin/ |
浏览器中输入: http://0.0.0.0:5601
6.3 启动Marvel
浏览器中输入:http://localhost:5601/app/marvel
初步安装完毕,以后还需配置一些东西。。。。