我是靠谱客的博主 俏皮裙子,最近开发中收集的这篇文章主要介绍elasticsearch安装与使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1.下载及安装

    从官网www.elasticsearch.org下载elasticsearch版本后,解压文件,我下载的linux下的版本是

elasticsearch-1.3.1.tar.gz

然后解压在目录bin下运行

cd elasticsearch-1.3.1/bin

./elasticsearch

如果想在后台启动加上参数-d,

不过运行前首先安装了jdk,不过官方推荐使用Java 8 update 20 之后, 或者 Java 7 update 55 or 之后. 这些之前版本的好像会有bug或出现数据丢失.

启动之后可以看到如下信息

[2014-12-14 21:53:46,990][INFO ][node                     ] [mynode] version[1.3.1], pid[7722], build[2de6dc5/2014-07-28T14:45:15Z]
[2014-12-14 21:53:46,990][INFO ][node                     ] [mynode] initializing ...
[2014-12-14 21:53:47,138][INFO ][plugins                  ] [mynode] loaded [jdbc-1.3.4.4-d2e33c3], sites [kopf, bigdesk, head]
[2014-12-14 21:53:52,048][INFO ][node                     ] [mynode] initialized
[2014-12-14 21:53:52,048][INFO ][node                     ] [mynode] starting ...
[2014-12-14 21:53:52,330][INFO ][transport                ] [mynode] bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/192.168.1.107:9300]}
[2014-12-14 21:53:52,399][INFO ][discovery                ] [mynode] mycluster/twtuKzSBSUe4PHYHFOOZtw
[2014-12-14 21:53:55,417][INFO ][cluster.service          ] [mynode] new_master [mynode][twtuKzSBSUe4PHYHFOOZtw][tonva-N53SV][inet[/192.168.1.107:9300]]{master=true}, reason: zen-disco-join (elected_as_master)
[2014-12-14 21:53:55,454][INFO ][http                     ] [mynode] bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/192.168.1.107:9200]}
[2014-12-14 21:53:55,456][INFO ][node                     ] [mynode] started
[2014-12-14 21:53:56,312][INFO ][gateway                  ] [mynode] recovered [2] indices into cluster_state
[2014-12-14 21:53:58,024][INFO ][river.jdbc.JDBCRiver     ] scheduled river instance with cron expressions [0/20 * * * * ? *]
[2014-12-14 21:54:00,012][INFO ][river.jdbc.RiverThread   ] scheduled metrics thread at 60 seconds
[2014-12-14 21:54:00,014][INFO ][river.jdbc.RiverThread   ] scheduled suspend check thread at 1 seconds
[2014-12-14 21:54:00,155][INFO ][index.shard.service      ] [mynode] [firsttime][4] updating refresh_interval from [1s] to [-1]
[2014-12-14 21:54:00,155][INFO ][index.shard.service      ] [mynode] [firsttime][3] updating refresh_interval from [1s] to [-1]
[2014-12-14 21:54:00,156][INFO ][index.shard.service      ] [mynode] [firsttime][1] updating refresh_interval from [1s] to [-1]
[2014-12-14 21:54:00,156][INFO ][index.shard.service      ] [mynode] [firsttime][2] updating refresh_interval from [1s] to [-1]
[2014-12-14 21:54:00,157][INFO ][index.shard.service      ] [mynode] [firsttime][0] updating refresh_interval from [1s] to [-1]
[2014-12-14 21:54:00,828][INFO ][index.shard.service      ] [mynode] [firsttime][4] updating refresh_interval from [-1] to [1s]
[2014-12-14 21:54:00,828][INFO ][index.shard.service      ] [mynode] [firsttime][3] updating refresh_interval from [-1] to [1s]
[2014-12-14 21:54:00,828][INFO ][index.shard.service      ] [mynode] [firsttime][1] updating refresh_interval from [-1] to [1s]
[2014-12-14 21:54:00,828][INFO ][index.shard.service      ] [mynode] [firsttime][2] updating refresh_interval from [-1] to [1s]
[2014-12-14 21:54:00,829][INFO ][index.shard.service      ] [mynode] [firsttime][0] updating refresh_interval from [-1] to [1s]
[2014-12-14 21:54:00,950][INFO ][river.jdbc.RiverMetrics  ] pipeline org.xbib.elasticsearch.plugin.jdbc.RiverPipeline@e0928ee complete: river jdbc/firsttime metrics: 23 rows, 7.845077138492929 mean, (0.0 0.0 0.0), ingest metrics: elapsed 0 seconds, 3.42 KB bytes, 146.0 bytes avg, 0.004 MB/s

d看到这些信息可以大致讲一下, 第一行,后面有个version 1.3.1表示的是当前的版本消息,而mynode是我自己定义的节点名字,默认下载完elasticsearch如果没有配置任何信息,那么会有个随机的名字的.但是我之前修改了配置文件

cluster.name: mycluster
node.name: "mynode"
node.master: true
node.data: true

同时设置了集群名称为mycluster,默认当前节点是主节点,并且在data目录下生成数据

如果我们不想要修改配置文件,那么可以在启动是指定参数也可以达到效果

./elasticsearch --cluster.name mycluster --node.name mynode --node.master true --node.data true

像端口和ip也都可以用这种方式指定的

2.查看启动后存在的集群,节点,索引等消息状态

    2.1查看cluster的健康状态       

curl 'localhost:9200/_cat/health?v'

或者直接浏览器访问localhost:9200/_cat/health?v即可看到如下消息

epoch              timestamp     cluster       status         node.total     node.data     shards     pri     relo     init     unassign 
1418566164     22:09:24      mycluster     yellow          1                     1                   6            6         0          0        6

其中status有3中状态,green,yellow,red,green表示的是所有状态功能都是好的,而yellow表示所有数据可用,但是分片的副本replicas还没有分配.red表示数据不可用,它仍然是部分功能(例如,它会继续为从现有的碎片搜索请求),但你可能会需要修复它尽快,因为你有丢失的数据。

同时总共可以看到有1个node,节点上有一份数据,这份数据有6个分片,而且pri表示的是这上面有6个主节点,也就是这六个分片都是主节点,unassign表示的是还有其他6个没有分配,比如我在其他机器上又运行了一个elasticsearch服务来做集群,但是那台服务器没有运行,因此这里会显示对应的6个从节点没有启用.要注意,如果一开始启动elasticsearch服务,可以发现unassign会从一开始的6慢慢变为0,而init表示的是当前正在初始化的分片数量,因此如果一共有12个分片,那么shards+init+unassign一定是12,也就是随着elasticsearch集群多个启动,一开始的时候unassign有多个,多个服务启动后初始化init会显示当前初始化的个数,初始化完后会加到shards上面,unassign会慢慢减少为0,同时init也会变为0.

3.查看运行的节点数量

curl 'localhost:9200/_cat/nodes?v'

可以看到返回结果为:

host                   ip            heap.percent     ram.percent load    node.role master name   
tonva-N53SV 127.0.1.1            7                       45            0.51          d              *      mynode

可以看到host,当前ip为本地ip,堆占用7%,内存占用45%,cpu负载0.51,并且当前*表示为主节点,名字为mynode

4.列出所有的索引

http://192.168.1.107:9200/_cat/indices?v

结果为:

health index     pri rep docs.count docs.deleted store.size pri.store.size 
yellow _river      1   1          2            0      7.8kb          7.8kb 
yellow firsttime   5   1         23            0     39.1kb         39.1kb

可以发现当前节点是yellow,因为只有一个服务时候,rep复制分片并不会被启用,当还有其他服务做集群时,才会启用rep复制分片,这时候health会变green.结果显示当前有firsttime,_river两个索引数据库,单独讨论firsttime,它有5个主分片,1个复制分片(注意这个复制分片没有启用),有23条记录,被删除的0条,总数据存储的大小为39.1kb,主节点存储大小39.1kb,当有多个集群服务的时候那么总数据就是单个占用数据x集群数量,而主节点(包含5个主分片)只有1份

5.当然我们会根据需要在elasticsearch解压目录下config下的配置文件配置适合我们系统的一些参数,但是如果我们想要查看我们设置的节点,那么我们需要怎么做呢?难道我们还需要vim 文件吗?因此我们可以

curl localhost:9200/_nodes/process?pretty
{
  "cluster_name" : "mycluster",
  "nodes" : {
    "twtuKzSBSUe4PHYHFOOZtw" : {
      "name" : "mynode",
      "transport_address" : "inet[/192.168.1.107:9300]",
      "host" : "tonva-N53SV",
      "ip" : "127.0.1.1",
      "version" : "1.3.1",
      "build" : "2de6dc5",
      "http_address" : "inet[/192.168.1.107:9200]",
      "attributes" : {
        "max_local_storage_nodes" : "2",
        "master" : "true"
      },
      "process" : {
        "refresh_interval_in_millis" : 1000,
        "id" : 18685,
        "max_file_descriptors" : 4096,
        "mlockall" : false
      }
    }
  }
}


转载于:https://my.oschina.net/kittyMan/blog/359378

最后

以上就是俏皮裙子为你收集整理的elasticsearch安装与使用的全部内容,希望文章能够帮你解决elasticsearch安装与使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部