发牌SO 发表于 2019-1-29 09:46:44

Elasticsearch 安装与集群配置

  一、软件版本
  操作系统:CentOS-6.5-x86_64
  ES版本:5.0
  主机:192.168.63.246
  主机: 192.168.63.242
  
二、部署环境规划:
  
  1、需求:jdk版本:open-jdk.1.8
  # java-version
  openjdk version"1.8.0_101"
  OpenJDK Runtime Environment(build 1.8.0_101-b13)
  OpenJDK 64-Bit Server VM(build 25.101-b13, mixed mode)
  
  2、下载解压安装即可:
  # cd /test/
  # tar zxvf elasticsearch-5.0.0.tar.gz
  
  3、具体配置:
  # cd config/
  # vim elasticsearch.yml
  
  配置解析:
  集群:
  cluster.name: es-log
  节点:
  node.name: log-1##节点保持唯一性。
  数据和日志存放目录:
  #path.data: /path/to/data
  #path.logs: /path/to/logs   ##默认当前目录下,可以修改
  是否使用swap:
  bootstrap.memory_lock:true
  广播配置:
  discovery.zen.ping.unicast.hosts: ["192.168.63.242","192.168.63.247"]
  discovery.zen.minimum_master_nodes: 1
  
  其他相关系统设置:
  
  Vim /etc/sysctl.conf
  vm.max_map_count= 262144
  sysctl –p
  
  系统打开文件数配置:
  # vim /etc/security/limits.conf
  *hard nofile 65536
  * soft nofile 65536
  
  修改用户打开的线程数,因为es的段要经常打开文件控制索引:
  vim /etc/security/limits.d/90-nproc.conf
  *          soft    nproc    2048
  
  切换到普通用户启动:
  Su – dashuju
  $ ./elasticsearch
  
  #####要是提示,报一些没有启动的目录,直接创建即可,但是想写入日志和数据必须是普通用户有写入权限#####
  
  启动之后:测试有如下显示表示已经安装成功。
  
  # curl-XGET'192.168.63.242:9200'
  {
  "name" :"log-1",
  "cluster_name" :"es-log",
  "cluster_uuid" :"_na_",
  "version" : {
      "number" :"5.0.0",
      "build_hash" :"253032b",
      "build_date" :"2016-10-26T04:37:51.531Z",
      "build_snapshot" :false,
      "lucene_version" :"6.2.0"
  },
  "tagline" : "YouKnow, for Search"
  }
  
  
  4、集群启动设置:

  加入说只有一个节点,那么es就当做自己是一个集群。
  一个节点(node)就是一个Elasticsearch实例,而一个集群(cluster)由一个或多个节点组成,它们具有相同的cluster.name,它们协同工作,分享数据和负载。
  当加入新的节点或者删除一个节点时,集群就会感知到并平衡数据。
  
  
  1、我们已经启动了192.168.63.242这台机器,我们可以现在创建一条索引,然后查看一下单集群的状态:
  # curl -XPOST'192.168.63.242:9200/test/name/1' -d '
  {
  "name":"xiaoluo"
  }'
  ####创建一条test的索引,type为name,id=1
  
  2、然后我们查看一下集群当前的状态:

  ticsearch-5.0.0]# curl-XGET'192.168.63.242:9200/_cluster/health?pretty'
  {
  "cluster_name" :"es-log",
  "status" : "yellow",
  }
  
  主要看一下集群的几个状态:
  
  green    所有主要分片和复制分片都可用
  yellow   所有主要分片可用,但不是所有复制分片都可用
  red不是所有的主要分片都可用
  
  #####可以看到我们现在显示为:yellow的,因为我们只有主分片,而没有复制分片的。
  
  现在我们启动配置好192.168.63.246这个节点:
  
  cluster.name: es-log
  node.name: log-2
  bootstrap.memory_lock: true
  network.host: 192.168.63.246
  discovery.zen.ping.unicast.hosts: ["192.168.63.246","192.168.63.242"]
  discovery.zen.minimum_master_nodes: 1
  
  可以看到相关启动日志:
https://s2.运维网.com/wyfs02/M02/8C/A9/wKioL1h0QbLAvFsuAABC-KDWm2M718.png-wh_500x0-wm_3-wmp_4-s_2439241246.png
  
  我们知道已经加入这个集群了,现在我们看一下集群的相关状态:
  
  # curl -XGET '192.168.63.242:9200/_cluster/health?pretty'
  {
  "cluster_name" :"es-log",
  "status" :"green",
  }
  可以看到集群已经变成绿色,说明我们复制分片是已经可以使用了的,我们在192.168.63.246上面查看一下我们刚刚创建的数据看:
  
  # curl -XGET'192.168.63.246:9200/test/name/1?pretty'
  {
  "_index" :"test",
  "_type" :"name",
  "_id" : "1",
  "_version" : 1,
  "found" : true,
  "_source" : {
      "name" :"xiaoluo"
  }
  }
  ############可以看到数据已经被复制到192.168.63.246上面了。
  
  后面我们测算成功之后,我们集群的配置要稍作修改:
  discovery.zen.minimum_master_nodes: 2###开始设置成1是为了一台测试,宣讲我们推荐大于1台。
  ELK stack 学习资源



页: [1]
查看完整版本: Elasticsearch 安装与集群配置