elastacsearch集群搭建(基于6.x)
1.安装前环境准备:安装JDK1.8以上版本并配置好环境变量
下载tar包,放在/usr/local路径下:
tar -zxvf elasticsearch-6.6.1.tar.gz 解压
mkdir elk 创建elk文件夹
mv elasticsearch-6.6.1 /usr/local/elk/elasticsearch 重命名并移动
mkdir /usr/local/elk/elasticsearch/data 创建存放数据路径
2.添加用户,非root用户才能正常启动
useradd elk 创建一个elk用户
chown -R elk:elk /usr/local/elk/elasticsearch 赋予文件夹权限
3.yml配置文件
vi /usr/local/elk/elasticsearch/config/elasticsearch.yml 更改配置
更改内容如下:
cluster.name: esTest6.6 集群名称
node.name: node173 节点名称,最好在后面加上能标识IP地址的信息
path.data: /usr/local/elk/elasticsearch/data 设置数据存放路径
path.logs: /usr/local/elk/elasticsearch/logs 设置日志存放路径
bootstrap.memory_lock: true 设置为true来锁住内存
network.host: 0.0.0.0 绑定的ip地址:这里是为了便于测试,生产环境配置指定ip
http.port: 9200 设置对外服务的端口
transport.tcp.port: 9300 设置节点间监护的tcp端口
自动集群配置
discovery.zen.ping.unicast.hosts: ["192.100.1.171:9300","192.100.1.172:9300","192.100.1.173:9300"]
这里设置为2,如果不配置,遭受网络故障的集群就有可能将集群分成两个独立的集群
discovery.zen.minimummasternodes: 2
修改完可以查看具体修改了哪些值:
grep '^[a-z]' /usr/local/elk/elasticsearch/config/elasticsearch.yml
4.调整JVM内存
vi /usr/local/elk/elasticsearch/config/jvm.options
默认是1g官方建议对jvm进行一些修改,不然很容易出现OOM,参考官网改参数配置最好不要超过内存的50%,网上资料的说法是设成内存的一半即可,但不要超过32G。
-Xms15g
-Xmx15g
5.预先设置(新装机器需要设置,不然后续会报错)
需要修改的内容如下:
vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 2048
* hard nproc 4096
#选择锁住swapping
elk soft memlock unlimited
elk hard memlock unlimited
系统配置文件中,修改内容如下:
vi /etc/sysctl.conf
vm.maxmapcount=655360
fs.file-max=655360
注意:修改完执行 sysctl -p 使系统配置生效(使用root用户)
6.跨域访问需要在elasticsearch配置文件中加入三条配置,这样才能被head插件识别到(用于测试):(谷歌浏览器自带插件不用解决跨域问题)
vim /usr/local/elk/elasticsearch/config/elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-credentials: true
7.后台启动命令
切换用户为elk,执行下面后台启动命令
/usr/local/elk/elasticsearch/bin/elasticsearch -d
其他两台节点按照上述步骤依次配置启动即可
安装cerebro要点
一款Elasticsearch监控工具
非常方便,下载tar包,开箱即用
访问9000端口到达开始界面
安装elasticsearch-head要点(建议使用 cerebro )
个人主机安装,便于查看集群状况并支持http测试(安装繁琐,受网络限制较大)
下载地址:https://github.com/mobz/elasticsearch-head
1.安装node.js
2.安装grunt 在nodejs根目录下执行
npm install -g grunt -cli
3.安装pathomjs
进入elasticsearch-head根目录下执行命令
npm install
4.运行head
在head根目录下执行
grunt server
启动后访问本机9100端口即可
安装分词器 IK 要点
自带的分词器对于中文的支持并不是很好,建议安装IK分词器
https://github.com/medcl/elasticsearch-analysis-ik/releases 找到对应的6.6.1版本
下载第一个zip包,放入/usr/local/elk/elasticsearch/plugins/ik 文件夹中
直接解压缩,再重启节点即可
elastacsearch集群搭建(基于7.x)
7.x改动地方:
自动集群配置
discovery.seed_hosts: ["192.100.3.20", "192.100.3.24","192.100.3.25"]
cluster.initial_master_nodes: ["192.100.3.20", "192.100.3.24","192.100.3.25"]
gateway.recover_after_nodes: 3