elasticsearch 下载安装和概念

一、下载地址

https://www.elastic.co/downloads/past-releases

二、启动

1、解压tar文件,切换到 elasticsearch 目录下,打开终端启动命令:./bin/elasticsearch。

2、elasticsearch 默认的 http 端口是9200,tcp 端口是9300。

3、bin目录:可执行文件目录

     config目录:配置文件目录

     data目录:数据存储目录

     lib目录:第三方依赖库

     logs目录:输出日志目录

     modules目录:依赖模块目录

     plugins目录:插件目录

三、后台启动

./bin/elasticsearch -d    

后台启动,不会再终端打印集群启动的信息。因为 elasticsearch 是运行在 jvm 之上,可以使用 jps (一个 jdk 提供的查看当前 Java 进程的小工具)命令查看 elasticsearch 是否启动成功。

四、关闭 elasticsearch

1、如果 elasticsearch 是在控制台方式输入运行,可以在终端中按 Ctrl+C 组合键来关闭;

2、如果 elasticsearch 是在后台启动,需要首先获取 elasticsearch 的进程id,再使用结束进程的命令,查看 elasticsearch 进程id可以使用 jps 命令,也可以使用 ps aux|grep elasticsearch 命令。

五、配置文件

config 目录是存放配置文件的地方,该目录下的 elasticsearch.yml 是基本配置文件,jvm.options 是虚拟机参数配置文件,log4j2.properties 是日志配置文件。

cluster.name:my-application 配置elasticsearch的集群名称,默认是“elasticsearch”,elasticsearch 会自动发现在同一网段下的 elasticsearch 节点,如果在同一网段下有多个集群,就可以用这个名称来区分不同的集群。

node.name:node-1 配置 elasticsearch 的节点名,默认随机指定一个漫威漫画里的300多个角色的名字,也可以自定义,同一集群中节点名称取不同可以便于区分。

node.master:true 指定该节点是否是master 节点,默认是 true,elasticsearch 会默认集群中的第一台机器是master,如果这个机器出现故障就会重新选举master。

node.data:true 指定该节点是否存储索引数据,默认是 true。

path.data:/path/to/data 设置索引数据的存储路径,默认是 elasticsearch 根目录下的data文件夹,可以设置多个存储路径,用逗号隔开,比如:path.data:/path/to/data1,/path/to/data2

path.logs:/path/to/logs 设置 elasticsearch 日志文件的存储路径,默认是根目录下的 logs 文件夹

bootstrap.mlockall:true 设置 true 来锁住内存。因为当 jvm 开始 swapping 时 elasticsearch 的效率会降低,所以要保证它不 swap,可以把 ES_MIN_MEM 和 ES_MAX_MEM 两个环境变量设置成同一个值,并保证机器有足够的内存分配给 elasticsearch

network.host: 192.168.0.1  设置绑定的IP地址,可以是Ipv4或IPv6的,默认是0.0.0.0

http.port:9200  设置对外服务的 HTTP 端口,默认是9200。

transport.tcp.port:9300 设置节点间的交互的TCP端口,也是JAVA 中使用的端口号,默认是9300。

transport.tcp.compress:true  设置是否压缩 TCP 传输时的数据,默认是 false,不压缩。

http.max_content_length: 100mb  设置内容的最大容量,默认是100mb。

http.cors.enabled:false  是否使用http协议对外提供服务,默认是true。

discovery.zen.minimum_master_nodes:1  设置这个参数来保证集群中的节点可以知道其他N个有master资格的节点,默认是1。

discovery.zen.ping.timeout:3s 设置集群中自动发现其他节点是ping连接超时的时间,默认是3s。

discovery.zen.ping.multicast.enabled:false  设置设置是否打开多播发现节点,默认是true。

discovery.zen.ping.unicast.hosts:["host1", "host2:port", "host3[ "portX - portY ]" ]  设置集群中 master 节点的初始化列表,可以通过设置这些节点来自动发现新加入集群中的节点。

六、核心概念

1、集群

一个或者多个安装 elasticsearch 的服务器节点组织在一起就是集群,他们共同持有整个数据,并一起提供索引和搜索功能。一个集群由一个唯一的名字标识,称为 custer name,集群名称默认是 “elasticsearch”,具有相同集群名称的节点才会组成一个集群。

2、节点

一个节点是集群中的一个服务器,作为集群中的一部分,它存储数据,参与索引和搜索工具。

3、索引

一个索引就是一个拥有几分相似特征的文档集合(相当于关系型数据库中的库),索引的数据结构仍然是倒排索引。

4、类型

在一个索引中可以定义一种或多种类型,一个类型是索引的一个逻辑上的分类或者分区(相当于关系型数据库中的表)。

5、文档

一个文档是一个可被索引的基础信息单元(相当于关系型数据库中的一条记录),文档都是 JSON 格式。

6、分片

一个索引可以存储超出单个节点硬件限制的大量数据。当创建索引的时候可以指定想要的分片数量,每个分片本身也是一个功能完善并且独立的“索引”,这个“索引”可以被放置到集群中任何节点上。

(1)、分片可以水平分割/扩展内容容量;

(2)、允许在分片上进行分布式的、并行的操作,进而提高性能和吞吐量,至于一个分片怎么分布,它的文档怎么聚合回搜索请求,完全是由 elasticsearch 管理,对用户来说,这些都是透明的。

7、副本

elasticsearch 允许创建分片的一份备份或多分拷贝,这些拷贝叫复制分片,或者叫副本。为了解决分片/节点处于离线状态下的可用性。

(1)、在分片/节点失败的情况下,保证高可用性。因为这个原因,复制分片不与主分片布置在同一节点上。

(2)、扩展所搜量和吞吐量,因为搜索可以在所有的副本上进行。

(3)、创建索引的时候可以指定分片和副本的数量。但是索引创建成功之后,任何时候都可以动态的改变副本的数量,但是分片的数量不能修改。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值