下载elasticsearch
[seven@localhost download]$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.10.tar.gz
解压并运行elasticsearch
解压
[seven@localhost download]# tar -zxvf elasticsearch-5.6.10.tar.gz
移动到指定文件夹并重命名(方便管理)
[seven@localhost download]# mv elasticsearch-5.0.0-alpha3 /usr/java/elasticsearch
修改访问elasticsearch的IP及端口
[seven@localhost config]# vim /usr/java/elasticsearch-5.6.10/config/elasticsearch.yml
解决方案:
因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户
建议创建一个单独的用户用来运行ElasticSearch
创建elsearch用户组及elsearch用户
groupadd ws
useradd ws -g ws -p ws
将ElasticSearch的安装目录及其子目录改为另外一个非root账户,如:
sudo chown -R elsearch elasticsearch-5.6.10 sudo chgrp -R elsearch elasticsearch-5.6.10
切换到root用户
vi /etc/security/limits.conf
添加如下内容:
* soft nofile 65536 * hard nofile 131072 * soft nproc 2048 * hard nproc 4096
vi /etc/security/limits.d/90-nproc.conf
修改如下内容: * soft nproc 1024 #修改为 * soft nproc 2048
vi /etc/sysctl.conf
添加下面配置: vm.max_map_count=262144
并执行命令:
sysctl -p
上面还有一个错误是关于jvm内存分配的问题heap size [268435456] not equal to maximum heap size [2147483648],需要修改的jvm配置
[seven@localhost bin]$ vim /usr/java/elasticsearch-5.6.10/config/jvm.options
- 将-Xmx2g改成-Xmx256m,也就是heap size [268435456] /1024/1024的值
-Xmx256m
这个问题折腾了我一下午,最后还是找到了解决方案,同样回到config/elasticsearch.yml文件,找到如下配置,开放discovery.zen.ping.unicast.hosts及discovery.zen.minimum_master_nodes
network.host: 0.0.0.0
http.port: 9200
discovery.zen.minimum_master_nodes: 3
2、运行测试
./elasticsearch -d 后台运行
# curl -X GET localhost:9200
curl -XGET "127.0.0.1:9200"
返回的json结果如下,这里显示的ES版本号是2.4.1:
{ "name" : "Leader", "cluster_name" : "elasticsearch", "version" : { "number" : "5.0.0-alpha3", "build_hash" : "cad959b", "build_date" : "2016-05-26T08:25:57.564Z", "build_snapshot" : false, "lucene_version" : "6.0.0" }, "tagline" : "You Know, for Search" }
groupadd elsearch
useradd elsearch -g elsearch -p elasticsearch