单点安装

  1. 进入安装目录:cd /usr/local
  2. 获取安装包:
    1. wget http://172.29.50.31/download/ProgramPackage/elasticsearch/elasticsearch-7.6.2-linux-x86_64.tar.gz
    2. wget http://172.29.50.31/download/ProgramPackage/elasticsearch/elasticsearch-analysis-ik-7.6.2.zip
  3. 解压安装包:tar -zxvf elasticsearch-7.6.2-linux-x86_64.tar.gz
  4. 重命名:mv elasticsearch-7.6.2/ elasticsearch
  5. 安装ik插件
    1. unzip elasticsearch-analysis-ik-7.6.2.zip
    2. 将解压文件拷贝至elasticsearch的plugins文件下:cp -r elasticsearch-analysis-ik-7.6.2 /usr/local/elasticsearch/plugins
  6. 修改配置文件:cd elasticsearch/config/

进入到es安装目录下的config文件夹中,修改elasticsearch.yml 文件,配置示例如下:

cluster.name: robot-elastic
node.name: node-1
path.data: /home/data/elasticsearch
path.logs: /home/logs/elasticsearch
bootstrap.system_call_filter: false
network.host: 0.0.0.0
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.initial_master_nodes: ["node-1"]

按esc输入 :wq 保存并退出

  1. 补齐目录

    1. mkdir -p /home/data/elasticsearch
    2. mkdir -p /home/logs/elasticsearch
  2. 因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户

    1. useradd dicfin
    2. passwd dicfin
  3. 为用户赋权限

chown -R dicfin:dicfin /usr/local/elasticsearch
chown -R dicfin:dicfin /home/data/elasticsearch
chown -R dicfin:dicfin /home/logs/elasticsearch
  1. 修改系统参数:vim /etc/security/limits.conf ,最后追加
* soft nproc 20480
* hard nproc 20480
* soft nofile 65536
* hard nofile 65536
* soft memlock unlimited
* hard memlock unlimited
  • vim /etc/security/limits.d/20-nproc.conf 修改以下
*     soft  nproc   20480
  • vim /etc/sysctl.conf 修改以下,若无则新增
fs.file-max = 655360
vm.max_map_count = 262144
  • sysctl -p 生效
  1. 切换用户启动ES (验证是否初步安装成功)

    1. cd
    2. su dicfin
    3. cd /usr/local/elasticsearch
    4. bin/elasticsearch &

集群安装

es版本:v7.12.0-x86_64

在三个节点部署es集群:(需要提前安装jdk,本文使用的版本为jdk-8u-251,即jdk1.8)

  • 172.50.13.103
  • 172.50.13.104
  • 172.50.13.105

1. 准备

  1. 获取安装包:elasticsearch-7.12.0-linux-x86_64.tar.gz
  2. 解压:tar xf elasticsearch-7.12.0-linux-x86_64.tar.gz
  3. 创建安装目录:mkdir -p /home/{web,data,logs}/elasticsearch
  4. 转移压缩包内容:mv ./elasticsearch-7.12.0/* /home/web/elasticsearch/
  5. 删除es安装包
  6. 创建es用户:
    1. useradd -M elasticsearch
    2. passwd elasticsearch
  7. 授权:
chown -R elasticsearch:elasticsearch /home/web/elasticsearch
chown -R elasticsearch:elasticsearch /home/data/elasticsearch
chown -R elasticsearch:elasticsearch /home/logs/elasticsearch

2. 修改系统参数

/etc/sysctl.conf

fs.file-max = 655360
vm.max_map_count = 262144

执行sysctl -p生效

/etc/security/limits.conf

* soft nproc 20480
* hard nproc 20480
* soft nofile 65536
* hard nofile 65536
* soft memlock unlimited
* hard memlock unlimited

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

修改内容如下:

*     soft  nproc   20480

3. 修改es配置文件

config/jvm.options

-Xms1g
-Xmx1g

以实际情况为准,一般设置为内存的一半最佳。

config/elasticsearch.yml

  • 172.50.13.103
cluster.name: esbigdata
node.name: server1
node.master: true
node.data: true
path.data: /home/data/elasticsearch
path.logs: /home/logs/elasticsearch
bootstrap.memory_lock: true
bootstrap.system_call_filter: true
network.host: 0.0.0.0
http.port: 9200
transport.port: 9300
discovery.seed_hosts: ["172.50.13.103:9300","172.50.13.105:9300"]
cluster.initial_master_nodes: ["server1","server3"]
  • 172.50.13.104
cluster.name: esbigdata
node.name: server2
node.master: true
node.data: true
path.data: /home/data/elasticsearch
path.logs: /home/logs/elasticsearch
bootstrap.memory_lock: true
bootstrap.system_call_filter: true
network.host: 0.0.0.0
http.port: 9200
transport.port: 9300
discovery.seed_hosts: ["172.50.13.103:9300","172.50.13.105:9300"]
cluster.initial_master_nodes: ["server1","server3"]
  • 172.50.13.105
cluster.name: esbigdata
node.name: server3
node.master: true
node.data: true
path.data: /home/data/elasticsearch
path.logs: /home/logs/elasticsearch
bootstrap.memory_lock: true
bootstrap.system_call_filter: true
network.host: 0.0.0.0
http.port: 9200
transport.port: 9300
discovery.seed_hosts: ["172.50.13.103:9300","172.50.13.105:9300"]
cluster.initial_master_nodes: ["server1","server3"]

参数说明:

  • cluster.name:集群名称
  • node.name:节点名
  • node.master:该节点是否有资格被选举为主节点,默认为true
  • node.data:该节点是否存储索引数据,默认为true。如果master和data都为false,则该节点为客户端,负责将集群中的请求转发到主节点
  • path.data:数据存储路径
  • path.logs:日志存储路径
  • bootstrap.memory_lock:锁定只使用物理内存,不使用swap虚拟内存
  • bootstrap.system_call_filter:检测SecComp
  • network.host:若安全起见,可以设置为本机IP
  • http.port:http请求的端口,默认9200
  • transport.port:集群之间通信端口
  • discovery.seed_hosts,用于发现集群节点的主机IP和端口,一般是master节点
  • cluster.initial_master_nodes:初始化⼀个新的集群时需要此配置来选举master

4. 启动

  1. 切换用户:su elasticsearch
  2. 启动:/home/web/elasticsearch/bin/elasticsearch -d
  3. 验证:curl http://172.50.13.103:9300,出现以下内容则集群搭建成功。(如果cluster_uuid为 _na_,则搭建失败)
{
"name" : "server1",
"cluster_name" : "esbigdata",
"cluster_uuid" : "UzHTBNaWSxiyOIJWAUP7Vg",
"version" : {
"number" : "7.12.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "78722783c38caa25a70982b5b042074cde5d3b3a",
"build_date" : "2021-03-18T06:17:15.410153305Z",
"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]部署安装单节点和集群的更多相关文章

  1. 使用Minikube运行一个本地单节点Kubernetes集群(阿里云)

    使用Minikube运行一个本地单节点Kubernetes集群中使用谷歌官方镜像由于某些原因导致镜像拉取失败以及很多人并没有代理无法开展相关实验. 因此本文使用阿里云提供的修改版Minikube创建一 ...

  2. K8s二进制部署单节点 etcd集群,flannel网络配置 ——锥刺股

    K8s 二进制部署单节点 master    --锥刺股 k8s集群搭建: etcd集群 flannel网络插件 搭建master组件 搭建node组件 1.部署etcd集群 2.Flannel 网络 ...

  3. ActiveMQ的单节点和集群部署

    平安寿险消息队列用的是ActiveMQ. 单节点部署: 下载解压后,直接cd到bin目录,用activemq start命令就可启动activemq服务端了. ActiveMQ默认采用61616端口提 ...

  4. Kafka单节点及集群配置安装

    一.单节点 1.上传Kafka安装包到Linux系统[当前为Centos7]. 2.解压,配置conf/server.property. 2.1配置broker.id 2.2配置log.dirs 2. ...

  5. 使用Minikube运行一个本地单节点Kubernetes集群

    使用Minikube是运行Kubernetes集群最简单.最快捷的途径,Minikube是一个构建单节点集群的工具,对于测试Kubernetes和本地开发应用都非常有用. ⒈安装Minikube Mi ...

  6. 使用Rancher Server部署本地多节点K8S集群

    当我第一次开始我的Kubernetes之旅时,我一直在寻找一种设置本地部署环境的方式.很多人常常会使用minikube或microk8s,这两者非常适合新手在单节点集群环境下进行操作.但当我已经了解了 ...

  7. RabbitMq安装(单点与集群)rabbitMq以及状态查询

    集群进入某个节点查看指令:rabbitmqctl cluster_status单机版:docker run -d --name rabbit \-e RABBITMQ_DEFAULT_USER=adm ...

  8. Cloudera Manager安装之利用parcels方式安装单节点集群(包含最新稳定版本或指定版本的安装)(添加服务)(CentOS6.5)(四)

    不多说,直接上干货! 福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑          ...

  9. 记录一个奇葩的问题:k8s集群中master节点上部署一个单节点的nacos,导致master节点状态不在线

    情况详细描述; k8s集群,一台master,两台worker 在master节点上部署一个单节点的nacos,导致master节点状态不在线(不论是否修改nacos的默认端口号都会导致master节 ...

  10. kubeadm安装单master单node节点k8s集群

    操作系统:centos7.6 podSubnet(pod 网段) 10.244.0.0/16 serviceSubnet(service 网段): 10.10.0.0/16 集群角色 IP 主机名 安 ...

随机推荐

  1. #Powerbi 利用时间智能函数,进行周度分析

    在实际工作中,我们往往需要同比分析,月度和年度的分析都有对应的时间智能函数,分别是MTD和YTD,但是缺少了周度的时间智能函数,而 恰恰日常工作中,我们又需要以周度来进行对应的分析,今天我们来学习一下 ...

  2. 2023-04-10:给定两个正整数x、y,都是int整型(java里) 返回0 ~ x以内,每位数字加起来是y的数字个数。 比如,x = 20、y = 5,返回2, 因为0 ~ x以内,每位数字加起

    2023-04-10:给定两个正整数x.y,都是int整型(java里) 返回0 ~ x以内,每位数字加起来是y的数字个数. 比如,x = 20.y = 5,返回2, 因为0 ~ x以内,每位数字加起 ...

  3. 2023-02-18:ffmpeg是c编写的音视频编解码库,请问用go语言如何调用?例子是03输出版本号。

    2023-02-18:ffmpeg是c编写的音视频编解码库,请问用go语言如何调用?例子是03输出版本号. 答案2023-02-18: 用 github.com/moonfdd/ffmpeg-go 这 ...

  4. 2023-01-14:给定一个二维数组map,代表一个餐厅,其中只有0、1两种值 map[i][j] == 0 表示(i,j)位置是空座 map[i][j] == 1 表示(i,j)位置坐了人 根据防

    2023-01-14:给定一个二维数组map,代表一个餐厅,其中只有0.1两种值 map[i][j] == 0 表示(i,j)位置是空座 map[i][j] == 1 表示(i,j)位置坐了人 根据防 ...

  5. 2022-09-18:以下go语言代码输出什么?A:1;B:15;C:panic index out of range;D:doesn’t compile。 package main import

    2022-09-18:以下go语言代码输出什么?A:1:B:15:C:panic index out of range:D:doesn't compile. package main import ( ...

  6. 2021-09-06:给表达式添加运算符。给定一个仅包含数字 0-9 的字符串 num 和一个目标值整数 target ,在 num 的数字之间添加 二元 运算符(不是一元)+、- 或 * ,返回所有

    2021-09-06:给表达式添加运算符.给定一个仅包含数字 0-9 的字符串 num 和一个目标值整数 target ,在 num 的数字之间添加 二元 运算符(不是一元)+.- 或 * ,返回所有 ...

  7. vue全家桶进阶之路11:计算属性

    Vue2 中的计算属性是指在组件中声明的计算属性,它们的值是根据其他数据计算得出的,并且会根据依赖数据的变化而自动更新.计算属性可以在模板中使用,与普通属性一样使用,但是它们具有以下优点: 缓存:计算 ...

  8. Vue 打包后报 Uncaught SyntaxError: Unexpected token ‘<‘

    根本原因在于你的vue.config.js里的publishPath设置的路径是相对路径还是绝对路径 大家都是看别人设置成 process.env.NODE_ENV==='production' ? ...

  9. Abp Vnext 动态(静态)API客户端源码解析

    根据以往的经验,通过接口远程调用服务的原理大致如下: 服务端:根据接口定义方法的签名生成路由,并暴露Api. 客户端:根据接口定义方法的签名生成请求,通过HTTPClient调用. 这种经验可以用来理 ...

  10. Kafka在Linux下的安装和使用

    Kafka简介 Tips:本文主要介绍在Linux系统中安装和使用Lafka的操作步骤. 安装Kafka 访问Kafka官网,下载安装包版本(https://kafka.apache.org/down ...