首先要确保有java8的环境,安装方法如下(centos)

  wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.rpm
rpm -ivh jdk-8u161-linux-x64.rpm
https://www.baidu.com/link?url=cn60GecIBvDt9OvD_nQK9CR0TwbwxLM2DtpYNIptUGtNMG89ELhbPCNFg0xDlT205HcG88QVruw1Zgte5Nim620OPshtt3hKq1zACpJQ3WTCSwtKUO2sdnVzpUjrbuQ2&wd=&eqid=e3cf42960002cb16000000055bee8e9f 这个地址就是官网的jdk下载地址,

环境安装完毕,下载elesticsearch,这里如果需要其他版本直接改末尾的版本号就可以下载其他版本的

 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.2.zip

解压elasticsearch-5.5.2.zip

 unzip elasticsearch-5.5..zip

2 mv elasticsearch-5.5.2 elasticsearch

如果没有unzip这个命令的话可以先运行

 yum install unzip

elasticsearch不能直接用root账户运行,所以需要创建一个用户,而且需要将elasticsearch文件夹属主修改为新创建的这个用户,不然的话启动的时候会有一些权限引起的错误

因为这时候并不知道root的密码,所以先给root创建一个密码

passwd root

然后输入密码

接着创建用户并修改文件夹属主和属组

groupadd elasticsearch
useradd elasticsearch -g elasticsearch
passwd elasticsearch 

chown -R elasticsearch:elasticsearch elasticsearch

打开位于elasticsearch文件夹中/conifg目录下的 elasticsearch.yml配置文件修改配置

cluster.name: elas_cluster   集群的名字

node.name: node-q1   节点的名称

node.master: true
node.data: true

配置文件中给出了三种配置高性能集群拓扑结构的模式,如下:

1. 如果你想让节点从不选举为主节点,只用来存储数据,可作为负载器

node.master: false

node.data: true

2. 如果想让节点成为主节点,且不存储任何数据,并保有空闲资源,可作为协调器

node.master: true

node.data: false

3. 如果想让节点既不称为主节点,又不成为数据节点,那么可将他作为搜索器,从节点中获取数据,生成搜索结果等

node.master: false

node.data: false

默认情况是两个都是true,如果没几台服务器的话就用默认的就可以了。

network.host: 192.168.0.1 绑定的ip,设置为0.0.0.0后可以用外网访问

network.publish_host: 192.168.0.1  指定elasticsearch节点对外的监听地址,就是外网地址,搭建集群的时候最好指定一下,否则可能集群没办法启动,默认应该是去监听内网地址的

node.attr.rack: r2  给节点添加额外属性,这个暂时没发现什么用处

path.data: /path/to/data    数据保存的目录
path.logs: /path/to/logs    日志保存的目录

bootstrap.memory_lock: true  禁止内存交换,最好设置为false,不然非常影响性能,如果因为这个启动的时候报错,可以去修改limits.conf,配置下面有说

http.port:9200     路由地址端口

transport.tcp.port:9300     TCP协议转发地址端口,像java使用这个端口去操作

注:ES默认的HTTP监听端口是9200,如果当前被占用,则在9200~9300范围内递增;另外TCP的默认监听端口是9300,如果当前被占用,则再9300~9400范围内递增。所以单机少量节点,不配置具体端口的话,也是可以运行的。

discovery.zen.ping.unicast.hosts: ["192.168.36.130", "192.168.36.132:9300"]      单播的地址,配置集群中其他节点的ip,新加入的节点通过这些ip同步到集群,这里的端口应该使用transport.tcp.port端口

discovery.zen.minimum_master_nodes: 2        master节点是选取出来的,一个集群只能有一个,以上node.master: true配置是说该节点具有被选举的权利,而现在这个配置就是告诉 Elasticsearch 当没有足够 master 候选节点的时候,就不要进行 master 节点选举,等 master 候选节点足够了才进行选举。(因为你是一台台去启动服务器的) 这样是为了防止集群中同时存在两个master,这个数值应该配置为 ( master 候选节点个数 / 2) + 1。所以要高可用的话至少三台以上有被选举权。

gateway.recover_after_nodes: 2  通俗来说就是等集群有几个节点启动起来了再来选举master,分配分片数据什么的,这里配得不好可能有的问题就是启动的时候可能会多耗点性能

index.number_of_shards: 5       设置索引的分片数,默认为5    分片的意思就是一整个索引文档,分成5个部分去保存

index.number_of_replicas: 1      设置索引的副本数,默认为1  1个副本相当于一个备份

配置一下

  vi /etc/security/limits.conf 
 
添加如下内容:
 *  soft nofile 65536
 * hard nofile 131072
 * soft nproc 2048
 * hard nproc 4096
 *  soft memlock unlimited
 * hard memlock unlimited
再敲个命令
  ulimit -l unlimited 
 
修改 /etc/sysctl.conf
文件末尾添加 vm.max_map_count=655360
 
报存后退出

敲命令

sysctl -w vm.max_map_count=655360

这时候可能会因为服务器内存原因遇到一个错误   Cannot allocate memory

在elasticsearch目录下执行 vim  config/jvm.options

修改内存

-Xms256m

-Xmx256m

(根据自己服务器内存设置)

一切就绪后启动

切换到elasticsearch用户,否则root用户下启动会抛异常

su elasticsearch

elasticsearch目录下bin中运行  ./elasticsearch

启动的时候发现报错,而且可能一次又一次,一次好几个错,错误这里就不说了,主要都是因为账户权限,内存线程什么引起的,网上的解决方法很多,随便贴几个链接

https://blog.csdn.net/gongpulin/article/details/78568595

https://blog.csdn.net/u013083576/article/details/78499884

单个成功访问ip地址加端口后,端口是http.port端口

集群健康查看 ip加端口加上/_cluster/health

如果需要安装ik分词器的,可以在 https://github.com/medcl/elasticsearch-analysis-ik/releases 找到对应的版本  elasticsearch-analysis-ik-x.x.x.zip  下载解压,最后将解压后的文件拷贝到 elasticsearch文件夹的 /plugin/ 文件夹中,启动es就ok了

elasticsearch简单的安装以及集群配置详解的更多相关文章

  1. Apache + Tomcat集群配置详解 (1)

    一.软件准备 Apache 2.2 : http://httpd.apache.org/download.cgi,下载msi安装程序,选择no ssl版本 Tomcat 6.0 : http://to ...

  2. 使用apache和nginx代理实现tomcat负载均衡及集群配置详解

    实验环境: 1.nginx的代理功能 nginx proxy: eth0: 192.168.8.48 vmnet2 eth1: 192.168.10.10 tomcat server1: vmnet2 ...

  3. ElasticSearch入门 第二篇:集群配置

    这是ElasticSearch 2.4 版本系列的第二篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...

  4. rocketMq安装及集群配置

    网上关于rocketMq安装.集群配置的文章有很多,作为一个初学者,跟着网上的各种教程安装遇到了各种坑,可谓是一路坎坷.本文记录下rocketMq安装的完整过程.希望对你有一点帮助 安装rocketM ...

  5. [转帖]Application Request Route实现IIS Server Farms集群负载详解

    Application Request Route实现IIS Server Farms集群负载详解  https://www.cnblogs.com/knowledgesea/p/5099893.ht ...

  6. MySQL集群搭建详解

    概述 MySQL Cluster 是MySQL 适合于分布式计算环境的高实用.可拓展.高性能.高冗余版本,其研发设计的初衷就是要满足许多行业里的最严酷应用要求,这些应用中经常要求数据库运行的可靠性要达 ...

  7. Solr系列二:solr-部署详解(solr两种部署模式介绍、独立服务器模式详解、SolrCloud分布式集群模式详解)

    一.solr两种部署模式介绍 Standalone Server 独立服务器模式:适用于数据规模不大的场景 SolrCloud  分布式集群模式:适用于数据规模大,高可靠.高可用.高并发的场景 二.独 ...

  8. Elasticsearch 安装与集群配置

    一.软件版本 操作系统:CentOS-6.5-x86_64 ES版本:5.0 主机:192.168.63.246 主机: 192.168.63.242 二.部署环境规划:   1. 需求:jdk版本: ...

  9. rabibtMQ安装及集群配置-linux

    安装RabbitMQ RabbitMQ是流行的开源消息队列系统,用erlang语言开发,故首先需要安装erlang依赖及erlang. 安装erlang依赖的基本环境,通过yum方式进行安装: yum ...

随机推荐

  1. ScriptManager的使用方法 .(转)

    从这一节开始我将和大家一起学习ASP.NET AJAX的服务器端控件的用法.首先,安装ASPAJAXExtSetup.msi,可以到微软官方网站上去下载.安装之后当你新建项目的时候会多出一个ASP.N ...

  2. POP3、SMTP端口(SSL、TSL)

    POP3服务器地址: 110           995 支持SSLSMTP服务器地址: 25            465 或者 587 支持SSL(TSL) 465端口是SSL/TLS通讯协议的 ...

  3. Java面试基本知识

    Java基本知识 基本知识 服务器:Tomcat 支持Servlet jsp JBoss 开源应用服务器 Apache:最广泛的http服务器,只支持静态网页 String是长度不可变,用+=的时候会 ...

  4. BZOJ4446:[SCOI2015]小凸玩密室(树形DP)

    Description 小凸和小方相约玩密室逃脱,这个密室是一棵有n个节点的完全二叉树,每个节点有一个灯泡.点亮所有灯泡即可逃出密室. 每个灯泡有个权值Ai,每条边也有个权值bi.点亮第1个灯泡不需要 ...

  5. [USACO11JAN]Roads and Planes

    嘟嘟嘟 这道题他会卡spfa,不过据说加SLF优化后能过,但还是讲讲正解吧. 题中有很关键的一句,就是无向边都是正的,只有单向边可能会有负的.当把整个图缩点后,有向边只会连接在每一个联通块之间(因为图 ...

  6. Presentation 常用的承接句——技术分享、学术报告串联全场不尴尬

    前言 现在即使是搞技术,做科研的,也需要在不同的场合,用ppt来做分享,做汇报,做总结. 如果国际会议,研讨会,或者在外企,国外工作,英文的presentation就更加必不可少.英语的提升需要大家从 ...

  7. python自动化测试框架学习

    今天发现python有多个框架可以用于自动化测试方面,下面整理了下splinter和urllib2框架,对于pywinauto框架和ruby框架先记录下以后需要用到再学习. python有个splin ...

  8. Apollo GPS调试笔记

    前言:在Apollo美研团队的支持下,最近完成了Apollo推荐的Novatel PP7与我们的基站调试,在这里对Apollo的笔记做一个补充,希望以后的开发者不用在踩我们踩过的坑. 在自己调导航(h ...

  9. [Luogu1282]多米诺骨牌(DP)

    #\(\color{red}{\mathcal{Description}}\) \(Link\) 我们有一堆多米诺骨牌,上下两个部分都有点数,\(But\)我们有一个操作是可以对调上下的点数.若记一块 ...

  10. Swift 开发语法

    文/Tuberose(简书作者)原文链接:http://www.jianshu.com/p/5e2d4c34f18e著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 简介 Swift 语 ...