elasticsearch基础:跨集群搜索配置

1、执行以下命令,在远程实例中创建索引和文档,并插入数据。

  • 创建索引
    PUT /twitter
    {
        "settings" : {
            "index" : {
                "number_of_shards" : 3, 
                "number_of_replicas" : 2 
            }
        }
    }
  • 创建文档并插入数据
    POST twitter/_doc/
    {
        "user" : "kimchy",
        "post_date" : "2009-11-15T14:12:12",
        "message" : "trying out Elasticsearch"
    }

2、执行以下命令,在当前实例中配置跨集群搜索。

  • 使用节点IP地址配置
    PUT _cluster/settings
    {
      "persistent": {
        "cluster": {
          "remote": {
            "cluster_one": {
              "seeds": [
                "10.8.xx.xx:9300",
                "10.8.xx.xx:9300",
                "10.8.xx.xx:9300"
              ]
            }
          }
        }
      }
    }

注:es集群之间的交互使用tcp协议,所以需要配9300端口,不能用9200,两者的区别如下:
ES节点和外部通讯使用9200;
ES节点之间通讯使用9300;

3、我们可以使用 GET _remote/info 查看 CSS 的连接状态, 如下:

4、本地端执行检索语句,查询远端集群的索引数据

5、踩到的坑

多输入了/,报错:"reason": "action [indices:admin/shards/search_shards] is unauthorized for user [elastic]"

字符串索引超出界限异常,这个问题发生后,我就一直盯着权限搞,elastic用户都搜不到,真的是百思不得其解,第二天才看出自己写错了。哭唧唧

猜你喜欢

转载自blog.csdn.net/iris_csdn/article/details/116933677