一、所需工具
1、Windows10专业版或企业版(64位)
2、Docker Desktop
3、DBeaver
二、步骤
1、开启虚拟化,开机进入BIOS 开启虚拟化选项,不同主板、笔记本操作方式各异。如我使用的华硕主板按下开机键后不断按下F2或Delete键可进入BIOS.
2、安装Docker Desktop
下载链接 desktop.docker.com/win/stable/… 安装完毕后进入cmd或powersheel 输入
docker --version
如下所示
3、进入Docker Desktop
首次进入提示 “WSL 2 installation is incomplete”且点设置界面一直转圈
去官网下载最新的wsl安装包
wslstorestorage.blob.core.windows.net/wslblob/wsl…
安装后进入Docker Desktop不再提示,但是弹出错误 “Failed to set version to docker-desktop: exit code: -1”
命令行键入 wsl 提示
由于程序和功能里已添加子系统
那根据提示尝试手动安装分发版。
wsl --install -d Ubuntu
安装完毕后进入Docker Desktop仍弹出相同错误“Failed to set version to docker-desktop: exit code: -1” 根据网上经验贴键入命令
netsh winsock reset
执行后重启电脑 重启后启动正常 打开设置-Docker Engine-配置镜像
{
"debug": false,
"experimental": false,
"features": {
"buildkit": true
},
"insecure-registries": [],
"registry-mirrors": [
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
]
}
4、安装ClickHouse
拉取镜像
docker pull yandex/clickhouse-server
docker pull yandex/clickhouse-client
运行临时容器 temp-clickhouse-server
docker run --rm -d --name=temp-clickhouse-server yandex/clickhouse-server
config配置和users配置映射Windows硬盘目录
docker cp temp-clickhouse-server:/etc/clickhouse-server/config.xml D:/clickhouse/conf/config.xml
docker cp temp-clickhouse-server:/etc/clickhouse-server/users.xml D:/clickhouse/conf/users.xml
执行完毕在硬盘对应目录下会生成对应的配置文件
创建账号
进行临时容器
docker exec -it temp-clickhouse-server /bin/bash
容器内执行命令,生成自定义账号的SHA256 如下我自定义账号:fpy 密码:fpy
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "fpy"; echo -n "fpy" | sha256sum | tr -d '-'
修改users.xml文件配置为自定义账号与对应的SHA256
<fpy>
<password_sha256_hex>51713e35c5db91cd216459cdb3d359ddd018f827339fe06f560ad5dca5305223</password_sha256_hex>
<networks incl="networks" replace="replace">
<ip>::/0</ip>
</networks>
<profile>fpy</profile>
<quota>fpy</quota>
</fpy>
修改config.xml文件配置监听
<listen_host>0.0.0.0</listen_host>
返回到命令行销毁临时容器
docker stop temp-clickhouse-server
创建目录:D:/clickhouse/data 和 D:/clickhouse/log
映射端口 8123、9000、9009,数据、配置、日志映射到Windows硬盘 注意不要修改以上端口,以上端口是config.xml文件里的默认配置,如自定义应同步修改config.xml文件里的配置
docker run -d --name=clickhouse-server -p 8123:8123 -p 9000:9000 -p 9009:9009 --ulimit nofile=262144:262144 --volume D:/clickhouse/data:/var/lib/clickhouse:rw --volume D:/clickhouse/conf:/etc/clickhouse-server:rw --volume D:/clickhouse/log:/var/log/clickhouse-server:rw yandex/clickhouse-server
Docker Desktop 显示如下
5、安装DBeaver连接ClickHouse
官网下载链接 dbeaver.io/files/dbeav…
我是直接在微软商店里下载
新建数据库连接
连接失败。clickhouse 启动后日志记录有两种错误:1、code 1001: permission denied 2、code 84: file already exists。各种经验贴借鉴尝试后无效,决定转用linux虚拟机安装。