赞
踩
下载地址:https://www.elastic.co/cn/downloads/elasticsearch
或者是百度网盘:链接:下载elasticsearch安装包 提取码:khm2
先安装jdk:
[root@qf01 ~]# yum install -y java-1.8.0-openjdk-devel
将安装包放到liunx的root目录下(可以自由放):
elasticsearch-8.1.1-linux-x86_64.tar.gz
接下来进行解压:
[root@qf01 ~]# tar ‐zvxf elasticsearch-8.1.1-linux-x86_64.tar.gz ‐C /usr/local/elasticsearch
- [root@qf01 ~]# cd /usr/local/elasticsearch
- [root@qf01 ~]# mkdir data
- [root@qf01 ~]# mkdir log
- [root@qf01 ~]# cd config
- [root@qf01 ~]# vi elasticsearch.yml
8.1.1对应版本的yml是这样配置的:
添加如下内容:这里的配置要小心了,不同版本的elasticsearch中的节点可能并不是跟我相同的,方法也比较简单,就是从上到下,看下yml,都是差不多的
#集群01:
cluster.name: wtt-els
node.name: els-101
path.data: /usr/local/elasticsearch/data
path.logs: /usr/local/elasticsearch/log
#network.host 需要写成0.0.0.0的格式
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["192.168.10.101", "192.168.10.102","192.168.10.103"]
#cluster.initial_master_nodes 指定master机器,master只会有一个,所以都是相同的,这里了选择els-101作为主节点
cluster.initial_master_nodes: ["els-101"]
- [root@qf01 ~]# cd /usr/local/elasticsearch/config
- [root@qf01 config]# vi jvm.options
修改jvm.option,调整jvm堆内存大小,这里因为我的是虚拟机,没有太大内存,所以我给了1g,这个设置的原则上最大不超过内存的80%,一般设置为50%
-Xms1g
-Xmx1g
以上是在一台电脑上,配置的elasticsearch,目前已经配置完毕,那其它电脑怎么办呢?
1、scp 命令进行分发
2、或者都按照1-4的命令其它节点进行操作,即也可以安装elasticsearch
两种方法任选一种,你认为可行的
每个节点都需要改动elasticsearch.yml
#集群02:
cluster.name: wtt-els
node.name: els-102
path.data: /usr/local/elasticsearch/data
path.logs: /usr/local/elasticsearch/log
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["192.168.10.101", "192.168.10.102","192.168.10.103"]
cluster.initial_master_nodes: ["els-101"]
#集群03:
cluster.name: wtt-els
node.name: els-103
path.data: /usr/local/elasticsearch/data
path.logs: /usr/local/elasticsearch/log
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["192.168.10.101", "192.168.10.102","192.168.10.103"]
cluster.initial_master_nodes: ["els-101"]
1、elasticsearch 不能用root账号启动,所以需要新增用户
- [root@qf01 ~]# groupadd elasticsearch
- [root@qf01 ~]# useradd es1
- [root@qf01 ~]# passwd es1
-
-
- [root@qf01 ~]# usermod ‐G elasticsearch es1
- [root@qf01 ~]# chown ‐R es1 /usr/local/elasticsearch
2、设置sudo权限
#让普通用户有更大的操作权限,一般都会给普通用户设置sudo权限,方便普通用户的操作
- [es1@qf01 root]# visudo
- #添加
- es1 ALL=(ALL) ALL
避坑1:max file descriptors [4096] for elasticsearch process likely too low,increase to at least [65536]
解释:解除linux系统当中打开文件最大数目的限制
- [root@qf01 ~]# su es1
- [es1@qf01 root]# sudo vi /etc/security/limits.conf
#添加:注意哦,这里是用新建的用户添加的,且一定要注意内容中间的空格什么的,最好,直接复制过去就行了,我反正是已经被坑过了
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
避坑2:max number of threads [1024] for user [es] likely too low, increase to at least [4096]
解释:修改普通用户可以创建的最大线程数
- [root@qf01 ~]# su es1
- [es1@qf01 root]# sudo vi /etc/security/limits.d/20‐nproc.conf
# 修改
soft nproc 1024
#修改为
soft nproc 4096
避坑3:max virtual memory areas vm.max_map_count [65530] likely too low,increase to at least [262144]
解释:调大普通用户虚拟内存
- [root@qf01 ~]# su es1
- [es1@qf01 root]# vi /etc/sysctl.conf
#添加:
vm.max_map_count=655360
添加完后,执行:
[es1@qf01 root]# sysctl ‐p
坑1,坑2,坑3,注意都是在新建的账户下操作,都需要重新登录账号才能生效
避坑4:ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.bootstrap check failure [1] of [1]: Transport SSL must be enabled if security is enabled. Please set [xpack.security.transport.ssl.enabled] to [true] or disable security by setting [xpack.security.enabled] to [false]
解释:按照这个错误来说,就是要设置个属性
- [root@qf01 ~]# su es1
- [es1@qf01 root]# cd /usr/local/elasticsearch/config
- [es1@qf01 root]# vi elasticsearch.yml
添加:
xpack.security.enabled: false
首先要关闭防火墙
- [root@qf01 ~]# systemctl stop firewalld
- [root@qf01 ~]# systemctl disable firewalld
- [root@qf01 ~]# su es1
- [es1@qf01 root]# cd /usr/local/elasticsearch/bin
- [es1@qf01 root]# ./elasticsearch
启动起来,发现,报错:received plaintext traffic on an encrypted channel, closing connection Netty4TcpChannel{localAddress。。。。
是因为开启了ssl认证,可以把这个去掉
- [root@qf01 ~]# su es1
- [es1@qf01 root]# cd /usr/local/elasticsearch/config
- [es1@qf01 root]# vi elasticsearch.yml
找到xpack.security.http.ssl,
xpack.security.http.ssl:
enabled: false
keystore.path: certs/http.p12
重新启动:
- [es1@qf01 root]# cd /usr/local/elasticsearch/bin
- [es1@qf01 root]# ./elasticsearch
启动以后,用http://IP:9200/ 进行验证,如果出现如下画面,说明启动成功
{ "name" : "els-101", "cluster_name" : "wtt-els", "cluster_uuid" : "2SAx4aG_R8yljSUEAHbLsQ", "version" : { "number" : "8.1.1", "build_flavor" : "default", "build_type" : "tar", "build_hash" : "d0925dd6f22e07b935750420a3155db6e5c58381", "build_date" : "2022-03-17T22:01:32.658689558Z", "build_snapshot" : false, "lucene_version" : "9.0.0", "minimum_wire_compatibility_version" : "7.17.0", "minimum_index_compatibility_version" : "7.0.0" }, "tagline" : "You Know, for Search" }
启动成功以后,可以断开,改用后台启动:
- [es1@qf01 root]# cd /usr/local/elasticsearch/bin
- [es1@qf01 root]# ./elasticsearch -d
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。