Skip to content

快速开始

Huaixinww edited this page May 29, 2024 · 30 revisions

使用依赖

环境要求

  • 确保机器内存不少于8G,cpu不少于2核,磁盘大小大于20G。
  • 使用前确保设备已经安装和启动Docker服务。

启动容器

方式一

克隆仓库:

git clone https://github.com/alibaba/havenask-federation.git
cd havenask-federation

执行启动命令:

cd elastic-fed/script
./create_container.sh <CONTAINER_NAME> <IMAGE_NAME>

#示例命令:
./create_container.sh test registry.cn-hangzhou.aliyuncs.com/havenask/fed:latest

方式二

直接拷贝启动脚本elastic-fed/script/create_container.sh到本地,执行启动命令:

sh create_container.sh <CONTAINER_NAME> <IMAGE_NAME>

#示例命令:
sh create_container.sh test registry.cn-hangzhou.aliyuncs.com/havenask/fed:latest

进入容器

容器启动后,进入容器命令:

./<CONTAINER_NAME>/sshme

#示例命令:
./test/sshme

启动fed

进入容器后,在根目录下执行:

./bin/havenask

就能启动fed进程,如果要以daemon模式启动,命令为:

./bin/havenask -d

容器附带了一个dashboards可以用作可视化操作fed,启动方式为:

 cd dashboards/bin/
 ./havenask-dashboards

如果要以daemon模式启动,命令为:

 nohup ./havenask-dashboards &

访问fed

fed启动后,默认端口是9200,假设在本地访问,访问示例如下:

curl 127.0.0.1:9200
{
  "name" : "l57e02076.sqa.nu8",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "clGgz853S3W6mSaWLCeyCQ",
  "version" : {
    "distribution" : "havenask",
    "number" : "1.0.0-SNAPSHOT",
    "build_type" : "docker",
    "build_hash" : "unknown",
    "build_date" : "2023-05-10T08:05:27.627696220Z",
    "build_snapshot" : true,
    "lucene_version" : "8.7.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "The Havenask Federation Project"
}

可以通过dashboards,在浏览器中通过dev_tools访问fed

http://127.0.0.1:5601/app/dev_tools#/console

 示例命令

以下命令可以在dashboards的dev_tools进行执行

创建索引

PUT test
{
  "settings": {
    "index.engine": "havenask",
    "number_of_replicas": 0
  },
  "mappings": {
    "properties": {
      "foo": {
        "type": "keyword"
      }
    }
  }
}

等待索引变成Green:

GET _cat/indices/test?v

health status index uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   test  aRbuSHv3Qw6VztFjljXMtw   1   0          0            0       208b           208b

写入数据

索引Green后,可以开始写入数据,下面是写入的API:

# 自动生成主键
POST test/_doc
{
  "foo" : "bar"
}

# 带主键写入
PUT test/_doc/1
{
  "foo" : "bar"
}

查询数据

查询说明:目前havenask的数据访问,在0.5.0以上的版本支持了search接口,不过DSL语法的支持受限,需要完整的数据访问,可以通过SQL接口,更多SQL API的使用可以参见:《Havenask SQL API介绍》

# 0.5.0以上的版本支持了search接口
GET /test/_search

# 使用havenask SQL接口访问数据
GET /_havenask/sql?query=select * from test

#查询summary信息,需要带上主键查询
GET /_havenask/sql?query=select * from test_summary_ where _id=1

删除数据

DELETE test/_doc/1

删除索引

如果要删除整个索引,删除命令如下:

DELETE test

关闭fed

关闭启动的容器,退出容器后,在script目录下执行

./<CONTAINER_NAME>/stopContainer.sh

关闭名为test的容器示例命令:

./test/stopContainer.sh

更多资料

注意事项

  • 创建索引需定义好mapping,之后写入的新字段不会自动建索引。
  • 目前暂时不支持在m1\m2芯片的macbook上运行。
Clone this wiki locally