美文网首页
搭建elasticsearch7.3.0集群

搭建elasticsearch7.3.0集群

作者: lomo萌神 | 来源:发表于2019-11-28 17:10 被阅读0次

下载

由于官网下载速度非常的慢,这里有国内镜像网下载 可选择版本下载,这篇文章下载7.3.0
https://thans.cn/mirror/elasticsearch.htm

image.png
有自带jdk和无jdk

安装

自带JDK 服务器无需安装jdk, 无jdk需要安装,这里不简述安装jdk

step1、创建文件夹:

mkdir /usr/elasticsearch/

step2、上传tar包并解压;

tar zxvf elasticsearch-7.3.0-linux-x86_64.tar.gz

step3、配置es:

cd /usr/elasticsearch/elasticsearch-7.3.0/config
配置elasticsearch.yml:

vim elasticsearch.yml

主要设置的内容:

cluster.name: my-es #设置集群的名字,要小写
node.name: node-1 #设置节点的名字
network.host: 0.0.0.0 #设置ip地址,使外界可以访问es
http.port: 9200 #设置对外服务的端口,默认是9200
discovery.seed_hosts: ["192.168.1.121:9300", "192.168.1.122:9300","192.168.1:9300"]
discovery.zen.fd.ping_timeout: 1m
discovery.zen.fd.ping_retries: 5
#设置在集群中的所有节点名称,这个节点名称就是之前所修改的
cluster.initial_master_nodes: ["node-1", "node-2","node-3"]
#解决内核版本过低且不升级内核不报错问题
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
#解决跨域问题
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE
http.cors.allow-headers: "X-Requested-With, Content-Type, Content-Length, X-User"

其它几台服务器的配置一样,只需修改node.name: node-2 node.name: node-3 ...

首次启动

由于es需要非root用户来启动,所以我们还需要创建一个用户,并且给这个用户赋权,来启动我们的Elasticsearch

## 新建一个用户 
useradd -d /usr/elasticsearch-7.3.0 -m es
## 为es设置密码, 密码需要输入两次,校验不通过可以不用管他
passwd es
## 给es用户为 elasticsearch-7.3.0文件夹授权
chmod -R 777 /usr/elasticsearch-7.3.0
## 进入Elasticsearch的安装目录下,创建data文件夹来存放数据
mkdir data
  #### 启动Elasticsearch
    ./elasticsearch
    ##或者以守护线程启动则执行
    ./elasticsearch -d 或者 nohup ./elasticsearch  &
    ##查看日志看看是否启动成功
    tail -f nohup.out

首次启动出现这种错误


image.png

解决办法

切换到root用户修改配置sysctl.conf
vi /etc/sysctl.conf 
添加下面配置:
vm.max_map_count=655360
并执行命令:
sysctl -p

添加安全认证

如果不想elasticsearch数据裸奔,可以设置密码,以前需要付费购买的x-pack部分功能,比如最重要的安全插件,已经不需要付费购买了,而是在默认的发布包中。官方给的消息是从6.8 和 7.1 开始默认提供。
配置如下:
第一步:切换到elastsearch的目录下,使用下列命令生成证书

bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""

这里如果报找不到java的问题 就编辑配置文件bin/elasticsearch-env写死jdk的绝对路径

JAVA="/usr/jdk1.8/bin/java"

第二步:打开config/elasticsearch.yaml,在尾部添加下面一行代码:

xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12(这里最好写全路径,可以保证能找到)
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12(这里最好写全路径,可以保证能找到)

第三步:
在主节点服务器上生成的证书直接复制拷贝到另外几台集群上,切记不能每台都生成一个新的证书

最后启动集群es,设置密码
使用cd命令切换到elasticsearch目录,然后使用 bin/elasticsearch-setup-passwords auto 命令自动生成好几个默认用户和密码。 如果想手动生成密码,则使用 bin/elasticsearch-setup-passwords interactive 命令。一般默认会生成好几个管理员账户,其中一个叫elastic的用户是超级管理员

 bin/elasticsearch-setup-passwords auto
 bin/elasticsearch-setup-passwords interactive
image.png

相关文章

网友评论

      本文标题:搭建elasticsearch7.3.0集群

      本文链接:https://www.haomeiwen.com/subject/hxyqwctx.html