文章目录
ClickHouse是没有Windows版的,所以我们要想安装在windows上,一般会选择安装在Docker容器中
1.安装WSL2
因为在Docker运行的时候需要使用Linux内核,WSL 2 是 Windows 10 专业版和企业版的功能,它允许在 Windows 上运行原生的 Linux 二进制文件。Docker Desktop for Windows 使用 WSL 2 作为其后端运行引擎,以提供更高性能和更好的兼容性
1.1启用适用于 Linux 的 Windows 子系统
在开始菜单右键,使用管理员模式打开cmd/powershell
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
1.2启用Windows虚拟机功能
dism.exe /online /enable-feature/featurename:VirtualMachinePlatform /all /norestart
1.3将WSL2设置为默认版本
若运行后出现未知选项的报错,请重启后再运行此命令即可
wsl --set-default-version 2
1.4下载Linux内核更新包
适用于 x64 计算机的 WSL2 Linux 内核更新包,下载完成后,双击打开安装即可
1.5安装Linux子系统
在左下角搜索框中找到Microsoft Store,搜索 Ubuntu LTS,安装Linux子系统,例如Ubuntu 20.04.6 LTS
1.6设置账户和密码
在开始菜单中找到安装的 Ubuntu 20.04.6 LTS,设置账户和密码
2.安装Docker
2.1下载与安装
进入docker官网docker下载,下载Windows版本。
注意,安装完之后需要重启电脑,重启之前确保电脑上未完成的工作内容已保存,下载之后直接打开安装点击
close and restart
重启完成安装,我已经安装过了所以显示的是更新
电脑重启后,会弹出以下界面,勾选
i accept the terms
点击
accept
即可进入界面,若没有此界面,也可通过桌面的
Docker Desktop.exe
来启动
进入进入docker主界面,左下角显示绿色
ENGINE RUNNING
,则表示docker安装成功
2.2设置镜像地址
"registry-mirrors":["https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"]
在cmd/powershell中输入,可以看到Registry Mirrors已变更为我们设置的三个网站,即安装成功
docker info
3.安装Clickhouse
3.1拉取镜像
以管理员打开cmd/powershell,执行下面的命令
下载
clickhouse-server
docker pull yandex/clickhouse-server
下载
clickhouse-client
docker pull yandex/clickhouse-client
3.2启动clickhouse-server
下载完成后,直接运行clickhouse-server即可,这里建议在 git bash中启动,在cmd/powershell中需要将各文件路径换为Windows本地路径才行,这里直接在git bash 中用默认设置启动
docker run -d --name=clickhouse-server \
-p 8123:8123 -p 9009:9009 -p 9090:9000 \
--ulimit nofile=262144:262144 \
-v /data/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml \
-v /data/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml \
-v /data/clickhouse/log:/var/log/clickhouse-server \
-v /data/docker/database:/var/lib/clickhouse:wr \
yandex/clickhouse-server
docker run
:启动一个新的容器。
-d
:以后台(守护进程)模式运行容器。
--name=clickhouse-server
:为容器指定一个名称,这里是 “clickhouse-server”。
-p 8123:8123 -p 9009:9009 -p 9090:9000
:将容器内部的端口映射到主机的端口,允许通过主机访问 ClickHouse 服务器。例如,容器内的 8123 端口被映射到主机上的 8123 端口,可以通过主机的 8123 端口访问 ClickHouse 服务器。
--ulimit nofile=262144:262144
:设置容器的文件描述符限制。这里设置为 262144 个文件描述符。
-v /data/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml
:将主机系统中的文件
/data/clickhouse/conf/config.xml
映射到容器内的文件
/etc/clickhouse-server/config.xml
,用于配置 ClickHouse 服务器。
-v /data/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml
:将主机系统中的文件
/data/clickhouse/conf/users.xml
映射到容器内的文件
/etc/clickhouse-server/users.xml
,用于配置 ClickHouse 服务器的用户。
-v /data/clickhouse/log:/var/log/clickhouse-server
:将主机系统中的目录
/data/clickhouse/log
映射到容器内的目录
/var/log/clickhouse-server
,用于存储 ClickHouse 服务器的日志。
-v /data/docker/database:/var/lib/clickhouse:rw
:将主机系统中的目录
/data/docker/database
映射到容器内的目录
/var/lib/clickhouse
,用于存储 ClickHouse 服务器的数据,并允许读写操作。
yandex/clickhouse-server
:使用 yandex/clickhouse-server 镜像运行容器,即 ClickHouse 服务器的镜像。
3.3测试是否安装成功
进入docker中的clickhouse bash,运行sql
dockerexec -it clickhouse-server bash
clickhouse-client
show databases;
可以看到安装好后docker ui中出现了一个clickhouse-server服务,以后可以直接在界面上进行操作
3.4JDBC配置
三方数据库管理工具链接参数,默认default用户无密码
<jdbc-driver>com.clickhouse.jdbc.ClickHouseDriver</jdbc-driver><jdbc-url>jdbc:clickhouse://localhost:8123/</jdbc-url><user-name>default</user-name>
4.涉及到的常用命令
4.1退出clickhouse-client
exit
4.2退出docker bash
exit
4.3查看docker 进程
dockerps
4.4停止docker 中的容器
docker stop a992894a8ee8
4.5重新启动该容器
docker start a992894a8ee8
4.6删除该容器
dockerrm a992894a8ee8
4.7关闭wsl
不用时,减少内存占用
wsl --shutdown
4.8启动wsl
wsl
版权归原作者 DanielMaster 所有, 如有侵权,请联系我们删除。