DolphinDB安装部署:单机版快速上手

目录

摘要

本文详细介绍DolphinDB单机版的安装部署流程,涵盖Windows和Linux两大主流操作系统。从下载安装包到配置文件详解,从服务启动停止到Web GUI使用,逐步带领读者完成DolphinDB环境的搭建。同时提供常见问题排查指南和性能调优建议,帮助读者快速搭建一个可用于开发和测试的DolphinDB环境。本文适合初次接触DolphinDB的开发者阅读。


一、安装前准备

1.1 系统要求

DolphinDB对硬件和操作系统有一定要求,安装前请确认环境满足以下条件:

项目 最低要求 推荐配置 说明
操作系统 Windows 10 / Linux Windows Server / Ubuntu 22.04 64位系统
CPU 4核 8核+ 支持AVX2指令集
内存 8GB 16GB+ 数据量大时需更多内存
磁盘 50GB SSD 500GB+ NVMe SSD SSD对性能影响显著
网络 100Mbps 1Gbps 集群部署需要高速网络

1.2 软件依赖

DolphinDB是独立运行的服务,但需要以下环境支持:
DolphinDB运行环境
操作系统
Java运行时

可选
网络配置
Linux: glibc 2.17+
Windows: 无额外依赖
JDK 8+

用于Java API
端口开放

8848/8849/8900
防火墙配置

1.3 端口说明

DolphinDB默认使用以下端口:

端口 用途 说明
8848 数据节点端口 客户端连接端口
8849 代理节点端口 Agent通信端口
8900 控制节点端口 Controller管理端口

二、Windows环境安装

2.1 下载安装包

访问DolphinDB官网下载页面:

复制代码
官网地址:https://www.dolphindb.cn/downloads.html

选择Windows版本,下载最新稳定版(以V2.00.11.1为例):

版本 文件名 大小
Windows 64位 DolphinDB_Win64_V2.00.11.1.zip 约200MB

2.2 解压安装

powershell 复制代码
# 创建安装目录
mkdir C:\DolphinDB

# 解压安装包(使用PowerShell或解压软件)
Expand-Archive -Path DolphinDB_Win64_V2.00.11.1.zip -DestinationPath C:\DolphinDB

# 查看目录结构
dir C:\DolphinDB\server

解压后的目录结构:

复制代码
C:\DolphinDB\server\
├── dolphindb.exe          # 主程序
├── dolphindb.dll          # 核心库
├── config\                # 配置文件目录
│   ├── single.cfg         # 单机配置
│   └── cluster.cfg        # 集群配置
├── log\                   # 日志目录
└── data\                  # 数据目录

2.3 配置文件详解

单机版配置文件 config\single.cfg

ini 复制代码
# DolphinDB单机版配置文件

# 基本配置
mode=single                    # 运行模式:single单机,cluster集群
localSite=localhost:8848:local8803  # 本地节点配置:host:port:alias

# 用户配置
userId=admin                   # 管理员用户名
password=123456               # 管理员密码(生产环境请修改)

# 内存配置
maxMemSize=16                  # 最大内存使用量(GB)
regularMemSize=4              # 常规内存大小(GB)

# 线程配置
workerNum=4                    # 工作线程数,建议设为CPU核心数
webWorkerNum=2                # Web工作线程数

# 存储配置
volume=data                    # 数据存储目录
redoLogDir=log                 # 重做日志目录
chunkCacheDirMemLimit=2GB     # 分区缓存内存限制

# 网络配置
tcpNodelay=true               # TCP无延迟
tcpKeepAlive=true             # TCP保活

# 日志配置
logLevel=INFO                 # 日志级别:DEBUG/INFO/WARN/ERROR
perfLevel=0                   # 性能日志级别:0-关闭,1-开启

上述配置文件中的关键参数说明:

  • maxMemSize:DolphinDB可使用的最大内存,建议设为物理内存的50%-70%
  • workerNum:工作线程数,影响并发处理能力,建议设为CPU核心数
  • volume:数据存储路径,建议使用SSD存储

2.4 启动服务

方式一:命令行启动
powershell 复制代码
# 进入安装目录
cd C:\DolphinDB\server

# 启动DolphinDB(前台运行)
dolphindb.exe -console 0 -mode single -home . -config config\single.cfg -logFile log\dolphindb.log

# 后台启动(推荐)
start /B dolphindb.exe -console 0 -mode single -home . -config config\single.cfg -logFile log\dolphindb.log
方式二:注册为Windows服务
powershell 复制代码
# 注册服务
dolphindb.exe -install -mode single -home . -config config\single.cfg -logFile log\dolphindb.log

# 启动服务
net start DolphinDB

# 停止服务
net stop DolphinDB

# 卸载服务
dolphindb.exe -uninstall

2.5 验证安装

打开浏览器,访问:

复制代码
http://localhost:8848

看到DolphinDB Web GUI界面,说明安装成功!


浏览器
localhost:8848
连接成功?
✅ 安装成功
❌ 检查服务状态
查看日志排查


三、Linux环境安装

3.1 下载安装包

bash 复制代码
# 创建安装目录
sudo mkdir -p /opt/dolphindb
cd /opt/dolphindb

# 下载DolphinDB(以V2.00.11.1为例)
sudo wget https://www.dolphindb.com/downloads/DolphinDB_Linux64_V2.00.11.1.zip

# 或使用国内镜像加速
sudo wget https://dolphindb.cn/downloads/DolphinDB_Linux64_V2.00.11.1.zip

3.2 解压安装

bash 复制代码
# 安装解压工具(如未安装)
sudo apt-get install unzip -y  # Ubuntu/Debian
# 或
sudo yum install unzip -y      # CentOS/RHEL

# 解压安装包
sudo unzip DolphinDB_Linux64_V2.00.11.1.zip

# 重命名目录
sudo mv DolphinDB_Linux64_V2.00.11.1 server

# 设置目录权限
sudo chown -R $USER:$USER /opt/dolphindb

解压后的目录结构:

复制代码
/opt/dolphindb/server/
├── dolphindb              # 主程序
├── config/                # 配置文件目录
│   ├── single.cfg         # 单机配置
│   └── cluster.cfg        # 集群配置
├── log/                   # 日志目录
└── data/                  # 数据目录

3.3 配置文件详解

编辑配置文件:

bash 复制代码
vim /opt/dolphindb/server/config/single.cfg

配置内容:

ini 复制代码
# DolphinDB单机版配置文件(Linux)

# 基本配置
mode=single
localSite=localhost:8848:local8803

# 用户配置
userId=admin
password=123456

# 内存配置
maxMemSize=16
regularMemSize=4

# 线程配置
workerNum=8                    # Linux建议设为CPU核心数
webWorkerNum=4

# 存储配置
volume=data
redoLogDir=log
chunkCacheDirMemLimit=4GB

# 网络配置
tcpNodelay=true
tcpKeepAlive=true
tcpKeepAliveIdle=60
tcpKeepAliveInterval=10
tcpKeepAliveCount=10

# 日志配置
logLevel=INFO
perfLevel=0

# Linux特有配置
useHardLink=true              # 使用硬链接提升性能
diskIOConcurrency=4           # 磁盘IO并发数

3.4 启动服务

方式一:前台启动(调试用)
bash 复制代码
cd /opt/dolphindb/server

# 前台启动(Ctrl+C停止)
./dolphindb -console 0 -mode single -home . -config config/single.cfg -logFile log/dolphindb.log
方式二:后台启动
bash 复制代码
cd /opt/dolphindb/server

# 后台启动
nohup ./dolphindb -console 0 -mode single -home . -config config/single.cfg -logFile log/dolphindb.log &

# 查看进程
ps aux | grep dolphindb

# 查看日志
tail -f log/dolphindb.log
方式三:Systemd服务(推荐)

创建systemd服务文件:

bash 复制代码
sudo vim /etc/systemd/system/dolphindb.service

服务文件内容:

ini 复制代码
[Unit]
Description=DolphinDB Server
After=network.target

[Service]
Type=forking
User=dolphindb
Group=dolphindb
WorkingDirectory=/opt/dolphindb/server
ExecStart=/opt/dolphindb/server/dolphindb -console 0 -mode single -home . -config config/single.cfg -logFile log/dolphindb.log
ExecStop=/bin/kill -TERM $MAINPID
Restart=on-failure
RestartSec=10
LimitNOFILE=65536
LimitNPROC=65536

[Install]
WantedBy=multi-user.target

创建用户并授权:

bash 复制代码
# 创建dolphindb用户
sudo useradd -r -s /bin/false dolphindb

# 授权目录
sudo chown -R dolphindb:dolphindb /opt/dolphindb

管理服务:

bash 复制代码
# 重载systemd配置
sudo systemctl daemon-reload

# 启动服务
sudo systemctl start dolphindb

# 停止服务
sudo systemctl stop dolphindb

# 重启服务
sudo systemctl restart dolphindb

# 查看状态
sudo systemctl status dolphindb

# 开机自启
sudo systemctl enable dolphindb

# 取消自启
sudo systemctl disable dolphindb

3.5 验证安装

bash 复制代码
# 检查端口监听
netstat -tlnp | grep 8848
# 或
ss -tlnp | grep 8848

# 测试连接
curl http://localhost:8848

# 查看日志
tail -100 /opt/dolphindb/server/log/dolphindb.log

四、Docker容器部署

4.1 拉取镜像

bash 复制代码
# 拉取官方镜像
docker pull dolphindb/dolphindb:2.00.11.1

# 查看镜像
docker images | grep dolphindb

4.2 运行容器

bash 复制代码
# 创建数据目录
mkdir -p /data/dolphindb/data /data/dolphindb/log

# 运行容器
docker run -d \
    --name dolphindb \
    -p 8848:8848 \
    -v /data/dolphindb/data:/data \
    -v /data/dolphindb/log:/log \
    -e MAX_MEM_SIZE=16 \
    -e WORKER_NUM=8 \
    dolphindb/dolphindb:2.00.11.1

# 查看容器状态
docker ps | grep dolphindb

# 查看日志
docker logs -f dolphindb

4.3 Docker Compose部署

创建 docker-compose.yml

yaml 复制代码
version: '3.8'

services:
  dolphindb:
    image: dolphindb/dolphindb:2.00.11.1
    container_name: dolphindb
    restart: unless-stopped
    ports:
      - "8848:8848"
    volumes:
      - ./data:/data
      - ./log:/log
    environment:
      - MAX_MEM_SIZE=16
      - WORKER_NUM=8
      - USER_ID=admin
      - PASSWORD=123456
    deploy:
      resources:
        limits:
          cpus: '8'
          memory: 16G
        reservations:
          cpus: '4'
          memory: 8G

启动服务:

bash 复制代码
# 启动
docker-compose up -d

# 停止
docker-compose down

# 查看状态
docker-compose ps

五、Web GUI使用指南

5.1 登录界面

打开浏览器访问 http://localhost:8848,进入登录界面:

字段 默认值 说明
用户名 admin 管理员账户
密码 123456 默认密码(请修改)

5.2 界面功能

Web GUI功能
脚本编辑器
编写DolphinDB脚本
语法高亮
代码补全
数据浏览器
查看数据库
查看表结构
浏览数据
可视化工具
图表展示
数据导出
系统监控
节点状态
资源使用
任务管理

5.3 基础操作示例

在脚本编辑器中输入以下代码:

python 复制代码
// 示例1:简单计算
1 + 1

// 示例2:创建内存表
t = table(1..10 as id, rand(100.0, 10) as value)
t

// 示例3:创建分布式数据库
db = database("dfs://demo", VALUE, 1..10)
schema = table(1:0, `id`timestamp`value, [INT, TIMESTAMP, DOUBLE])
db.createPartitionedTable(schema, `test_table, `id)

// 示例4:插入数据
t = table(1..100 as id, now() + 1..100 as timestamp, rand(100.0, 100) as value)
loadTable("dfs://demo", "test_table").append!(t)

// 示例5:查询数据
select count(*) from loadTable("dfs://demo", "test_table")

六、客户端连接

6.1 Python客户端

安装Python API
bash 复制代码
pip install dolphindb
连接示例
python 复制代码
import dolphindb as ddb

# 创建会话
session = ddb.session()

# 连接服务器
session.connect('localhost', 8848, 'admin', '123456')

# 执行脚本
result = session.run('1 + 1')
print(result)  # 输出: 2

# 执行查询
result = session.run('''
    t = table(1..10 as id, rand(100.0, 10) as value)
    select * from t where id > 5
''')
print(result)

# 关闭连接
session.close()

上述代码展示了Python API的基本用法。首先创建session对象,然后调用connect方法连接到DolphinDB服务器,使用run方法执行脚本,最后关闭连接。

6.2 Java客户端

Maven依赖
xml 复制代码
<dependency>
    <groupId>com.dolphindb</groupId>
    <artifactId>dolphindb-java-api</artifactId>
    <version>2.00.11.1</version>
</dependency>
连接示例
java 复制代码
import com.xxdb.DBConnection;
import com.xxdb.data.Entity;
import com.xxdb.data.BasicInt;

public class DolphinDBDemo {
    public static void main(String[] args) throws Exception {
        // 创建连接
        DBConnection conn = new DBConnection();
        conn.connect("localhost", 8848, "admin", "123456");
        
        // 执行脚本
        Entity result = conn.run("1 + 1");
        System.out.println(result);  // 输出: 2
        
        // 执行查询
        String script = "t = table(1..10 as id, rand(100.0, 10) as value);" +
                        "select * from t where id > 5";
        Entity table = conn.run(script);
        System.out.println(table);
        
        // 关闭连接
        conn.close();
    }
}

6.3 REST API

DolphinDB提供REST API接口:

bash 复制代码
# 执行脚本
curl -X POST "http://localhost:8848/api/run" \
    -H "Content-Type: application/json" \
    -d '{"script": "1 + 1"}'

# 查询数据
curl -X POST "http://localhost:8848/api/run" \
    -H "Content-Type: application/json" \
    -d '{"script": "select count(*) from loadTable(\"dfs://demo\", \"test_table\")"}'

七、常见问题排查

7.1 启动失败

7.2 连接失败

问题 排查方法 解决方案
服务未启动 `ps aux grep dolphindb`
端口不通 telnet localhost 8848 检查防火墙
密码错误 查看日志 使用正确密码
网络不通 ping localhost 检查网络配置

7.3 性能问题

bash 复制代码
# 查看系统资源
top -p $(pgrep dolphindb)

# 查看磁盘IO
iostat -x 1

# 查看内存使用
free -h

# 查看DolphinDB日志
tail -f /opt/dolphindb/server/log/dolphindb.log

7.4 日志分析

DolphinDB日志位置:

复制代码
/opt/dolphindb/server/log/dolphindb.log

常见日志级别:

级别 说明 处理方式
DEBUG 调试信息 开发环境使用
INFO 正常信息 无需处理
WARN 警告信息 关注但不紧急
ERROR 错误信息 需要立即处理

八、性能调优建议

8.1 内存配置

ini 复制代码
# 根据物理内存调整
maxMemSize=物理内存 * 0.6      # 最大内存使用
regularMemSize=物理内存 * 0.2  # 常规内存
chunkCacheDirMemLimit=4GB      # 分区缓存

8.2 线程配置

ini 复制代码
# 根据CPU核心数调整
workerNum=CPU核心数           # 工作线程
webWorkerNum=CPU核心数 / 2    # Web线程
diskIOConcurrency=4           # 磁盘IO并发

8.3 存储优化

优化项 建议 说明
磁盘类型 NVMe SSD 性能提升明显
文件系统 XFS / ext4 XFS更适合大文件
挂载选项 noatime 减少元数据写入
RAID RAID10 平衡性能和冗余

8.4 网络优化

ini 复制代码
# 网络配置优化
tcpNodelay=true
tcpKeepAlive=true
tcpSendBufferSize=1MB
tcpRecvBufferSize=1MB

九、安全配置

9.1 修改默认密码

python 复制代码
// 在DolphinDB中执行
login("admin", "123456")
changePassword("admin", "your_strong_password")

9.2 创建用户

python 复制代码
// 创建新用户
createUser("developer", "dev_password")

// 授予权限
grant("developer", TABLE_READ, "dfs://demo.*")
grant("developer", TABLE_WRITE, "dfs://demo.test_table")

9.3 防火墙配置

bash 复制代码
# 开放端口(仅内网访问)
sudo ufw allow from 192.168.1.0/24 to any port 8848

# 或使用iptables
sudo iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 8848 -j ACCEPT

十、总结

本文详细介绍了DolphinDB单机版在Windows和Linux环境下的安装部署流程。核心要点如下:

  1. 系统要求:64位操作系统,建议8核CPU、16GB内存、SSD存储
  2. 安装流程:下载、解压、配置、启动四步完成
  3. 配置优化:根据硬件资源调整内存、线程、存储配置
  4. 客户端连接:支持Python、Java、REST API等多种方式
  5. 问题排查:通过日志分析和系统监控定位问题
  6. 安全配置:修改默认密码、创建用户、配置防火墙

思考题

  1. 你的开发环境是什么操作系统?安装过程中遇到了哪些问题?
  2. 如何根据你的硬件配置优化DolphinDB参数?
  3. 生产环境部署需要注意哪些安全配置?

参考资料

相关推荐
格林威5 小时前
工业相机 SDK 在 Docker 容器中的部署与权限配置(含 USB/GigE)
开发语言·人工智能·数码相机·计算机视觉·docker·容器·工业相机
快往胃里来5 小时前
Dify保姆级教程:部署、智能体、工作流到后端API
阿里云·docker
FelixBitSoul11 小时前
Docker 镜像 SIZE、DISK USAGE、Layer、Prune、.dockerignore 全面解析:pull 到底下载多少?
docker
modelmd11 小时前
Docker 重命名数据卷
运维·docker·容器
James50612 小时前
NewAPI使用
人工智能·docker·newapi
geinvse_seg12 小时前
开源实战——手把手教你搭建AI量化分析平台:从Docker部署到波浪理论实战
人工智能·docker·开源·蓝耘元生代·蓝耘maas
格林威12 小时前
AI视觉项目部署:Docker 部署视觉服务可行性分析
linux·运维·人工智能·数码相机·docker·容器·工业相机
江湖有缘13 小时前
极简部署Radicale:Docker快速搭建自托管日历 / 联系人服务
运维·docker·容器