2019独角兽企业重金招聘Python工程师标准>>>
1.下载及安装
从官网www.elasticsearch.org下载elasticsearch版本后,解压文件,我下载的linux下的版本是
1elasticsearch-1.3.1.tar.gz
然后解压在目录bin下运行
1
2
3cd elasticsearch-1.3.1/bin ./elasticsearch
如果想在后台启动加上参数-d,
不过运行前首先安装了jdk,不过官方推荐使用Java 8 update 20 之后, 或者 Java 7 update 55 or 之后. 这些之前版本的好像会有bug或出现数据丢失.
启动之后可以看到如下信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25[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如果没有配置任何信息,那么会有个随机的名字的.但是我之前修改了配置文件
1
2
3
4cluster.name: mycluster node.name: "mynode" node.master: true node.data: true
同时设置了集群名称为mycluster,默认当前节点是主节点,并且在data目录下生成数据
如果我们不想要修改配置文件,那么可以在启动是指定参数也可以达到效果
1./elasticsearch --cluster.name mycluster --node.name mynode --node.master true --node.data true
像端口和ip也都可以用这种方式指定的
2.查看启动后存在的集群,节点,索引等消息状态
2.1查看cluster的健康状态
1curl 'localhost:9200/_cat/health?v'
或者直接浏览器访问localhost:9200/_cat/health?v即可看到如下消息
1
2epoch 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.查看运行的节点数量
1curl 'localhost:9200/_cat/nodes?v'
可以看到返回结果为:
1
2
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.列出所有的索引
1
http://192.168.1.107:9200/_cat/indices?v
结果为:
1
2
3
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 文件吗?因此我们可以
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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安装与使用内容请搜索靠谱客的其他文章。
发表评论 取消回复