环境主机配置:
服务器的基本初始化
关闭防火墙,selinux。解析主机。四核6G
安装基本的软件
yum -y install wget vim ntpdate net-tools java-11-openjdk java-11-openjdk-devel
wget https://mirrors.hiops.icu/packages/elasticsearch-7.13.1-x86_64.rpm --no-check-certificate
abc三台机器执行
$ cd /usr/local/src
$ yum -y localinstall elasticsearch-7.13.1-x86_64.rpm
修改jvm内存
$ vim /etc/elasticsearch/jvm.options
-Xms4g 改为 -Xms2g (就把它改成4g就行)
a机器中执行, 生成集群通信证书
$ cd /usr/share/elasticsearch
以下两步均不需要设置密码, 一路回车即可
$ bin/elasticsearch-certutil ca
$ bin/elasticsearch-certutil cert --ca /usr/share/elasticsearch/elastic-stack-ca.p12
$ cp /usr/share/elasticsearch/elastic-certificates.p12 /etc/elasticsearch/elastic-certificates.p12
$ chmod 600 /etc/elasticsearch/elastic-certificates.p12
$ chown elasticsearch:elasticsearch /etc/elasticsearch/elastic-certificates.p12
拷贝证书到其他节点
$ scp /etc/elasticsearch/elastic-certificates.p12 node-b:/etc/elasticsearch/ (node-b 写ip地址)
$ scp /etc/elasticsearch/elastic-certificates.p12 node-c:/etc/elasticsearch/
b & c 节点改变证书权限
$ chmod 600 /etc/elasticsearch/elastic-certificates.p12
$ chown elasticsearch:elasticsearch /etc/elasticsearch/elastic-certificates.p12
abc 服务器均执行
vim /etc/elasticsearch/elasticsearch.yml
$ egrep -v "(^$|^#)" /etc/elasticsearch/elasticsearch.yml
cluster.name: qfcloudclass 集群的名字
node.name: node-a 当前节点的名称,写你主机名
node.master: true 这两个都是开启的,为了保证它的容量性,以及master的高可用性,会将三台主机全部开启数据状态(为了存储数据达到一定的容量),以及master状态(怕集群中某一个节点宕掉导致集群不能用,所以三台都是master哪怕一台宕掉还能用)。
node.data: true
path.data: /var/lib/elasticsearch 改成逻辑卷的挂载点,它就会把数据存在逻辑卷里,一定要确保里面没东西,(不用改保持现在就行)
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0 (0000)监听地址,不挑ip了只要连过来访问的是9200的端口就可以通信
http.port: 9200
discovery.seed_hosts: ["192.168.153.21", "192.168.153.22", "192.168.153.23"] 这里是es集群中所有主机的ip地址。
cluster.initial_master_nodes: ["192.168.153.21", "192.168.153.22", "192.168.153.23"] 初始化为master的集群的节点
xpack.security.enabled: true
xpack.monitoring.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: /etc/elasticsearch/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /etc/elasticsearch/elastic-certificates.p12
拷贝到2.3
拷过去之后进入配置文件b和c,改b和c节点的名称就好了,保存退出
scp /etc/elasticsearch/elasticsearch.yml 192.168.22.183:/etc/elasticsearch/
scp /etc/elasticsearch/elasticsearch.yml 192.168.22.184:/etc/elasticsearch/
启动elasticsearch服务(三台)
$ systemctl enable --now elasticsearch
a 机器生成elasticsearch的初始化密码
bin/elasticsearch-setup-passwords auto或/usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto
按y 如果报error就是机器没起来,宕掉了,继续重启
测试
就可以去网站访问了 ip:9200 三台都可以
kibana 部署
在node-c中部署kibana服务(如果内存够就再开一台机器)(最好在安装之前去es机器生成需要的密码信息)
wget https://mirrors.hiops.icu/packages/kibana-7.13.1-x86_64.rpm^C
wget https://mirrors.hiops.icu/packages/kibana-7.13.1-x86_64.rpm --no-check-certificate
cd /usr/local/src
$ yum -y localinstall kibana-7.13.1-x86_64.rpm
vim /etc/kibana/kibana.yml
server.port: 5601 服务端口 如果不想访问5601端口(1.改为80 2拿nginx做一个反代)
server.host: "0.0.0.0" 监听的ip地址 (改为本机ip地址或者4个0都行)
elasticsearch.hosts: ["http://192.168.153.21:9200", "http://192.168.153.22:9200", "http://192.168.153.23:9200"]es集群的三个ip,url实际说的是访问es的ip和端口,而且最好把协议头加上,可以读取es的数据。集群的IP地址加9200
elasticsearch.username: "elastic" 登录es的用户 修改es用户密码
elasticsearch.password: "Fc2N3h3360U6k5TiddzZ"
logging.dest: /var/log/kibana.log 指定kibana日志的存储位置
测试
systemctl enable --now kibana 启动
$ ss -antpt | grep :5601 查看端口
通过浏览器访问
ip:5601 就能看到登录界面,就用elstic的账户,因为有权限超级管理员,就用刚刚的密码
实验成功
【注意】少熬夜,多看书。