1、 上传elasticsearch2.3.5.zip到每台服务器上,保持目录相同
2、 分别解压安装包:unzip elasticsearch2.3.5.zip
3、 分别修改每台机器配置文件:~/elasticsearch-2.3.5/config/elasticsearch.yml
# 设置集群名称 cluster.name: cluster1 # 设置节点名称 node.name: ip1 (服务器的ip地址) # 单节点地址 network.host: 0.0.0.0 # 服务启动是,锁住内存 # 注意:启动es报警告Unknown mlockall error 0,因为linux系统默认能让进程锁住的内存为45k。解决方法:设置为无限制,linux命令:ulimit -l unlimited bootstrap.mlockall: true # 集群地址 discovery.zen.ping.unicast.hosts: ["ip1:9300", "ip2:9300"] # 设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4) discovery.zen.minimum_master_nodes: 2 # 设置集群中自动发现其它节点时ping连接超时时间,默认为3秒,对于比较差的网络环境可以高点的值来防止自动发现时出错。 discovery.zen.fd.ping_timeout: 10s discovery.zen.ping.timeout: 10s # 设置是否打开多播发现节点,默认是true。 discovery.zen.ping.multicast.enabled: false # 启用script脚本功能 script.inline: on script.indexed: on # 保证最大限度的使用内存而不引起OutOfMemory # index.cache.field.type: soft # 设置es最大缓存数据条数 # index.cache.field.max_size: 100000 # 设置es最大缓存失效时间 10分钟 # index.cache.field.expire: 10m
注意:每行冒号后面需要保留一个空格
4、 用root权限修改服务器配置,将JVM参数设置为服务器内存的一半(例如内存有32g)
1.进入ES的启动目录:cd /opt/merry/elasticsearch-2.3.5/bin/
2.添加环境变量:vi ~/.bash_profile,在该文件中加入一行:export ES_HEAP_SIZE=16g
3.使环境变量立即生效:. ~/.bash_profile
5、 分别启动每台机器的服务(这里要给Elasticsearch创建一个用户名,我这里的用户名是merry)
1.进入各机器的启动目录:cd ~/merry/elasticsearch-2.3.5/bin/
2. 执行:ulimit -l unlimited && su - merry -c 'sh /opt/merry/elasticsearch-2.3.5/bin/elasticsearch -d '
6、 等待30秒,查看搜索引擎是否启动成功
1. 打开搜索引擎监控web:http://IP:9200/_plugin/head/,IP为搜索引擎集群中任意一台机器IP
注:
1.由于安装超过10M,请自行下载https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/zip/elasticsearch/2.3.5/elasticsearch-2.3.5.zip
2.插件head、kopf、sql见附件,直接放到elasticsearch-2.3.5/plugins目录即可