一、环境
OS:Ubuntu14.04虚拟机1核1G内存
java:1.8
elasticsearch-6.2.4
二、安装
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz
tar -zxvf elasticsearch-6.2.4.tar.gz
cd elasticsearch-6.2.4
将配置文件config/elasticsearch.yml中的行
network.host: 192.168.0.1
修改为network.host: 0.0.0.0
启动elasticsearch
./bin/elasticsearch
启动过程中报错:
ERROR: [3] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[3]: JVM is using the client VM [Java HotSpot(TM) Client VM] but should be using a server VM for the best performance
错误[1]的解决方案:
1. 打开/etc/security/limits.conf,如果文件没有这两行则加入,如果有参照下面这两行修改,*是启动elasticsearch的用户名。
* soft nofile 65535
* hard nofile 65535
2. 修改/etc/pam.d/common-session如果没有下面这行则加入,如果有则取消注释。
session required pam_limits.so
3. 运行以下命令
echo "ulimit -SHn 65535" >> /etc/profile
然后重启服务器,重启后再运行ulimit -n 看是不是我们设置的65535.
错误[2]的解决方案:
切换到root用户修改配置sysctl.conf
vi /etc/sysctl.conf
添加如下配置:
vm.max_map_count=655360
执行命令:
sysctl -p
错误[3]的解决方案:
将-server KNOWN行放到-client IF_SERVER_CLASS -server行前面cd /usr/java/jre1.8.0_171/lib/i386
vi jvm.cfg
./bin/elasticsearch
启动成功。
输入命令:curl 192.168.2.106:9200,输出如下信息表示启动成功。
{
"name" : "ln4a6tu",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "LeQNEDuyTpWxKevD4jk9Gw",
"version" : {
"number" : "6.2.4",
"build_hash" : "ccec39f",
"build_date" : "2018-04-12T20:37:28.497551Z",
"build_snapshot" : false,
"lucene_version" : "7.2.1",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}