安装准备
服务器准备
为搭建ElasticSearch集群,准备了三台服务器,主机IP分别为:
| 服务器IP | 系统版本 |
|---|---|
| 10.11.6.22 | Centos6.5 |
| 10.11.6.23 | Centos6.5 |
| 10.11.6.24 | Centos6.5 |
内核参数调整
vim /etc/sysctl.conf# 增加下面的内容fs.file-max = 65536vm.max_map_count = 262144# 执行命令sysctl -p
资源参数调整
vim /etc/security/limits.conf# 修改以下内容* soft nofile 65536* hard nofile 65536* soft nproc 4096* hard nproc 4096elasticsearch soft memlock unlimitedelasticsearch hard memlock unlimited
调整线程数
vim /etc/security/limits.d/90-nproc.conf找到如下内容:* soft nproc 1024#修改为* soft nproc 4096
导入PGP密钥
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
配置Yum
vim /etc/yum.repos.d/elasticsearch.repo
加入以下信息
[elasticsearch]name=Elasticsearch repository for 7.x packagesbaseurl=https://artifacts.elastic.co/packages/7.x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-md
ElasticSearch安装
安装
# 展示所有版本sudo yum --showduplicates list elasticsearch# 安装指定版本sudo yum install elasticsearch-7.9.3-1
配置开机启动
sudo chkconfig --add elasticsearch
配置文件
elasticsearch.yml
vim /etc/elasticsearch/elasticsearch.yml
# 集群名称,各个节点的值必须一致cluster.name: es-prod# 节点名称,区分节点,各个节点的值不能一致node.name: node-1# 数据文件路径,需要配置datanode所有数据磁盘路径path.data:- /data/dfs/dfs00/dfs/elasticsearch- /data/dfs/dfs01/dfs/elasticsearch- /data/dfs/dfs02/dfs/elasticsearch# 日志文件路径path.logs: /var/log/elasticsearch# 设置为true来锁住内存。因为当jvm开始swapping时es的效率会降低,所以要保证它不swap,可以把ES_MIN_MEM和ES_MAX_MEM两个环境变量设置成同一个值,并且保证机器有足够的内存分配给es。同时也要允许elasticsearch的进程可以锁住内存,Linux下可以通过ulimit -l unlimited命令bootstrap.memory_lock: true# 因为Centos6不支持SecComp,而ES6.1.2默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动bootstrap.system_call_filter: false# 本机IPnetwork.host: 10.11.6.24# 集群种子节点discovery.seed_hosts:- 10.11.6.22:9300- 10.11.6.23:9300- 10.11.6.24:9300# 集群初始主节点,需要填写node.name中的值cluster.initial_master_nodes:- node-1- node-2- node-3# 存在至少2个节点(数据节点或者 master 节点)才进行数据恢复gateway.recover_after_nodes: 2# 等待10分钟,或者3个节点上线后,才进行数据恢复,这取决于哪个条件先达到gateway.expected_nodes: 3gateway.recover_after_time: 10msearch.max_buckets: 200000action.destructive_requires_name: trueindices.memory.index_buffer_size: 15%thread_pool.write.queue_size: 1024
jvm.options
vim /etc/elasticsearch/jvm.options# 调整内存大小根据系统资源而定,最好不要超过总资源一半-Xms8g-Xmx8g
直接启动
sudo -i service elasticsearch start# 查看节点状态curl -XGET '10.11.6.24:9200/_cat/nodes?v'# 查看集群状态curl -XGET '10.11.6.24:9200/_cat/health?v'
Kibana安装
安装
# 展示所有版本sudo yum --showduplicates list kibana# 安装指定版本sudo yum install kibana-7.9.3-1
配置开机启动
sudo chkconfig --add kibana
配置文件
vim /etc/kibana/kibana.yml
# 本机IPserver.host: "10.11.6.24"# 访问es的地址elasticsearch.hosts: ["http://10.11.6.22:9200","http://10.11.6.23:9200","http://10.11.6.24:9200"]
直接启动
sudo -i service kibana start
启动成功后访问 http://10.11.6.24:5601/ 如果页面正常说明安装成功
Logstash安装
安装
mv /usr/bin/java /usr/bin/java7ln -s $JAVA_HOME/bin/java /usr/bin/javasudo yum --showduplicates list logstashsudo yum install logstash-7.9.3-1
修改配置
vim /etc/logstash/logstash.yml
# 配置热加载config.reload.automatic: true# 开启持久化队列queue.type: persistedqueue.max_bytes: 8gb
管道配置
在/etc/logstash/conf.d下新建 xxx.conf 编写管道处理逻辑,具体配置内容参见具体业务部署文档,此处省略
启动
在具体业务管道配置完成之后再执行启动脚本
nohup /usr/share/logstash/bin/logstash --path.settings /etc/logstash >/dev/null 2>&1 &
Filebeat安装
Filebeat需要安装在待收集日志的业务模块所在服务器,每个Filebeat服务只可以收集本机日志
安装
sudo yum install filebeat-7.9.3-1sudo chkconfig --add filebeat
修改配置
具体配置内容参见具体业务部署文档
vim /etc/filebeat/filebeat.yml
启动
在具体业务配置完成之后再执行启动脚本
service filebeat start
