1、安装
下载位置
首先需要确保已经安装了Java(JAVA安装不再赘述)
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.1.tar.gz
解压安装:
tar -xvzf elasticsearch-5.4.1.tar.gz -C /opt/elasticsearch-5.4.1
ln -s /opt/elasticsearch-5.4.1 /opt/elasticsearch
修改内核参数
/etc/security/limits.conf
root soft nofile 65536
root hard nofile 65536
* soft nofile 65536
* hard nofile 65536
deploy soft memlock unlimited
deploy hard memlock unlimited
配置内核参数
/etc/sysctl.conf
fs.file-max=65536
vm.max_map_count=262144
重载
sysctl -p
2、配置文件
#集群名
cluster.name: log_es
#节点名
node.name: node-1
#数据目录
path.data: /data/es/data
#日志目录
path.logs: /data/es/logs
#设置为true来锁住内存不进行swapping。因为当jvm开始swapping时es的效率 会降低,所以要保证它不swap,可以把ES_MIN_MEM和ES_MAX_MEM两个环境变量设置成同一个值,并且保证机器有足够的内存分配给es。 同时也要允许elasticsearch的进程可以锁住内存,linux下启动es之前可以通过`ulimit -l unlimited`命令设置。
bootstrap.memory_lock: true
#当有多个网络的时候可以设置bind_host和publish_host,但是这两个必须同时设置,且与network.host冲突,bind(监听)可以设置多个ip,publish(发布)只能设置一个ip
network.bind_host: 0.0.0.0
network.publish_host: 10.31.48.190
#监听端口
http.port: 9200
#设置节点之间交互的tcp端口,默认是9300。
transport.tcp.port: 9300
#设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)
discovery.zen.minimum_master_nodes: 1
#节点间交互时,可以设置是否压缩,转为为不压缩:
transport.tcp.compress: true
#是否允许跨域请求。默认为 false
http.cors.enabled: true
#定义允许哪些源请求。可以使用正则表达式,例如 /https?://localhost(:[0-9]+)?/ 可设置支持本地HTTP和HTTPS请求。也可以设置为 * ,但是会存在安全隐患,因为任何来源都可访问Elasticsearch(以下简称为Es)实例。
http.cors.allow-origin: "*"
设置新节点被启动时能够发现的主节点列表(主要用于不同网段机器连接)
discovery.zen.ping.unicast.hosts: ["10.31.48.190:9300", "10.45.16.37:9300","10.26.13.131:9300"]
3、开启es
要作为守护程序运行Elasticsearch,请在命令行上指定-d ,并使用-p选项将进程ID记录在文件中:
./bin/elasticsearch -d -p pid