-
Notifications
You must be signed in to change notification settings - Fork 13
快速开始
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
进入容器后,在根目录下执行:
./bin/havenask
就能启动fed进程,如果要以daemon模式启动,命令为:
./bin/havenask -d
容器附带了一个dashboards可以用作可视化操作fed,启动方式为:
cd dashboards/bin/
./havenask-dashboards
如果要以daemon模式启动,命令为:
nohup ./havenask-dashboards &
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
关闭启动的容器,退出容器后,在script目录下执行
./<CONTAINER_NAME>/stopContainer.sh
关闭名为test的容器示例命令:
./test/stopContainer.sh
- 集群模式部署:上述为单机版使用的示例,分布式集群部署方式可以参考文档:Havenask‐federation分布式集群部署示例
- Havenask SQL的使用可以参见:Havenask SQL API介绍
- 开发指南可参见:使用Elasticsearch SDK访问Havenask
- 更多Fed API功能可参见:Fed对elasticsearch API的兼容
- 创建索引需定义好mapping,之后写入的新字段不会自动建索引。
- 目前暂时不支持在m1\m2芯片的macbook上运行。