
couchbase/enterprise-analyticsEnterprise Analytics 是一款自管理的原生JSON NoSQL分析数据库,旨在统一来自不同来源的数据,支持执行复杂分析查询并提取实时洞察。该数据库充分利用NoSQL的分析能力,与Couchbase Server和Couchbase Capella云平台无缝集成,可构建实时自适应应用。
传统上,在NoSQL数据库中分析JSON数据需进行复杂转换(如扁平化),导致延迟并阻碍实时洞察。Enterprise Analytics通过统一的JSON数据模型和 schema 灵活性消除了这些ETL复杂性,允许数据在源端自然演进,无需手动管理schema或转换,实现零ETL环境,从而加快洞察时间、降低成本并提高敏捷性。
本Docker镜像旨在简化Enterprise Analytics在开发、测试和概念验证环境中的部署和运行。
通过Docker快速启动Enterprise Analytics实例,适用于开发和测试场景。
以下说明基于以下假设:
8091和8095未被占用ea的容器(若使用S3Mock,则不存在名为s3mock的容器)创建用户定义网络,以便容器与其他服务通信(如需):
bashdocker network create ea-net
若要使用S3Mock作为对象存储后端,需先启动S3Mock容器;否则需配置其他对象存储后端:
bashdocker run -d --name s3mock --network ea-net -e initialBuckets=ea-storage adobe/s3mock
运行Enterprise Analytics容器,映射Couchbase Web控制台(8091)和分析服务(8095)端口:
bashdocker run -d --name ea --network ea-net -p 8091:8091 -p 8095:8095 couchbase/enterprise-analytics:2.0.0
在主机访问 http://localhost:8091 打开Web控制台,开始Enterprise Analytics设置:
!设置初始界面
按照设置向导完成配置:
!设置向导
若使用S3Mock,需配置对象存储设置指向S3Mock端点:
!内存与对象存储配置-1 !内存与对象存储配置-2
否则,配置对象存储指向所选后端(如AWS S3或其他S3兼容服务/设备)。
设置完成后,控制台将加载。安装示例数据集:
!安装示例数据集
运行示例查询验证功能,例如统计travel-sample中的机场数量:
!示例查询
可探索Enterprise Analytics功能,如创建视图、运行复杂查询、集成其他数据源。更多信息参见Enterprise Analytics文档。也可按照以下说明使用S3Mock作为对象存储后端搭建多节点集群。
以下示例演示如何启动双节点Enterprise Analytics集群,使用Adobe S3Mock作为对象存储后端。
以下说明基于以下假设:
s3mock、ea1或ea2的容器8091、8095、9091、9095未被占用创建用户定义网络,使容器可通过名称通信:
bashdocker network create ea-net
启动S3Mock容器,初始桶名为ea-storage:
bashdocker run -d --name s3mock --network ea-net -e initialBuckets=ea-storage adobe/s3mock
运行第一个节点(ea1),映射Couchbase Web控制台和分析服务端口:
bashdocker run -d --name ea1 --network ea-net --hostname ea1.example.com --network-alias ea1.example.com \ -p 8091:8091 -p 8095:8095 couchbase/enterprise-analytics:2.0.0
运行第二个节点(ea2),使用独立映射端口以便单独访问:
bashdocker run -d --name ea2 --network ea-net --hostname ea2.example.com --network-alias ea2.example.com \ -p 9091:8091 -p 9095:8095 couchbase/enterprise-analytics:2.0.0
继续操作前,确保节点完全启动并准备好配置。可通过查询/pools/default API检查节点状态:当服务器准备接受配置时,API返回404状态及文本“unknown pool”。
示例:
$ curl http://localhost:8091/pools/default "unknown pool"
使用主机名和管理员凭据初始化ea1和ea2节点:
bashdocker exec ea1 couchbase-cli node-init \ --cluster http://localhost:8091 \ --username Administrator \ --password password \ --node-init-hostname ea1.example.com docker exec ea2 couchbase-cli node-init \ --cluster http://localhost:8091 \ --username Administrator \ --password password \ --node-init-hostname ea2.example.com
bashdocker exec ea1 couchbase-cli setting-enterprise-analytics --cluster http://localhost:8091 \ --username Administrator --password password \ --set \ --scheme s3 \ --bucket ea-storage \ --region us-east-1 \ --endpoint [***] \ --anonymous-auth 1 \ --path-style-addressing 1
初始化Enterprise Analytics集群:
bashdocker exec ea1 couchbase-cli cluster-init \ --cluster http://localhost:8091 \ --cluster-username Administrator \ --cluster-password password
将ea2添加到集群并执行重平衡:
bashdocker exec ea1 couchbase-cli server-add \ --cluster http://localhost:8091 \ --username Administrator \ --password password \ --server-add ea2.example.com \ --server-add-username Administrator \ --server-add-password password docker exec ea1 couchbase-cli rebalance \ --cluster http://localhost:8091 \ --username Administrator \ --password password
重平衡完成后,集群即可使用。通过以下地址访问UI:
| 端口 | 描述 |
|---|---|
| 8091 | Web控制台/REST API(HTTP) |
| 8095 | 分析服务HTTP API |
| *** | Web控制台/REST API(HTTPS) |
| *** | 分析服务HTTPS API |
Enterprise Analytics数据存储在/opt/enterprise-analytics/var/lib/couchbase/data路径下。持久化部署时,可将Docker卷或主机目录挂载到此路径。
示例:
bashdocker run -d --name ea1 -v ea1-data:/opt/enterprise-analytics/var/lib/couchbase/data couchbase/enterprise-analytics:2.0.0
Enterprise Analytics根据Couchbase企业许可协议授权。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务