datastax/dse-serverDataStax Enterprise(DSE)基于Apache Cassandra™的最佳发行版构建,是一款专为实时应用设计的始终可用的数据库。它将图、搜索、分析、管理、开发工具和监控集成到单一统一平台中,支持轻松构建和扩展应用,为实时业务场景提供即时洞察和强大的客户体验。
适用于需要处理实时数据、构建高可用分布式应用的场景,包括:
DataStax Docker文档、DataStax ***、Github、联系DataStax获取客户信息
高级教程位于DataStax Academy和Studio,示例Compose文件可在Github获取
[***]
DataStax
默认情况下,DSE服务器镜像以仅Cassandra模式运行。要启用高级DSE功能,可在docker run命令末尾添加以下选项的任意组合:
| 选项 | 描述 |
|---|---|
| -s | 启用并启动DSE搜索 |
| -k | 启用并启动分析功能 |
| -g | 启用并启动DSE图功能 |
可组合使用启动选项以运行多个功能。更多示例参见以独立进程启动DataStax Enterprise。
创建DSE数据库容器
bashdocker run -e DS_LICENSE=accept --name my-dse -d datastax/dse-server:<版本标签>
创建启用图功能的DSE容器
bashdocker run -e DS_LICENSE=accept --name my-dse -d datastax/dse-server:<版本标签> -g
创建启用分析(Spark)的DSE容器
bashdocker run -e DS_LICENSE=accept --name my-dse -d datastax/dse-server:<版本标签> -k
创建启用搜索功能的DSE容器
bashdocker run -e DS_LICENSE=accept --name my-dse -d datastax/dse-server:<版本标签> -s
创建同时启用搜索、分析和图功能的DSE容器
bashdocker run -e DS_LICENSE=accept --name my-dse -d datastax/dse-server:<版本标签> -s -k -g
可通过以下方式管理DSE配置:
/config挂载到本地目录bashdocker run -e DS_LICENSE=accept --name my-dse -v /dse/config:/config -d datastax/dse-server:<版本标签>
注意:修改
/config卷中的配置文件后,需通过docker restart container_name重启容器使DSE生效。
通过docker run命令的-e标志设置环境变量配置DSE镜像。
| 变量 | 设置 | 描述 |
|---|---|---|
DS_LICENSE | accept | 必填。设置为accept表示同意DataStax许可条款。仅当设置为accept时镜像才会启动。 |
LISTEN_ADDRESS | IP地址 | 用于监听其他节点连接的IP地址,默认为容器IP地址。 |
BROADCAST_ADDRESS | IP地址 | 向其他节点广播的IP地址,默认为LISTEN_ADDRESS的值。 |
NATIVE_TRANSPORT_ADDRESS | IP地址 | 用于监听客户端/驱动连接的IP地址,默认0.0.0.0。 |
NATIVE_TRANSPORT_BROADCAST_ADDRESS | IP地址 | 向客户端/驱动广播的IP地址,默认为BROADCAST_ADDRESS的值。 |
SEEDS | IP地址 | 集群的种子节点逗号分隔列表,默认为本节点的BROADCAST_ADDRESS。 |
START_RPC | true/false | 是否启动Thrift RPC服务器,未设置时使用cassandra.yaml中的默认值。 |
CLUSTER_NAME | 字符串 | 集群名称,默认Test Cluster。 |
NUM_TOKENS | 整数 | 随机分配给节点的令牌数,默认未设置。 |
DC | 字符串 | 数据中心名称,默认Cassandra。 |
RACK | 字符串 | 机架名称,默认rack1。 |
OPSCENTER_IP | IP地址 | 用于DSE管理的OpsCenter实例地址,也可通过链接OpsCenter容器(名称为opscenter)指定。 |
JVM_EXTRA_OPTS | 字符串 | 允许使用-Xmx和-Xms设置自定义堆大小。 |
LANG | 字符串 | 允许设置自定义区域设置。 |
SNITCH | 字符串 | 设置节点使用的snitch实现,会设置cassandra.yaml的endpoint_snitch选项,默认GossipingPropertyFileSnitch。 |
DSE_AUTO_CONF_OFF | 字符串 | 阻止默认环境变量覆盖配置文件值。可提供逗号分隔的文件名列表(选项为cassandra.yaml和cassandra-rackdc.properties),或设为all以禁用所有文件的环境变量覆盖。 |
注意:使用内存资源限制时,必须通过环境变量
JVM_EXTRA_OPTS或自定义cassandra-env.sh设置JVM堆大小,否则DSE会将堆大小设为Docker主机物理内存的1/4。
要持久化数据,需在本地主机预创建目录,并使用docker run -v标志将目录映射到对应卷。
注意:若未从本地主机挂载卷,容器删除时所有数据将丢失。
DSE镜像暴露以下卷:
/var/lib/cassandra:Cassandra数据/var/lib/spark:DSE分析(含Spark)数据/var/lib/dsefs:DSEFS数据/var/log/cassandra:Cassandra日志/var/log/spark:Spark日志挂载示例:
bashdocker run -v <本地目录>:<容器卷>
更多信息参见Docker文档>使用卷。
使用docker exec -it <容器名称>命令执行特定命令。
若容器在后台运行(使用-d),可通过以下命令打开交互式bash shell运行DSE命令:
bashdocker exec -it <容器名称> bash
输入exit可退出shell而不停止容器。
bashdocker exec -it <容器名称> cqlsh
bashdocker exec -it <容器名称> nodetool status
使用Docker日志命令查看DSE日志:
bashdocker logs <容器名称>
高级教程位于DataStax Academy和Studio,示例Compose文件可在Github获取。
DataStax许可条款
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务