安装ES集群

本文详细介绍如何从零开始搭建Elasticsearch集群,包括下载、解压、配置环境变量、安装与配置各节点等步骤,并解决集群连接问题,最后验证集群状态。

目录

1.下载elasticsearch

2.解压安装包

3.直接使用es自带的jdk:

4. 创建elasticsearch用户

5.更改elasticsearch文件夹及内部文件的所属用户及组为elsearch:elsearch

6.修改服务器参数

7.修改参数2

8.集群配置:

9.安装分词器:

10.切换用户 elasticsearch

11.单个节点验证:

12.集群验证

遇到的问题:集群节点没有连接

节点重启

es客户端推荐


1.下载elasticsearch

如下:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.2.tar.gz

2.解压安装包

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

3.直接使用es自带的jdk:

cd elasticsearch-7.13.2/bin/elasticsearch-env

修改:

old:

# now set the path to java
if [ ! -z "$ES_JAVA_HOME" ]; then
  JAVA="$ES_JAVA_HOME/bin/java"
  JAVA_TYPE="ES_JAVA_HOME"
elif [ ! -z "$JAVA_HOME" ]; then
  # fallback to JAVA_HOME
  echo "warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME" >&2
  JAVA="$JAVA_HOME/bin/java"
  JAVA_TYPE="JAVA_HOME"

new:

# now set the path to java
if [ ! -z "$ES_JAVA_HOME" ]; then
  JAVA="$ES_JAVA_HOME/bin/java"
  JAVA_TYPE="ES_JAVA_HOME"
elif [ ! -z "$JAVA_HOME" ]; then
  # fallback to JAVA_HOME
  echo "warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME" >&2
 # JAVA="$JAVA_HOME/bin/java"
 # JAVA_TYPE="JAVA_HOME"
   JAVA="$ES_JAVA_HOME/bin/java"
   JAVA_TYPE="ES_JAVA_HOME"
  echo "hello world"

修改部分主要是:


# JAVA="$JAVA_HOME/bin/java"

# JAVA_TYPE="JAVA_HOME"

   JAVA="$ES_JAVA_HOME/bin/java"
   JAVA_TYPE="ES_JAVA_HOME"

这里修改的目的是如果在服务器上面找不到java环境,就使用ES自带的java环境,老版本的es是不自带jdk的,新版是有的,为了防止部署的时候没有提前安装jdk这里直接一劳永逸解决。

4. 创建elasticsearch用户

说明

如果我们当前登录的用户是root用户,然后进入elasticsearch 的 bin目录中执行启命令:./elasticsearch 时会出现错误,

这是出于系统安全考虑设置的条件。由于ElasticSearch可以接收用户输入的脚本并且执行,为了系统安全考虑, 建议创建一个单独的用户用来运行ElasticSearch

创建elasticsearch 用户组及elasticsearch 用户:

groupadd elasticsearch
​
useradd elasticsearch -g elasticsearch -p elasticsearch-7.13.2

5.更改elasticsearch文件夹及内部文件的所属用户及组为elsearch:elsearch

chown -R elasticsearch:elasticsearch elasticsearch-7.13.2

elasticsearch-7.13.2是解压后的elasticsearch的文件夹的名称

6.修改服务器参数

编辑 vim /etc/security/limits.conf,追加以下内容;

*soft nofile 65536
*hard nofile 131072
*soft nproc 2048
*hard nproc 4096

此文件修改后需要重新登录用户,才会生效

7.修改参数2

编辑 vim /etc/sysctl.conf,追加以下内容:  

vm.max_map_count=262144

保存后,执行:

sysctl -p

8.集群配置:

修改 elasticsearch-7.13.2/config/elasticsearch.yml 文件:

主节点所在服务器:74.1.58.216,两个子节点所在服务器分别是:74.1.58.217,74.1.58.218

#主节点:
cluster.name: test-application
node.name: node-1
node.master: true
network.host: 74.1.58.216
http.port: 9200
transport.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.seed_hosts: ["74.1.58.217","74.1.58.218"]
cluster.initial_master_nodes: ["node-1"]
​
#子节点1:
cluster.name: test-application
node.name: node-2
network.host: 74.1.58.217
http.port: 9200
transport.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.seed_hosts: ["74.1.58.216","74.1.58.218"]
cluster.initial_master_nodes: ["node-1"]
​
#子节点2:
cluster.name: test-application
node.name: node-3
network.host: 74.1.58.218
http.port: 9200
transport.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.seed_hosts: ["74.1.58.216","74.1.58.217"]
cluster.initial_master_nodes: ["node-1"]

9.安装分词器:

elasticsearch-7.13.2/bin目录下

./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.13.2/elasticsearch-analysis-ik-7.13.2.zip

如果服务器报错,显示下载不了那么,就本地安装:

下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases 根据es版本下载对应的分词器版本

然后解压到 elasticsearch-7.13.2/plugins目录下的 analysis-ik文件夹里面,即可,如果es已经启动,记得重启。


10.切换用户 elasticsearch

su elasticsearch

进入elasticsearch-7.13.2/bin 执行

./elasticsearch

(这个是前台启动, crtl+C 结束运行)

后台启动命令为:

./elasticsearch -d

注意: 三个节点需要分别指定第十步!


11.单个节点验证:

在浏览器中输入 ip:端口 74.1.58.216:9200

应该会有显示:

{
  "name" : "node-1",
  "cluster_name" : "test-application",
  "cluster_uuid" : "x1PxZAzWSHmyeY6WqPRzzQ",
  "version" : {
    "number" : "7.13.2",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "4d960a0733be83dd2543ca018aa4ddc42e956800",
    "build_date" : "2021-06-10T21:01:55.251515791Z",
    "build_snapshot" : false,
    "lucene_version" : "8.8.2",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

否则说明节点启动有问题

12.集群验证

查看集群节点连接状态,在任意集群的服务器上面输入:

curl -XGET 'http://74.1.58.216:9200/_cluster/health?pretty'

正常情况下回显示:

[root@216 ~]# curl -XGET 'http://74.1.58.216:9200/_cluster/health?pretty'
{
  "cluster_name" : "test-application",
  "status" : "yellow",
  "timed_out" : false,
  "number_of_nodes" : 3,
  "number_of_data_nodes" : 3,
  "active_primary_shards" : 0,
  "active_shards" : 0,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 100
}
[root@216 ~]#

遇到的问题:集群节点没有连接

集群节点之前没有连接起来,经排查是服务器防火墙没关闭

查看防火墙:

systemctl status firewalld

关闭防火墙:

systemctl stop firewalld

节点重启

然后重启es各个节点,

重启方式:先杀死进程,然后后台启动

查找进程:

ps -ef | grep elsatic

找个按个进程id

kill -9 进程id

然后后台启动:

./elasticsearch -d

es客户端推荐

这里推荐一个es集群查看工具 elasticHD ,感觉搜索不是很对,不过可以凑合用,ElasticHD: ElasticHD 是一款 ElasticSearch的可视化应用。不依赖ES的插件安装,更便捷;导航栏直接填写对应的ES IP和端口就可以操作Es了。,无脑安装即可。

本博客仅做学习只用,如有侵权,联系速删!

参考博客:

elasticsearch7已配置JAVA_HOME的情况下使用自带jdk__荣耀之路_的博客-优快云博客_elasticsearch7使用自带jdk

elasticsearch7已配置JAVA_HOME的情况下使用自带jdk__荣耀之路_的博客-优快云博客_elasticsearch7使用自带jdk

启动elasticsearch时报错:找不到本地JDK或者JDK版本不匹配_我是时生的博客-优快云博客

elasticsearch 单机安装 - 谋知 - 博客园

linux下 ElasticSearch 报错bootstrap checks failed [1]: the default discovery settings are unsuitable fo_LICAZ1122的博客-优快云博客

好的,下面是安装 elasticsearch 集群的步骤: 1. 安装 Docker 如果你已经安装了 Docker,可以跳过这一步。如果没有安装 Docker,请先按照官方文档安装 Docker。 2. 创建网络 在 Docker 中创建一个网络,以便于容器之间的通信。可以使用以下命令创建一个名为 es_network 的网络: ``` docker network create es_network ``` 3. 创建 elasticsearch 节点 在 Docker 中创建 elasticsearch 容器。可以使用以下命令创建一个名为 es01 的 elasticsearch 节点: ``` docker run -d --name es01 --net es_network -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.5.2 ``` 这个命令会创建一个名为 es01 的容器,并且将容器的 9200 和 9300 端口映射到主机的 9200 和 9300 端口。同时,设置了环境变量 discovery.type=single-node,表示这个节点是一个单节点的集群。 4. 创建其他节点 可以使用类似的命令创建其他节点。例如,可以使用以下命令创建一个名为 es02 的节点: ``` docker run -d --name es02 --net es_network -e "discovery.seed_hosts=es01" elasticsearch:7.5.2 ``` 这个命令会创建一个名为 es02 的容器,并且设置了环境变量 discovery.seed_hosts=es01,表示这个节点的种子节点是 es01。 可以根据需要创建更多的节点。 5. 验证集群 可以使用以下命令验证 elasticsearch 集群是否正常: ``` curl -XGET http://localhost:9200/_cat/nodes?v ``` 这个命令会输出集群中的节点信息。如果正常工作,应该能够看到所有节点的信息。 好了,以上就是安装 elasticsearch 集群的步骤。希望对你有帮助!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值