环境

主机名 IP 操作系统 ES 版本
test1 192.168.1.2 CentOS7.5 7.0.1
test2 192.168.1.3 CentOS7.5 7.0.1
test3 192.168.1.4 CentOS7.5 7.0.1

下载:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.0.1-linux-x86_64.tar.gz
或者到官网自行下载:https://www.elastic.co/cn/downloads/elasticsearch

各节点初始配置

  • 关闭 selinux、防火墙
  • 部署 java 运行环境
  • 创建 elastic 用户
    useradd -m elastic
  • 创建数据目录
    cd /var/lib
    mkdir elasticsearch
    chown elastic.elastic elasticsearch
  • 创建日志目录
    cd /var/log
    mkdir -p elasticsearch
    chown elastic.elastic elasticsearch
  • 增加 /etc/sysctl.conf 配置,执行 sysctl -p 生效
    vm.max_map_count = 262144
  • 增加 /etc/security/limits.conf 配置
    elastic soft nofile 65536
    elastic hard nofile 65536
    elastic soft memlock unlimited
    elastic hard memlock unlimited

部署 ELASTICSEARCH

  • 登陆 test1,下载 elasticsearch,解压至 /opt/ 下
  • 修改 elasticsearch 目录的权限
    chown -R elastic.elastic /opt/elasticsearch
  • 修改 jvm 参数文件 /opt/elasticsearch/config/jvm.options
  • 修改 /opt/elsaticsearch/config/elasticsearch.yml
    cluster.name: TEST_ES_CLUSTER
    node.name: test1
    network.host: 192.168.1.2
    cluster.initial_master_nodes: ["test1", "test2"]
    path.data: /var/lib/elasticsearch
    path.logs: /var/log/elasticsearch
    bootstrap.memory_lock: true
    discovery.zen.ping.unicast.hosts: ["192.168.1.2", "192.168.1.3", "192.168.1.4"]
    discovery.zen.minimum_master_nodes: 2
    gateway.recover_after_nodes: 2
  • 打包 elasticsearch 目录,复制到 test2 和 test3 上,并修改 elasticsearch.yml
    # test2
    node.name: test2
    network.host: 192.168.1.3
    # test3
    node.name: test3
    network.host: 192.168.1.4

启动集群(两种启动方式)

  • 直接启动二进制

    • 在每个节点上启动 elasticsearch 服务

      su - elastic -c '/opt/elasticsearch/bin/elasticsearch -d'
  • systemd 启动
    • 创建文件 /usr/lib/systemd/system/elasticsearch.service,内容如下

      [Unit]
      Description=ElasticSearch
      Requires=network.service
      After=network.service
      [Service]
      User=elastic
      Group=elastic
      LimitNOFILE=65536
      LimitMEMLOCK=infinity
      Environment=JAVA_HOME=/opt/jre
      ExecStart=/opt/elasticsearch/bin/elasticsearch
      SuccessExitStatus=143
      [Install]
      WantedBy=multi-user.target
    • 启动 elasticsearch 服务
      systemctl daemon-reload
      systemctl start elasticsearch

查看集群状态

  • 查看集群节点状态

    # 查看节点状态
    curl http://192.168.1.2:9200/_cat/nodes?pretty
    # 查看集群状态
    curl http://192.168.1.2:9200/_cluster/state?pretty

安装分词插件

  • 登陆 test1,下载插件 elasticsearch-analysis-ik-7.0.1.zip 至根目录下 地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
  • 复制该文件至 test2 和 test3 的根目录下
  • 每个节点上安装
    su - elastic
    /opt/elasticsearch/bin/elasticsearch-plugin install file:///elasticsearch-analysis-ik-7.0.1.zip
  • 配置远程扩展字典时,出现 java.net.SocketPermission 拒绝连接,此时需配置 jre 策略
    # vim /opt/jre/lib/security/java.policy,在最后一个 "}" 前追加下面一行
    permission java.net.SocketPermission "*:*","accept,connect,resolve";

CentOS7 部署 ElasticSearch7.0.1 集群的更多相关文章

  1. centos7多节点部署redis4.0.11集群

    1.服务器集群服务器 redis节点node-i(192.168.0.168) 7001,7002node-ii(192.168.0.169) 7003,7004node-iii(192.168.0. ...

  2. centos7安装redis-4.0.1集群

    试验机操作系统:CentOS Linux release 7.2.1511 (Core) 本文的目的是教会大家快速搭建redis集群,完了再深入学习. 试问如果不上手试验,看的资料再多有个毛用? 下载 ...

  3. 部署Hadoop2.0高性能集群

    废话不多说直接实战,部署Hadoop高性能集群: 拓扑图: 一.实验前期环境准备: 1.三台主机配置hosts文件:(复制到另外两台主机上) [root@tiandong63 ~]# more /et ...

  4. hype-v上centos7部署高可用kubernetes集群实践

    概述 在上一篇中已经实践了 非高可用的bubernetes集群的实践 普通的k8s集群当work node 故障时是高可用的,但是master node故障时将会发生灾难,因为k8s api serv ...

  5. kubeadm部署kubernetes-1.12.0 HA集群-ipvs

    一.概述 主要介绍搭建流程及使用注意事项,如果线上使用的话,请务必做好相关测试及压测. 1.基础环境准备 系统:ubuntu TLS 16.04  5台 docker-ce:17.06.2 kubea ...

  6. Centos7离线部署kubernetes 1.13集群记录

    一.说明 本篇主要参考kubernetes中文社区的一篇部署文章(CentOS 使用二进制部署 Kubernetes 1.13集群),并做了更详细的记录以备用. 二.部署环境 1.kubernetes ...

  7. hbase-2.0.4集群部署

    hbase-2.0.4集群部署 1. 集群节点规划: rzx1 HMaster,HRegionServer rzx2 HRegionServer rzx3 HRegionServer 前提:搭建好ha ...

  8. 最新二进制安装部署kubernetes1.15.6集群---超详细教程

    00.组件版本和配置策略 00-01.组件版本 Kubernetes 1.15.6 Docker docker-ce-18.06.1.ce-3.el7 Etcd v3.3.13 Flanneld v0 ...

  9. Kubernetes 部署 Nebula 图数据库集群

    Kubernetes 是什么 Kubernetes 是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并且高效,Kubernetes 提供了应 ...

随机推荐

  1. LeetCode 704. 二分查找(Binary Search)

    704. 二分查找 704. Binary Search 题目描述 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target,写一个函数搜索 nums 中的 target,如果 ...

  2. CF1016D Vasya And The Matrix

    题目描述 我们有一个 n * m 的矩阵,现在我会告诉你每一行和每一列的异或和请求出任意一种可能的矩阵 数据范围 1<=n,m<=100输入数据确保在int范围内 输入输出格式: 输入格式 ...

  3. java笔记--java的语言特性

    java的语言特性 1.简单性:例如:java不再支持多继承,而c++是支持多继承的,多继承比较复杂. c++中有指针,java中屏蔽了指针的概念.所以相对来说比较简单. //注:java语言的底层是 ...

  4. Centos 安装mysql8

    Centos 安装mysql ,转载 https://www.cnblogs.com/funbin/p/11154784.html 1.下载mysql wget -i -c https://repo. ...

  5. Jenkins+Git+Maven+Tomcat详细安装步骤

    jenkins安装 jenkins的war包安装 以下war包的安装是直接使用war包内嵌的页面访问,也可以将war包放到tomcat的webapps下通过tomcat访问,在下面的tomcat步骤有 ...

  6. adb命令查看连接PC的移动设备

    cmd窗口中输入adb应会出现上图情况,如果显示不存在则需要网上下载adb工具并在我的电脑-属性-高级系统设置-环境变量中将adb工具的路径加入PATH,如下图: 输入adb devices 可以看到 ...

  7. int and Integer

    int和Integer的区别 1.Integer是int的包装类,int则是java的一种基本数据类型 2.Integer变量必须实例化后才能使用,而int变量不需要 3.Integer实际是对象的引 ...

  8. CentOS7 修改Jenkins以root用户运行

    修改Jenkins以root用户运行,这在正式环境中是不可取的,但在自己的测试环境中就无所谓了啦,怎么方便怎么来. 1. 修改Jenkins配置文件1.1 修改$JENKINS_USER打开jenki ...

  9. c#的一些书写技巧

    从非创建线程访问线程资源 Invoke(new Action<int>((o)=> {  textBox1.Text = (Convert.ToInt32(textBox1.Text ...

  10. Linux下Java变量

    一.JAVA_HOME.PATH.CLASSPATH详解 1.1.JAVA_HOME 指向jdk安装目录,该目录下有bin.lib目录.Eclipse/NetBeans/Tomcat等软件就是通过搜索 ...