[root@VM_0_5_centos ~]# clear
[root@VM_0_5_centos ~]# cd /usr/local/src
[root@VM_0_5_centos src]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz
[root@VM_0_5_centos src]# tar -xzvf /usr/local/src/elasticsearch-6.2.4.tar.gz -C /usr/local
[root@VM_0_5_centos src]# vim /usr/local/elasticsearch-6.2.4/config/elasticsearch.yml
# 在末尾添加如下配置
cluster.name: relax
node.name: relax_node_1
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["0.0.0.0:9300"]
discovery.zen.minimum_master_nodes: 1
node.ingest: true
bootstrap.memory_lock: false
node.max_local_storage_nodes: 2
path.data: /usr/local/elasticsearch-6.2.4/data
path.logs: /usr/local/elasticsearch-6.2.4/logs
http.cors.enabled: true
http.cors.allow-origin: /.*/
[root@VM_0_5_centos src]# mkdir /usr/local/elasticsearch-6.2.4/data
[root@VM_0_5_centos src]# vim /usr/local/elasticsearch-6.2.4/config/jvm.options
# 将这俩个参数都改成512m
-Xmx512m
-Xmx512m
# 添加运行Elasticsearch的用户组,因为以root用户运行会报Caused by: java.lang.RuntimeException: can not run elasticsearch as root错误
[root@VM_0_5_centos src]# groupadd elsearch
[root@VM_0_5_centos src]# useradd elsearch -g elsearch
[root@VM_0_5_centos src]# passwd elsearch
[root@VM_0_5_centos src]# chown -R elsearch:elsearch /usr/local/elasticsearch-6.2.4
ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
elasticsearch启动时遇到的错误
问题翻译过来就是:elasticsearch用户拥有的内存权限太小,至少需要262144;
解决:
切换到root用户
执行命令:
sysctl -w vm.max_map_count=262144
查看结果:
sysctl -a|grep vm.max_map_count
显示:
vm.max_map_count = 262144
上述方法修改之后,如果重启虚拟机将失效,所以:
解决办法:
在 /etc/sysctl.conf文件最后添加一行
vm.max_map_count=262144
即可永久修改