ES集群搭建及Kibana安装

一、 准备条件

机器(三台不同机器,IP瞎写的):
192.168.1.1
192.168.1.2
192.168.1.3

jdk: jdk-8u202-linux-x64.tar.gz

es版本:elasticsearch-7.10.1-linux-x86_64.tar.gz
下载地址: https://www.elastic.co/cn/downloads/past-releases#elasticsearch

二、关闭防火墙

关闭
systemctl stop firewalld

禁止开机启动防火墙
systemctl disable firewalld

查看是否关闭防火墙
systemctl status firewalld

三、创建es普通用户

ES不能使用root用户来启动,必须使用普通用户来安装启动

useradd es
passwd es

四、 ES配置

解压

tar xf elasticsearch-7.10.1-linux-x86_64.tar.gz -C /data/

改名

mv /data/elasticsearch-7.10.1/ /data/elasticsearch

创建存放日志路径

mkdir /data/elasticsearch/startlogs

配置elasticsearch.yml文件内容

备份elasticsearch.yml
cp /data/elasticsearch/config/elasticsearch.yml /data/elasticsearch/config/elasticsearch.yml.bak

elasticsearch.yml 内容

cluster.name: escluster
node.name: es1
network.host: 192.168.1.1
http.port: 9200
discovery.seed_hosts: [“192.168.1.1:9300”,“192.168.1.2:9300”,“192.168.1.3:9300”]
cluster.initial_master_nodes: [“es1”, “es2”,“es3”]
gateway.recover_after_nodes: 2
node.master: true
node.data: true
http.cors.enabled: true
http.cors.allow-origin: “*”
path.data: /data/elasticsearch/data
path.logs: /data/elasticsearch/logs
cluster.routing.allocation.same_shard.host: true
http.max_content_length: 500mb

配置解释

cluster.name 集群名称,这个名字必须一致
node.name: 节点名称,每台都不能相同,这个名字会在 谷歌的elasticsearch head插件中看到标记
network.host: 当前机器的IP地址
http.port: es的端口
#发现和形成集群需要配置两个重要的参数 discovery.seed_hosts及cluster.initial_master_nodes 以便集群中的节点能发现彼此并选出一个主节点
discovery.seed_hosts: 发现和集群形成设置,以便集群中的节点可以相互发现并选举一个主节点
cluster.initial_master_nodes: 机器的node.name名称
gateway.recover_after_nodes: 设置当指定数量的data或者master(node.master: true)节点加入集群后才开始进行恢复操作
node.master:是否是主节点
node.data: 是否为数据节点
http.cors.enabled: 启动跨域
path.data: 数据存放目录
path.logs: 日志存放目录
cluster.routing.allocation.same_shard.host: 默认值是false,如果设置为true,那么就不允许将一个primary shard和replica shard分配到同一个物理机上。
http.max_content_length: 内容的最大容量

五、JVM调优

vi /data/elasticsearch/config/jvm.options
设置为物理内存一半最佳,可根据服务器内存去选择调

-Xms1g 修改为 ===> -Xms2g
-Xmx1g 修改为 ===> -Xmx2g

六、设置权限

chown -R es:es /data/elasticsearch

七、内存优化

vi /etc/sysctl.conf

fs.file-max=655360
vm.max_map_count=655360
执行
sysctl -p 生效

解释:
(1)vm.max_map_count=655360
系统最大打开文件描述符数
(2)vm.max_map_count=655360
限制一个进程拥有虚拟内存区域的大小

vi /etc/security/limits.conf

* soft nofile 65536

* hard nofile 65536

* soft nproc 65536

* hard nproc 65536

* soft memlock unlimited

* hard memlock unlimited


解释:
(nofile)最大开打开文件描述符
(nproc)最大用户进程数
(memlock)最大锁定内存地址空间

修改用户进程数,普通用户默认是1024个
vi /etc/security/limits.d/90-nproc.conf

# 修改/etc/security/limits.d/90-nproc.conf1024修改为65536

*          soft    nproc     1024     修改前
.	
*          soft    nproc     65536   修改后

ctrl +d从进终端
ulimit -a查看

八、启动

+d代表后台启动

./elasticsearch -d

查看是否启动
http://192.168.1.1:9200/

九、配置es密码

# 生成CA证书
bin/elasticsearch-certutil ca

# 生成p12密钥: 直接回车: 会多出两个文件
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

# 在config目录下,新建 certs 文件夹

# 将elastic-certificates.p12文件,复制到config/certs文件夹下。

# 将主机es目录下生成的elastic-certificates.p12和elastic-stack-ca.p12复制到从机ES目录下,从机目录下config中创建certs文件夹,将elastic-certificates.p12复制到config/certs文件夹下。

# 添加 elasticsearch.yml 配置,主机和从机上都要加
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.license.self_generated.type: basic
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
    
#确保所有机器下的config/certs目录下的elastic-certificates.p12用户权限是es用户和es用户组

# 初始化密码: 会有很多的密码要填,直接全写同一个密码,一路填下去
bin/elasticsearch-setup-passwords interactive

# 启动es,再网址中输入密码即可


# 问题:如果密码忘记了,导致连不上
# 1. 把三台机器下的logs都删了,密码配置会在这里面
# 2. 删主节点的这个文件 elasticsearch.keystore
# 3. 删掉nodes节点(可以不删,删掉指定的.security-7索引)
# 4. 然后重新执行 bin/elasticsearch-setup-passwords interactive 重新生成密码

十、分词器

分词器是es中一个组件,它会将一段文本按照一定的逻辑,分析成多个词语,同时对这些词语进行常规化的一种工具;ES会将text格式的字段按照分词器进行分词,并编排成倒排索引,正是因为如此,es的查询才如此之快

# 1. 下载指定版本的分词,根据TAG选版本
https://github.com/medcl/elasticsearch-analysis-ik/tree/v7.10.1
或
https://github.com/medcl/elasticsearch-analysis-ik

# 2. 在/data/elasticsearch/plugins/ 目录下新建 ik 目录, 确保这个目录是es用户和用户组
mkdir /data/elasticsearch/plugins/ik

# 3. 将下载的文件放入ik文件夹下并解压,解压完后删掉压缩文件
unzip elasticsearch-analysis-ik-7.10.1.zip

# 4. 进入到解压后的elasticsearch-analysis-ik-7.10.1文件夹下
yum install maven -y
执行
mvn clean install

# 5.1 会在target目录下的release目录中有生成一个zip包,7.10.1版本生成的是一个后缀为ik-7.4.0.zip的压缩包
# 5.2 将该zip包转移到ik目录下,并且将其它文件夹删掉,生成这个文件后就不需要其它文件了
# 5.3 将改zip包解压, 使用unzip命令

# 6. 更改 plugin-descriptor.properties 文件,将下面两个变量改成自己的es版本号即可
version=7.10.1
elasticsearch.version=7.10.1

# 重启es即可,直接kill杀掉重启就行

十一、Kibana安装

#下载对应版本的kibana
https://www.elastic.co/cn/downloads/past-releases#kibana

# 解压
tar -zxvf kibana-7.10.1-linux-x86_64.tar.gz

# 迁移
mv kibana-7.10.1-linux-x86_64 /data/elasticsearch/kibana-7.10.1

# 修改配置
cd /config
vi kibana.yml

server.port: 5601                                    #对外端口
server.host: "0.0.0.0"                               #绑定的IP,0.0.0.0支持外网所有主机访问
elasticsearch.hosts: ["http://192.168.1.1:9200", "http://192.168.1.2:9200","http://192.168.1.3:9200"] #配置elasticsearch服务器地址,开启Xpack时用https
i18n.locale: "zh-CN"                                 #使用中文展示

# 因为kibana不能root启动,设置成es用户
chown -R es:es /data/elasticsearch/kibana-7.10.1
    
# 启动
nohup ./kibana &
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值