官网下载地址:
https://www.elastic.co/downloads/elasticsearch
前提:
JDK版本:1.8
Elasticsearch版本:6.4.3
下载好的安装包上传到目录/usr/local/src,或者直接在Linux机器上使用curl下载:
cd /usr/local/src
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.3.tar.gz
tar -zxvf elasticsearch-6.4.3.tar.gz
mv elasticsearch-6.4.3 /usr/local/elk/elasticsearch #重命名
mkdir /usr/local/elk/elasticsearch/data #创建数据存放路径
mkdir /usr/local/elk/elasticsearch/logs #创建日志存放路径(已存在不用创建)
建立用户并授权(es不能用root运行)
useradd es #添加用户
chown -R es:es /usr/local/elk/elasticsearch #赋予文件夹权限
#修改配置文件
vim /usr/local/elk/elasticsearch/elasticsearch-6.4.3/config/elasticsearch.yml
如下内容:
#集群的名称
cluster.name: my-es-6.4
#节点名称
node.name: node-1
#索引数据的存储路径
path.data: /usr/local/elk/elasticsearch/data
#日志文件的存储路径
path.logs: /usr/local/elk/elasticsearch/logs
#设置为true来锁住内存。因为内存交换到磁盘对服务器性能来说是致命的,当jvm开始swapping时es的效率会降低,所以要保证它不swap
bootstrap.memory_lock: true
#绑定的ip地址
network.host: 0.0.0.0
#设置对外服务的http端口,默认为9200
http.port: 9200
检查配置是否正确:
grep '^[a-z]' /usr/local/elk/elasticsearch/elasticsearch-6.4.3/config/elasticsearch.yml
调整jvm内存:
vim /usr/local/elk/elasticsearch/elasticsearch-6.4.3/config/jvm.options
#默认是1g官方建议对jvm进行一些修改,不然很容易出现OOM内存溢出,参考官网改参数配置最好不要超过内存的50%
-Xms1g
-Xmx1g
启动Elasticsearch,使用es用户启动
su es
/usr/local/elk/elasticsearch/elasticsearch-6.4.3/bin/elasticsearch -d
ps -ef|grep elasticsearch
ES端口说明:
9200 默认对外服务的http端口
9300 默认节点间通信的tcp端口
解压elasticsearch-6.4.3.zip包到指定目录,这里不设置参数,直接启动
运行:bin/elasticsearch.bat
官方默认是1G内存,如果机器内存不够则需要调整jvm内存:
vim /usr/local/elk/elasticsearch/config/jvm.options
#默认是1g官方建议对jvm进行一些修改,不然很容易出现OOM内存溢出,参考官网改参数配置最好不要超过内存的50%
-Xms512m
-Xmx512m
[2018-09-16T19:53:20,595][ERROR][o.e.b.Bootstrap ] [node-1] node validation exception
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max number of threads [1024] for user [es] likely too low, increase to at least [2048]
[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[4]: memory locking requested for elasticsearch process but memory is not locked
问题一:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
解决:切换到root用户修改配置limits.conf 添加下面两行
su -root
vim /etc/security/limits.conf
es soft nofile 65536
es hard nofile 65536
问题二:max number of threads [1024] for user [es] likely too low, increase to at least [2048]
解决:切换到root用户,进入limits.d目录下修改配置文件。
修改如下内容:
su -root
vim /etc/security/limits.d/90-nproc.conf
* soft nproc 1024
#修改为
* soft nproc 2048
问题三:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决:切换到root用户修改配置sysctl.conf
然后切换到es用户,重启elasticsearch
su -root
vim /etc/sysctl.conf
vm.max_map_count=655360
sysctl -p #生效配置
问题四:memory locking requested for elasticsearch process but memory is not locked
解决:切换到root用户修改配置limits.conf 添加下面两行
su -root
vim /etc/security/limits.conf
es soft memlock unlimited
es hard memlock unlimited
配置文件目录默认为:$ES_HOME/config,如果需要配置文件与软件分离(方便升级),可以通过 ES_PATH_CONF 环境变量来指定。如你可以在命令行指定声明,也可以在环境变量中export:
ES_PATH_CONF=/path/to/my/config /usr/local/elk/elasticsearch/bin/elasticsearch -d
一般需要把数据目录和日志目录单独存放,不和软件目录放在一起,可以设置config/elastcisearch.yml文件:
#索引数据的存储路径
path.data: /usr/local/elk/elasticsearch/data
#日志文件的存储路径
path.logs: /usr/local/elk/elasticsearch/logs
在config/jvm.options文件中设置了很多JVM参数,格式说明如下:
- -Xmx2g:无JVM版本限制的参数
- 8:-Xmx2g:应用到指定版本JVM的参数
- 8-:Xmx2g:应用到指定版本及以上版本JVM的参数
- 8-9:-Xmx2g:应用到指定版本到版本JVM的参数
cluster.name: elasticsearch
node.name: prod-data-1
node.name: ${HOSTNAME} #以主机名作为节点名
network.host: 192.168.0.1
http.port: 9200-9300
transport.tcp.port: 9300-9400
discovery.zen.minimum_master_nodes: 1
discovery.zen.ping.unicast.hosts: ["host1", "host2:port", "host3[portX-portY]"]
transport.tcp.compress: false
http.cors.enabled: true
http.max_content_length: 100mb
node.master: true
node.data: true
discover.zen.ping.timeout: 3s
discovery.zen.ping.multicast.enabled: false
-XX:HeapDumpPath=/var/lib/elasticsearch
除此之外,还有很多参数,请参考官网:https://www.elastic.co/guide/en/elasticsearch/reference/current/system-config.html
ES需要可视化界面进行操作的话,直接安装Kibana即可。
下载地址:https://www.elastic.co/downloads/kibana
Windows和Linux版本的安装都是一样的,开箱即用,不过需要注意的是,下载的Kibana版本必须和Elasticsearch一致!