centos 7 es6.8集群+单机安装

目录

1:环境

2:安装步骤

​ 2.1 初始化操作

​ 2.1.1 关闭防火墙与selinux

​ 2.1.2 更改主机名

​ 2.1.3 安装unzip和lrzsz(非必须)

​ 2.1.4 安装java

​ 2.1.5 安装es前置准备

​ 2.2 安装ElasticSearch

​ 2.2.1 单机安装

​ 2.2.2 集群配置

​ 2.2.3 安装ik(分词器)

​ 2.2.4 安全配置(配置密码访问)

​ 2.2.5 修复log4j漏洞

3:安装包

1:环境

服务器系统:CentOS Linux release 7.9.2009 (Core)
服务器配置:2CPU 2G内存
服务器IP:
	IP:172.16.16.117,主机名:es01
	IP:172.16.16.35,主机名:es02
	IP:172.16.16.46,主机名:es03
ElasticSearch版本:6.8.13
Java:1.8.0_192
Kibana:6.8.13

用到的安装包:
	elasticsearch-6.8.13.tar.gz 
	elasticsearch-analysis-ik-6.8.13.zip
	kibana-6.8.13-linux-x86_64.tar.gz
	java.tgz
安装包存放的路径:/tmp/install/
程序安装目录:/data/

备注:
	root# 代表在root用户下执行的命令
	elastics$ 代表是在普通用户elastics下执行的命令
	# 单个#号代表注释

2:安装步骤

2.1 初始化操作

2.1.1 关闭防火墙与selinux

所有服务器:
  # 关闭防火墙
   root# systemctl stop firewalld
   root# systemctl disable firewalld

  # 关闭selinux
   root# sed -i 's/enforcing/disabled/' /etc/selinux/config
   root# setenforce 0

2.1.2 更改主机名

# 172.16.16.117:
	root# hostnamectl set-hostname es01
	root# echo -e "172.16.16.117 es01\n172.16.16.35 es02\n172.16.16.36 es03" >> /etc/hosts
		
#172.16.16.35:
	root# root# hostnamectl set-hostname es02
	root# echo -e "172.16.16.117 es01\n172.16.16.35 es02\n172.16.16.36 es03" >> /etc/hosts
		
#172.16.16.36:
    root# hostnamectl set-hostname es03
    root# echo -e "172.16.16.117 es01\n172.16.16.35 es02\n172.16.16.36 es03" >> /etc/hosts

2.1.3 安装unzip和lrzsz(非必须)

 #unzip是用来解压缩包的,lrzsz是上传包到服务器的。
 root# yum install unzip lrzsz  wget -y

2.1.4 安装java

root # cd /tmp/install/
#创建目录
root# mkdir /data
##解压缩
root# tar -xvf java.tgz -C /data/
#添加JAVA的环境变量
root# echo -e "export JAVA_HOME=/data/java\nexport PATH=\$PATH:\$JAVA_HOME/bin" > /etc/profile.d/java1.8.sh
#加载环境变量
root# source /etc/profile
#执行 java-version 显示下面内容就代表成功了
root# java -version
    java version "1.8.0_192"
    Java(TM) SE Runtime Environment (build 1.8.0_192-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.192-b12, mixed mode)

2.1.5 安装es前置准备

#创建普通用户elastics,因为elasticsearch不能在root用户下运行
root# useradd elastics
#禁用交换
root# swapoff -a
#注释掉swap的一行
root# vi /etc/fstab

#增加文件描述符,编辑limits配置文件,配置文件最后一行添加配置;
#*Elasticsearch 使用了大量的文件描述符或文件句柄。文件描述符用完可能是灾难性的,并且很可能会导致数据丢失。*
#增加线程数
#*Elasticsearch 使用多个线程池来执行不同类型的操作。重要的是它能够在需要时创建新线程。确保 Elasticsearch 用户可以创建的线程数至少为 4096。*
root# vi /etc/security/limits.conf +$
#File Descriptors
elastics soft nofile 65536
elastics hard nofile 65536
#Number of threads
*  hard    nproc     4096 

#调整虚拟内存,编辑sysctl.conf,配置文件最后一行添加配置;
#*Elasticsearchmmapfs默认使用一个目录来存储它的索引。默认操作系统对 mmap 计数的限制可能太低,这可能会导致内存不足异常。*
root# vi /etc/sysctl.conf +$
vm.max_map_count=655360
root# sysctl -p

# 重启服务器,上面都修改完成后重启一下服务器
root# reboot

2.2 安装ElasticSearch

2.2.1 单机安装(单机安装是集群安装的前提)

#下载包请查看“3:安装包”,这里就不演示了
#172.16.16.117服务器执行以下内容
#安装elasticSearch
root# cd /tmp/install
root# tar -zxvf elasticsearch-6.8.13.tar.gz -C /data/
root# cd /data
root# mv elasticsearch-6.8.13 elasticsearch
root# cd /data/elasticsearch/config
root# mv elasticsearch.yml elasticsearch.yml.bak.install
##修改配置文件
root# vi elasticsearch.yml
#集群名字
cluster.name: es-test
#node节点的名字
node.name: es-01
#数据存放目录
path.data: /data/elasticsearch/data
#日志存放目录
path.logs: /data/elasticsearch/logs
#监听的ip
network.host: 0.0.0.0
http.port: 9200

#启动
root# chown elastics. /data/elasticsearch -R
root# su - elastics
elastics$  /data/elasticsearch/bin/elasticsearch -d

##注意本次没有更改jvm参数,因为演示的服务器配置为2cpu2G内存,所以不需要调整使用es默认jvm参数就可以。如果你的配置较高或较小需要调整jvm参数,配置文件在/data/elasticsearch/config/jvm.options
#本文档使用内存为1G
-Xms1G
-Xmx1G

2.2.2 集群配置

#停止172.16.16.117上的es服务
root# ps -ef |grep ps -ef |grep elasticsearch
root# pkill {PID}
#清理数据
root# rm -rf /data/elasticsearch/data/*
root# rm -f /data/elasticsearch/logs/*

#将es拷贝到另外两台机器(es02:172.16.16.35;es03:172.16.16.36)
root# scp -r elasticsearch es02:/data/
root# scp -r elasticsearch es03:/data/

#修改配置文件
##修改es01:172.16.16.117的es配置文件
root# vi /data/elasticsearch/config/elasticsearch.yml
#
#集群名字
cluster.name: es-test
#node节点的名字
node.name: es-01
#数据存放目录
path.data: /data/elasticsearch/data
#日志存放目录
path.logs: /data/elasticsearch/logs
#监听的ip
network.host: 0.0.0.0
#端口
http.port: 9200
##集群配置##
#是不是有资格成为主节点
node.master: true
#是否存储数据,如果是生产的话建议数据节点和主节点分开。如果生产的话某个节点是主节点还是存储节点的话,压力是很大的
node.data: true
#最大集群节点数
node.max_local_storage_nodes: 3
#内部节点之间沟通端口
transport.tcp.port: 9300
discovery.zen.ping_timeout: 10s
discovery.zen.ping.unicast.hosts: ["172.16.16.117:9300","172.16.16.35:9300","172.16.16.36:9300"]

#es02:172.16.16.35的es配置文件
root# vi /data/elasticsearch/config/elasticsearch.yml
#集群名字
cluster.name: es-test
#node节点的名字,集群主要改这里
node.name: es-02
#数据存放目录
path.data: /data/elasticsearch/data
#日志存放目录
path.logs: /data/elasticsearch/logs
#监听的ip
network.host: 0.0.0.0
#端口
http.port: 9200
##集群配置##
#是不是有资格成为主节点
node.master: true
#是否存储数据,如果是生产的话建议数据节点和主节点分开。如果生产的话某个节点是主节点还是存储节点的话,压力是很大的
node.data: true
#最大集群节点数
node.max_local_storage_nodes: 3
#内部节点之间沟通端口
transport.tcp.port: 9300
discovery.zen.ping_timeout: 10s
discovery.zen.ping.unicast.hosts: ["172.16.16.117:9300","172.16.16.35:9300","172.16.16.36:9300"]

#es03:172.16.16.36的es配置文件
root# vi /data/elasticsearch/config/elasticsearch.yml
#集群名字
cluster.name: es-test
#node节点的名字,集群主要改这里
node.name: es-03
#数据存放目录
path.data: /data/elasticsearch/data
#日志存放目录
path.logs: /data/elasticsearch/logs
#监听的ip
network.host: 0.0.0.0
#端口
http.port: 9200
##集群配置##
#是不是有资格成为主节点
node.master: true
#是否存储数据,如果是生产的话建议数据节点和主节点分开。如果生产的话某个节点是主节点还是存储节点的话,压力是很大的
node.data: true
#最大集群节点数
node.max_local_storage_nodes: 3
#内部节点之间沟通端口
transport.tcp.port: 9300
discovery.zen.ping_timeout: 30s
discovery.zen.ping.unicast.hosts: ["172.16.16.117:9300","172.16.16.35:9300","172.16.16.36:9300"]

#启动服务
root# chown elastics. /data/elasticsearch/ -R
root# su - elastics
elastics$ /data/elasticsearch/bin/elasticsearch -d

#验证 如果是这样就代表成功了
# curl http://172.16.16.117:9200/_cat/health?v
epoch      timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1650268171 07:49:31  es-test green           3         3      0   0    0    0        0             0                  -                100.0%

2.2.3 安装ik(分词器)

#es01执行
#解压analysis-ik
root#  mkdir /data/elasticsearch/plugins/analysis-ik
root# unzip /tmp/es/elasticsearch-analysis-ik-6.8.13.zip -d /data/elasticsearch/plugins/analysis-ik/
root# chown elastics. /data/elasticsearch/ -R
#将这个文件传输到es02和es03
 root# scp -r  /data/elasticsearch/plugins/analysis-ik  es02:/data/elasticsearch/plugins/
root# scp -r  /data/elasticsearch/plugins/analysis-ik  es03:/data/elasticsearch/plugins/


#重启服务,三台服务器都执行
root# pkill {espid}
root# chown elastics. /data/elasticsearch/ -R
root# su - elastics
elastics$ /data/elasticsearch/bin/elasticsearch -d
#查看是否有ik
elastics$ grep "analysis-ik" /data/elasticsearch/logs/es-test.log 

2.2.4 (安全配置)配置密码访问

#如果开启安全的话,集群间需要证书
1、创建ca(es01执行)
root# cd /data/elasticsearch/config/
#一路回车就行
root#  /data/elasticsearch/bin/elasticsearch-certutil ca
2、签发证书(es01执行)
root# cd /data/elasticsearch/config/
#一路回车就行
root#  /data/elasticsearch/bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

3、配置文件添加配置
#es01、es02、es03都添加以下配置
root# vi /data/elasticsearch/config/elasticsearch.yml +$
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12  
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12
4、将证书拷贝到es02和es03
root# scp /data/elasticsearch/config/elastic-* es02:/data/elasticsearch/config/

5、重启应用
root# pkill {espid}
root# chown elastics. /data/elasticsearch/ -R
root# su - elastics
elastics$ /data/elasticsearch/bin/elasticsearch -d

6、配置密码 我这里配置的密码是:QWEAqarjal@12aaa
elastics$/data/elasticsearch/bin/elasticsearch-setup-passwords interactive
#将密码复制一下,然后执行上面的命令,一路粘贴回车就行。提示下面这个就是完成了
Changed password for user [apm_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]

#测试,任何用户下都可以,执行这个命令如果显示集群,那么就可以了。
curl --user elastic:QWEAqarjal@12aaa -XGET http://es01:9200/_cat/health?v

2.2.5 修复log4j漏洞

#解压apache-log4j-2.17.0-bin.tar.gz
#替换/data/elasticsearch/lib下的包

3:安装包

#elasticsearch官网包地址
#https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.13.tar.gz

#analysis分词器
#https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v6.8.13

#log4j包
#https://archive.apache.org/dist/logging/log4j/2.17.0/apache-log4j-2.17.0-bin.tar.gz


#百度网盘,pan后面自己添加baidu.com
#链接:https://pan/s/1XOocHwO79SivTrBjGPaPhw 
#提取码:a134 

觉得写的不错,加个关注呗

你可能感兴趣的:(linux,运维,es)