CentOS安装Elasticsearch集群

前言

        之前使用的ES集群是其他公司维护,没有机会安装,后来做其他项目,终于有机会安装ES集群,简单记录一下备用

一、安装jdk

        安装jdk1.8就可以,可以参考另一篇文章,这里就不细说了

二、修改系统参数

           如果在一台服务器安装集群,则下面的操作在一台服务器执行即可,如果要在多台服务器搭建ES集群,那么下面的操作要在所有的服务器上执行

2.1、内核参数优化

vim /etc/sysctl.conf

添加以下内容

vm.max_map_count = 262144

vm.swappiness = 0

vm.dirty_background_ratio = 3

vm.dirty_ratio = 5

vm.zone_reclaim_mode = 0

vm.min_free_kbytes = 2097152

net.ipv4.tcp_keepalive_time = 600

net.ipv4.tcp_keepalive_intvl = 60

net.ipv4.tcp_keepalive_probes = 3

使用以下命令校验相关配置 

sudo sysctl -p

执行完之后,没有报错。

sysctl -a | grep 'vm.max_map_count' 

可以看到以下配置

vm.max_map_count = 262144

sysctl -a | grep dirty 

可以看到以下配置

vm.dirty_background_ratio = 3

vm.dirty_ratio = 5

2.2、设置资源数

vim /etc/profile 

添加以下内容

ulimit -SHl unlimited

ulimit -SHu 409600

ulimit -SHn 409600

使配置生效  

source /etc/profile

vim /etc/security/limits.conf

添加以下内容

@root            soft    core            unlimited

@root            hard    core            unlimited

*       -       nofile          500000

*       soft    nproc          500000

*       soft    nofile          655350

*       hard    nofile          655350

在profile配置生效后,输入如下命令,查看配置输出信息

ulimit -Hn,输出409600

ulimit -Sn,输出409600

         注意:如果输出的不是该值,请检查vim /etc/bashrc中是否配置了ulimit -n 65535,如果有则注释掉该配置 

2.3、修改线程数

vim /etc/security/limits.d/20-nproc.conf

添加以下内容

*          soft    nproc     500000

root       soft    nproc     unlimited

2.4、修改开机启动项并执行

vim /etc/rc.d/rc.local

增加下列内容(直接复制粘贴):

if test -f /sys/kernel/mm/transparent_hugepage/enabled; then

echo never > /sys/kernel/mm/transparent_hugepage/enabled

fi

if test -f /sys/kernel/mm/transparent_hugepage/defrag; then

echo never > /sys/kernel/mm/transparent_hugepage/defrag

fi

保存并退出,并给rc.local添加可执行权限。

chmod +x /etc/rc.d/rc.local

三、安装ES

3.1、新建ES用户

adduser esuser

3.2、创建ES数据目录

        es的数据目录需要选用数据盘来存放数据,切忌不可存选用系统盘作为存放es的数据

        一台服务器安装三个ES节点, 软件和数据都放在/home/es目录下,master,slave1,slave2目录存放三个节点的程序,maste_data,slave1_data,slave2_data目录存放对应节点的数据

mkdir -p /home/es/master

mkdir -p /home/es/master_data

mkdir -p /home/es/slave1_data

mkdir -p /home/es/slave2_data

        赋权给ES用户 

chown -R esuser:esuser /home/es

        上传安装包到 /home/es目录下,解压到master目录

tar -zxf elasticsearch-7.x-linux-x86_64.tar.gz -C /home/es && mv /home/es/elasticsearch-7.x /home/es/master

3.3、配置jvm.options 

        es节点的最大可使用内存为32g,因此在更改jvm.options配置文件的时候,不要设置超过32g,如果所在服务器可使用内存远超32g,为不浪费剩余资源,可考虑在该服务器上多部署几个es节点。

cd /apps/elasticsearch-7.2.0

vim config/jvm.options

-Xms10g

-Xmx10g

 3.4、配置elasticsearch.yml

cd master

vim config/elasticsearch.yml

cluster.name: my_cluster

node.name: node-101-1

path.data: /home/es/master_data

node.master: true

node.data: true

network.host: 0.0.0.0

http.port: 9200

transport.tcp.port: 9300

cluster.initial_master_nodes:["node-101-1","node-101-2","node-101-3"]

discovery.seed_hosts:["192.168.0.101:9300","192.168.0.101:9301","192.168.0.101:9302"]

gateway.recover_after_nodes: 3

http.cors.enabled: true

http.cors.allow-origin: "*"

cluster.routing.allocation.cluster_concurrent_rebalance: 10

cluster.routing.allocation.node_concurrent_recoveries: 10

cluster.routing.allocation.node_initial_primaries_recoveries: 4

配置说明

cluster.name: es集群的名称,可以自定义,但要保证集群中每一个node的cluster.name名称一致。

node.name: 节点的名称,可以自定义。

path.data: 存储数据目录,如果有多个磁盘,用”,”进行分隔。

node.master: true表示是否为master节点,true为是,false为否。

node.data: true表示是否为数据节点,true为是,false为否。

network.host: 0.0.0.0表示绑定的ip地址, 0.0.0.0表示绑定本机ip。

http.port: HTTP请求的端口号,默认9200~9299端口之间。

transport.tcp.port: nodes节点之前通信端口号,默认9300~9400端口之间。

cluster.initial_master_nodes:是es7.x 之后新增的配置,表示初始化一个新的集群时需要此配置来选举master,必须和node.name保持一致

discovery.seed_hosts: 是es7.x 之后新增的配置,表示写入候选主节点的设备地址,在开启服务后可以被选为主节点。

gateway.recover_after_nodes: 2表示只要满足该数值的数据或主节点已加入集群,即可恢复。

http.cors.enabled: true表示是否支持跨域,是:true,在使用head插件时需要此配置。

http.cors.allow-origin: "*" “*” 表示支持所有域名。

cluster.routing.allocation.cluster_concurrent_rebalance: 10表示集群内同时启动的数据任务个数,默认是2个。

cluster.routing.allocation.node_concurrent_recoveries: 10表示添加或删除节点及负载均衡时并发恢复的线程个数,默认4个。

cluster.routing.allocation.node_initial_primaries_recoveries: 4表示初始化数据恢复时,并发恢复线程的个数,默认4个。

3.5、启动脚本

编辑简单的启动脚本启动ES

cd master

vim start.sh

#!/bin/sh

cd `dirname $0`

su esuser -c "sh ./bin/elasticsearch -d -p pid"

添加执行权限 

chmod +x start.sh 

3.6、配置其他节点

复制master到其他节点,修改对应的elasticsearch.yml配置即可,主要修改红色的配置,

cp -r /home/es/master /home/es/slave1

cp -r /home/es/master /home/es/slave2

其他服务器使用scp命令

scp -r /home/es/master root@ip:/home/es/master

四、启用集群安全认证

4.1、停止服务

jps -l

kill pid

4.2、 生成证书

注意:不需要设置密码,直接回车,后面如果有需要输入密码,也是直接回车。

./bin/elasticsearch-certutil ca 

./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

执行完之后,会生成两个文件,elastic-certificates.p12和elastic-stack-ca.p12

拷贝到master的config目录下和其他节点的congfig目录下

4.3、修改配置

master节点的elasticsearch.yml添加以下配置,其他节点添加对应的配置,注意证书文件的路径

xpack.security.enabled: true

xpack.security.transport.ssl.enabled: true

xpack.security.transport.ssl.verification_mode: certificate

xpack.security.transport.ssl.keystore.path:/home/es/master/config/elastic-certificates.p12

xpack.security.transport.ssl.truststore.path:/home/es/master/config/elastic-certificates.p12

4.4、启动服务

 ./start.sh

4.4、设置密码

./bin/elasticsearch-setup-passwords interactive

要输入12次密码,都输入一样的就可以了

五、安装Kibana

上传并解压

tar -zxf  kibana-7.x-linux-x86_64.tar.gz

赋权给esuser

chown -R esuser:esuser kibana-7.x-linux-x86_64

备份配置文件

mv kibana.yml kibana.yml_bak

编辑配置文件

vim config/kibana.yml

添加一下配置,按照具体的配置修改,如果es集群没有配置密码则不用配置

i18n.locale: "zh-CN"

server.port: 5601

server.host: "0.0.0.0"

elasticsearch.hosts: "http://ip:9200"

elasticsearch.username: "kibana-system"

elasticsearch.password: "123456"

kibana.index: ".kibana"

编辑启动脚本

vim start.sh

#!/bin/bash

su esuser -c "nohup bin/kibana >./stdout.log 2>&1 &"

启动

./start.sh

浏览器访问ip:5601,输入es的用户名和密码即可

写在最后的话

        集群安装也可以编写脚本完成一键安装,通过scp把安装包拷贝到其他节点。启用安全认证可以在3.3步骤后执行,就不用多配置了,一次配置就好了。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,您可以按照以下步骤在 CentOS安装 Elasticsearch: 1. 安装 Java Elasticsearch 是一个基于 Java 的应用程序,因此需要先安装 Java。可以使用以下命令安装 OpenJDK: ``` sudo yum install java-1.8.0-openjdk ``` 2. 下载 Elasticsearch 可以从 Elasticsearch 官方网站下载 Elasticsearch,使用以下命令下载 Elasticsearch: ``` wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.0-linux-x86_64.tar.gz ``` 3. 解压缩 Elasticsearch 使用以下命令解压缩 Elasticsearch: ``` tar -xzf elasticsearch-7.13.0-linux-x86_64.tar.gz ``` 4. 启动 Elasticsearch 使用以下命令启动 Elasticsearch: ``` cd elasticsearch-7.13.0 ./bin/elasticsearch ``` 5. 验证 Elasticsearch 是否在运行 在浏览器中访问以下 URL,验证 Elasticsearch 是否在运行: ``` http://localhost:9200/ ``` 如果 Elasticsearch 正在运行,将会看到类似下面的输出: ``` { "name" : "node-1", "cluster_name" : "elasticsearch", "cluster_uuid" : "JBS1LBYNQ9Gc5D8b07wHNg", "version" : { "number" : "7.13.0", "build_flavor" : "default", "build_type" : "tar", "build_hash" : "5ca8591c6fcdbfabdca881d2a24ac824bde0cbe1", "build_date" : "2021-05-19T01:20:33.671820Z", "build_snapshot" : false, "lucene_version" : "8.8.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" } ``` 这就是在 CentOS安装 Elasticsearch 的简单步骤。 ### 回答2: 安装Elasticsearch步骤如下: 1. 首先,我们需要在CentOS安装Java。可以使用以下命令安装OpenJDK: ``` sudo yum install java-1.8.0-openjdk-devel ``` 2. 进入Elasticsearch官网(https://www.elastic.co/cn/elasticsearch/)下载最新版本的Elasticsearch。可以选择下载tar.gz或zip文件,根据自己的需求选择。 3. 下载完成后,将文件解压到指定的目录。可以使用以下命令解压tar.gz文件: ``` tar -zxvf elasticsearch-7.12.1-linux-x86_64.tar.gz ``` 4. 解压完成后,进入解压目录,找到config/elasticsearch.yml文件并编辑它。你可以使用vim或其他编辑器打开它: ``` cd elasticsearch-7.12.1 vim config/elasticsearch.yml ``` 5. 在elasticsearch.yml文件中,你可以配置各种参数,如集群名称、节点名称等。在此步骤中,你可以根据自己的需求进行配置,或者保持默认配置。 6. 配置完成后,保存并退出elasticsearch.yml文件。 7. 打开一个新的终端窗口,使用以下命令启动Elasticsearch: ``` ./bin/elasticsearch ``` 8. Elasticsearch会在后台启动。你可以使用curl命令检查是否成功启动: ``` curl -XGET http://localhost:9200 ``` 如果返回类似以下的信息,则表示Elasticsearch已经成功安装和启动: ``` { "name" : "xJYau_G", "cluster_name" : "elasticsearch", "cluster_uuid" : "xxxxxxxxxx", "version" : { "number" : "7.12.1", "build_flavor" : "default", "build_type" : "tar", "build_hash" : "XXXXXXX", "build_date" : "2021-05-10T03:00:28.96632Z", "build_snapshot" : false, "lucene_version" : "8.8.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" } ``` 恭喜你,你已经成功安装Elasticsearch! ### 回答3: CentOS是一种基于Linux的操作系统,安装Elasticsearch可以通过以下步骤: 1. 打开终端,以root用户身份登录系统。 2. 首先,确保已经安装了Java运行时环境(JRE)或Java开发工具包(JDK)。可以运行以下命令来检查是否安装了Java:`java -version`。 3. 如果未安装Java,请运行以下命令来安装OpenJDK 8: ``` yum install java-1.8.0-openjdk ``` 4. 下载Elasticsearch安装包。可以在Elasticsearch官方下载页面选择适合的版本。使用wget命令下载最新的版本: ``` wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.15.1-x86_64.rpm ``` 5. 安装Elasticsearch。运行以下命令: ``` rpm -ivh elasticsearch-7.15.1-x86_64.rpm ``` 6. 安装完成后,启动Elasticsearch服务: ``` systemctl start elasticsearch ``` 7. 验证Elasticsearch是否成功启动。运行以下命令: ``` curl -X GET http://localhost:9200 ``` 如果成功启动,您将看到一些有关Elasticsearch的信息。 8. 安装完成后,您还可以配置Elasticsearch以满足您的需求。配置文件位于`/etc/elasticsearch/elasticsearch.yml`。 9. 配置完毕后,重新启动Elasticsearch服务以使更改生效: ``` systemctl restart elasticsearch ``` 以上是在CentOS安装Elasticsearch的基本步骤。您可以根据自己的需求进行更多的配置和调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值