centos6.5安装与使用elasticsearch-6.7.2

1 安装

# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.2.tar.gz
# tar -zxvf elasticsearch-6.7.2.tar.gz
# mkdir -p /Data/apps/elasticsearch
# mv elasticsearch-6.7.2/* /Data/apps/elasticsearch/

2 新建用户

ES启动的时候不能使用root用户,即普通用户启动,此时需要新创建一个用户,并为这个用户赋予访问ES目录的权限,在ES所在的目录下,为这个文件夹赋予权限

# useradd es
# passwd es
# chown es.es /Data/apps/elasticsearch -R

3 配置

1 /etc/sysctl.conf
elasticsearch用户拥有的内存权限太小,至少需要262144

vm.max_map_count=262144

执行命令,让配置生效

# sysctl -p

2 system_call_filter
因为Centos6不支持SecComp,而ES5.2.0默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。

vi /Data/apps/elasticsearch/config/elasticsearch.yml

# ----------------------------------- Memory -----------------------------------
#
# Lock the memory on startup:
#
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
#

2 修改Ip和端口
vi /Data/apps/elasticsearch/config/elasticsearch.yml

network.host: 10.1.20.101
http.port: 9200

4 启动

# su - es
# /Data/apps/elasticsearch
# -d后台启动
# ./bin/elasticsearch -d

5 查看

在浏览器中输入http://10.1.20.101:9200/
在这里插入图片描述

6 基本操作

6.1 查看基本信息

[dev@credis4.ops.test.bj1 ~]$ curl -X GET "10.1.20.101:9200"
{
  "name" : "IfZi0P6",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "l5ead7cCTm2S8uxOe171mw",
  "version" : {
    "number" : "6.7.2",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "56c6e48",
    "build_date" : "2019-04-29T09:05:50.290371Z",
    "build_snapshot" : false,
    "lucene_version" : "7.7.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}
[dev@credis4.ops.test.bj1 ~]$

6.2 查看集群健康

[dev@credis4.ops.test.bj1 ~]$ curl -X GET "10.1.20.101:9200/_cat/health?v"
epoch      timestamp cluster       status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1570780907 08:01:47  elasticsearch green           1         1      0   0    0    0        0             0                  -                100.0%
[dev@credis4.ops.test.bj1 ~]$

我们可以看到,我们命名为“elasticsearch”的集群现在是green状态。

无论何时我们请求集群健康时,我们会得到green, yellow, 或者 red 这三种状态。

Green : everything is good(一切都很好)(所有功能正常)
Yellow : 所有数据都是可用的,但有些副本还没有分配(所有功能正常)
Red : 有些数据不可用(部分功能正常)
从上面的响应中我们可以看到,集群"elasticsearch"总共有1个节点,0个分片因为还没有数据。

6.3 查看集群的节点列表

可以看到集群中只有一个节点,它的名字是“IfZi0P6”

[dev@credis4.ops.test.bj1 ~]$ curl -X GET "10.1.20.101:9200/_cat/nodes?v"
ip          heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
10.1.20.101           21          95   1    0.03    0.02     0.00 mdi       *      IfZi0P6
[dev@credis4.ops.test.bj1 ~]$

6.4 索引操作

6.4.1 查看全部索引

[dev@credis4.ops.test.bj1 ~]$
`
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
[dev@credis4.ops.test.bj1 ~]$

上面的输出意味着:我们在集群中没有索引

6.4.2 创建索引

现在,我们创建一个名字叫“clevercode”的索引,然后查看索引。pretty的意思是响应(如果有的话)以JSON格式返回

[dev@credis4.ops.test.bj1 ~]$ curl -X PUT "10.1.20.101:9200/clevercode?pretty"
{
  "acknowledged" : true,
  "shards_acknowledged" : true,
  "index" : "clevercode"
}
[dev@credis4.ops.test.bj1 ~]$

查看索引

[dev@credis4.ops.test.bj1 ~]$  curl -X GET "10.1.20.101:9200/_cat/indices?v"
health status index      uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   clevercode nN4H3_YTQ3qnI9Td_LGQSQ   5   1          0            0      1.1kb          1.1kb
[dev@credis4.ops.test.bj1 ~]$

结果的第二行告诉我们,我们现在有叫"clevercode"的索引,并且他有5个主分片和1个副本(默认是1个副本),有0个文档。

可能你已经注意到这个"clevercode"索引的健康状态是yellow。回想一下我们之前的讨论,yellow意味着一些副本(尚未)被分配。

之所以会出现这种情况,是因为Elasticsearch默认情况下为这个索引创建了一个副本。由于目前我们只有一个节点在运行,所以直到稍后另一个节点加入集群时,才会分配一个副本(对于高可用性)。一旦该副本分配到第二个节点上,该索引的健康状态将变为green。

6.4.3 删除索引

删除clevercode索引

[dev@credis4.ops.test.bj1 ~]$ curl -X DELETE "10.1.20.101:9200/clevercode?pretty"
{
  "acknowledged" : true
}
[dev@credis4.ops.test.bj1 ~]$

6.5 文档操作

6.5.1 添加文档

1 让我们put一些数据到我们的"clevercode"索引。put方式需要指定id。这里id=1。id为整型。“result” : "created"表示新创建文档。

[dev@credis4.ops.test.bj1 ~]$ curl -X PUT "10.1.20.101:9200/clevercode/_doc/1?pretty" -H 'Content-Type: application/json' -d'{"name": "CleverCode","address":"beijing"}'
{
  "_index" : "clevercode",
  "_type" : "_doc",
  "_id" : "1",
  "_version" : 1,
  "result" : "created",
  "_shards" : {
    "total" : 2,
    "successful" : 1,
    "failed" : 0
  },
  "_seq_no" : 0,
  "_primary_term" : 1
}
[dev@credis4.ops.test.bj1 ~]$

2 让我们put一些数据到我们的"clevercode"索引。put方式需要指定id。这里id=abcd,这里指定为字符串。

[dev@credis4.ops.test.bj1 ~]$ curl -X PUT "10.1.20.101:9200/clevercode/_doc/abcd?pretty" -H 'Content-Type: application/json' -d'{"name": "CleverCode2","address":"beijing"}'
{
  "_index" : "clevercode",
  "_type" : "_doc",
  "_id" : "abcd",
  "_version" : 1,
  "result" : "created",
  "_shards" : {
    "total" : 2,
    "successful" : 1,
    "failed" : 0
  },
  "_seq_no" : 0,
  "_primary_term" : 1
}
[dev@credis4.ops.test.bj1 ~]$

3 让我们post一些数据到我们的"clevercode"索引。post方式不需要指定id。

[dev@credis4.ops.test.bj1 ~]$ curl -X POST "10.1.20.101:9200/clevercode/_doc?pretty" -H 'Content-Type: application/json' -d'{"name": "CleverCode3","address":"beijing"}'
{
  "_index" : "clevercode",
  "_type" : "_doc",
  "_id" : "C-zXvW0Bsm6kRVId5yjQ",
  "_version" : 1,
  "result" : "created",
  "_shards" : {
    "total" : 2,
    "successful" : 1,
    "failed" : 0
  },
  "_seq_no" : 1,
  "_primary_term" : 1
}
[dev@credis4.ops.test.bj1 ~]$

4 查看索引信息,发现已经有4篇文档了。

[dev@credis4.ops.test.bj1 ~]$   curl -X GET "10.1.20.101:9200/_cat/indices?v"
health status index      uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   clevercode Z17FxUrcSU2u9OzSkBZi3Q   5   1          4            0     16.7kb         16.7kb
[dev@credis4.ops.test.bj1 ~]$

5 php版本curl直接上传一个文件

<?php
function posturl($url,$data){
   
        $data  = json_encode($data);    
        $headerArray =array("Content-Type: application/json");
        $curl = curl_init();
        curl_setopt($curl<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值