1 安装java环境
yum -y install java-1.8.0-openjdk*->需要最新的JDK环境1.8
2 安装 es
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.0.tar.gz
tar -xvf elasticsearch-6.5.0.tar.gz
mv elasticsearch-6.5.0 /usr/local/es
ln -s /usr/local/es/bin/* /usr/bin/
useradd elsearch
3 配置集群
相关配置文件
elasticsearch.yml
cluster.name: es-cluster 配置集群名称 三台服务器保持一致
node.name: node-1 配置单一节点名称,每个节点唯一标识
network.host: 0.0.0.0 设置绑定的ip地址
http.port: 9200 端口
discovery.zen.ping.unicast.hosts: ["host2", "host3"] 集群节点ip或者主机
#discovery.zen.minimum_master_nodes: 3 设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)->此参数暂时不添加
http.cors.enabled: true
http.cors.allow-origin: "*"
bootstrap.memory_lock: false cetos6.5不支持这两项,需要禁用
bootstrap.system_call_filter: false
4 linux系统优化
vm.max_map_count=655360 添加/etc/sysctl
* soft nofile 65536
* hard nofile 65536 添加/etc/security/limits.conf
vm.zone_reclaim_mode = 0 添加/etc/sysctl,可以先查看,一部分服务器默认是为0 另一部分不是,可能会引起cpu暴涨的问题
5 启动
./elasticsearch --daemonize
6 获取信息
curl http://host:9200 都能获取到代表集群已经安装完成
二 安装插件
1 安装node.js环境
wget https://npm.taobao.org/mirrors/node/latest-v4.x/node-v4.4.7-linux-x64.tar.gz
mv node-v4.4.7-linux-x64 /usr/local/node
ln -s /usr/local/node/bin/* /usr/bin/
2 安装grunt
npm install -g grunt-cli
npm install grunt --save-dev
ln -s /usr/local/node/bin/grunt /usr/bin
3 下载head插件
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
/usr/local/node/bin/grunt server
4 访问
http://host:9100/
点击集群连接即可识别端口
三 插件基本解析
1 五角星代表主节点
2 数据的粗框代表主数据,其他为副本数据
四 一些总结
1 es集群选用的机器最好内存为32G,高于32G的可能会引起堆性能问题
2 es集群选用合适的版本,因为版本越高,需要的JDK越高,而你java程序的JDK可能不匹配
3 es集群需要采用非root方式启动