安装最新的 Elasticsearch 5 需要Java 8。所有先要确定环境中是否有Java 8。如果没有则需要安装。
1. 安装Java 8
首先使用 yum list installed | grep java 查看安装的Java版本
如果不是Java 8,则使用 yum -y remove java-1.7.0-openjdk* 卸载已经安装的Java。
卸载完成之后,使用 yum -y list java* 查看当前的Java版本,使用 yum install java-1.8.0-openjdk.x86_64 安装Java 8。
2. 导入Elasticsearch PGP Key
执行命令
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
3. 安装Elasticsearch的rpm库使用 ll /etc/yum.repos.d/ 查看当前机器上已经安装的rpm库,如果没有Elasticsearch的话需要创建。用vim创建新的repo文件,vim /etc/yum.repos.d/elasticsearch.repo。文件内容为:
[elasticsearch-5.x]
name=Elasticsearch repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
4. 安装Elasticsearch 安装好Elasticsearch 的repo后,就可以通过yum命令安装 Elasticsearch 了。
sudo yum install elasticsearch
5. 启动与测试在CentOS6.5下 由于是init来启动引导用户态程序的,要启动 需要通过命令 sudo chkconfig --add elasticsearch 添加在启动服务中。
sudo chkconfig --add elasticsearch
添加完成以后,使用 sudo -i service elasticsearch start 来启动 Elasticsearch。启动完成以后,执行
curl -XGET 'localhost:9200/?pretty'
如下返回,说明安装成功
{
"name" : "avU0nZX",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "SY1eB2WTShy6d3sBY5YS5g",
"version" : {
"number" : "5.0.1",
"build_hash" : "080bb47",
"build_date" : "2016-11-11T22:08:49.812Z",
"build_snapshot" : false,
"lucene_version" : "6.2.1"
},
"tagline" : "You Know, for Search"
}
默认情况下,Elasticsearch 是绑定的IP是localhost,所以其他机器是没有办法通过http://IP:9200 的方式来访问Elasticsearch 的。需要修改Elasticsearch 的配置。路径在:/etc/elasticsearch/elasticsearch.yml。修改其中的配置如下:
network.host: 0.0.0.0
然后重启Elasticsearch ,这样你再在浏览器中输入:http://IP:9200 来验证是否安装运行成功。如下图:说明安装成功。
使用Yum安装Elasticsearch的相关路径文件如下:
如果在重启的时候,
Elasticsearch 没有起来,查看日志文件:cat /var/log/elasticsearch/elasticsearch.log 发现这么一段话:
[ERROR][o.e.b.Bootstrap ] [avU0nZX] node validation exception
bootstrap checks failed
max number of threads [1024] for user [elasticsearch] is too low, increase to at least [2048]
那么你需要修改 /etc/security/limits.conf。添加
Elasticsearch 用户的配置。如下:
elasticsearch soft nproc 2048
elasticsearch hard nproc 4096
问题记录:
1. 在启动是报错:system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
修改配置elasticsearch.yml,添加配置项:bootstrap.system_call_filter: false
运维API:
1. 集群状态:http://10.23.22.242:9200/_cluster/health?pretty
2. 节点状态:http://10.23.22.242:9200/_nodes/process?pretty
3. 分片状态:http://10.23.22.242:9200/_cat/shards
4. 索引分片存储信息:http://10.23.22.242:9200/index/_shard_stores?pretty
5. 索引状态:http://10.23.22.242:9200/index/_stats?pretty
6. 索引元数据:http://10.23.22.242:9200/index?pretty