一.安装es
两种方法:
1.yum源
rpm --import …出现两个问题
①
解决:
[root@elk-1 ~]# vi /etc/resolv.conf
#Generated by NetworkManager
nameserver 8.8.8.8
②
解决(改日期):
[root@elk-2 ~]# date
Thu Nov 19 02:15:55 CST 2020
[root@elk-2 ~]# date -s "2021-02-21 12:36:30"
Sun Feb 21 12:36:30 CST 2021
[root@elk-2 ~]# date
Sun Feb 21 12:36:35 CST 2021
配置yum源(很慢而且会出现问题)
3个节点都要执行
[root@elk-1 ~]# vi /etc/yum.repos.d/elk.repo
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
~
"/etc/yum.repos.d/elk.repo" [New] 9L, 227C written
[root@elk-1 ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: base elasticsearch-6.x extras updates
Cleaning up everything
Cleaning up list of fastest mirrors
[root@elk-1 ~]# yum repolist
Loaded plugins: fastestmirror
base | 3.6 kB 00:00
elasticsearch-6.x | 1.3 kB 00:00
extras | 2.9 kB 00:00
updates | 2.9 kB 00:00
(1/5): base/7/x86_64/group_gz | 153 kB 00:00
(2/5): base/7/x86_64/primary_db | 6.1 MB 00:03
(3/5): updates/7/x86_64/primary_db | 5.6 MB 00:08
(4/5): extras/7/x86_64/primary_db | 224 kB 00:10
(5/5): elasticsearch-6.x/primary | 267 kB 00:16
Determining fastest mirrors
* base: mirrors.njupt.edu.cn
* extras: mirrors.njupt.edu.cn
* updates: mirrors.njupt.edu.cn
elasticsearch-6.x 728/728
repo id repo name status
base/7/x86_64 CentOS-7 - Base 10,072
elasticsearch-6.x Elasticsearch repository for 6.x package 728
extras/7/x86_64 CentOS-7 - Extras 451
updates/7/x86_64 CentOS-7 - Updates 1,640
repolist: 12,891
[root@elk-1 ~]# yum install -y elasticsearch
2.rpm包
从百度下载压缩包
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.0.rpm
上传至终端1节点,然后跨终端传文件
[root@elk-1 ~]# scp elasticsearch-6.0.0.rpm elk-2:/root/
root@elk-2's password:
elasticsearch-6.0.0.rpm 100% 27MB 26.7MB/s 00:00
[root@elk-1 ~]# scp elasticsearch-6.0.0.rpm elk-3:/root/
root@elk-3's password:
elasticsearch-6.0.0.rpm 100% 27MB 26.7MB/s 00:01
安装rpm包(3个节点)
[root@elk-1 ~]# rpm -ivh elasticsearch-6.0.0.rpm
Preparing... ################################# [100%]
Creating elasticsearch group... OK
Creating elasticsearch user... OK
Updating / installing...
1:elasticsearch-0:6.0.0-1 ################################# [100%]
### NOT starting on installation, please execute the following statements to configure elasticsearch service to start automatically using systemd
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
### You can start elasticsearch service by executing
sudo systemctl start elasticsearch.service
二.配置es
3个节点编辑配置文件
[root@elk-1 ~]# vi /etc/elasticsearch/elasticsearch.yml
elk-1节点:
#cluster.name: my-application
cluster.name: elk //配置es的集群名称
#node.name: node-1
node.name: elk-1 //节点名,默认随机指定一个name列表中名字
node.master: true
//指定该节点是否有资格被选举成为node,默认是true,其他两节点为false
node.data: false //指定该节点是否储存索引数据,默认为true。其他两节点为true
network.host: 192.168.200.11 //设置绑定ip地址
http.port: 9200 //启动的es对外的http端口,默认是9200
discovery.zen.ping.unicast.hosts: ["elk-1", "elk-2","elk-3"]
(因为编写了hosts文件才可以用主机名)
//设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点。
将配置文件传输到其他节点(但是得编辑):
[root@elk-1 ~]# scp /etc/elasticsearch/elasticsearch.yml elk-2:/etc/elasticsearch
root@elk-2's password:
elasticsearch.yml 100% 3047 3.0KB/s 00:00
[root@elk-1 ~]# scp /etc/elasticsearch/elasticsearch.yml elk-3:/etc/elasticsearch
root@elk-3's password:
elasticsearch.yml 100% 3047 3.0KB/s 00:00
elk-2节点:
node.name: elk-2
node.master: false
node.data: true
network.host: 192.168.200.12
elk-3节点:
node.name: elk-3
node.master: false
node.data: true
network.host: 192.168.200.13
先启动主节点(先关闭3个节点的防火墙),再启动其他节点
[root@elk-1 ~]# systemctl stop firewalld.service && setenforce 0 && iptables -F
[root@elk-1 ~]# systemctl start elasticsearch
查看3个节点的进程:
[root@elk-1 ~]# ps -ef |grep elasticsearch
查看3个节点的端口(没有这个命令的话下载net-tools):
只要有9200和9300说明服务就启动了
使用curl命令来检查集群状态:
[root@elk-1 ~]# curl '192.168.200.11:9200/_cluster/health?pretty'
{
"cluster_name" : "elk",
"status" : "green",
//为green则代表健康没问题,yellow或者red 则是集群有问题
"timed_out" : false,
//是否有超时
"number_of_nodes" : 3,
//集群中的节点数量
"number_of_data_nodes" : 2,
//集群中data节点的数量
"active_primary_shards" : 0,
"active_shards" : 0,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 0,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 0,
"active_shards_percent_as_number" : 100.0
}
用curl查看集群详细信息
[root@elk-1 ~]# curl '192.168.200.11:9200/_cluster/state?pretty'