ClickHouse基础(八)使用基础(5)ClickHouse 的安装(win10)

零 导读

  • 随着互联网技术的发展,海量数据已经成为公司决策分析的重要来源,ClickHouse有着大数据入门和低学习成本(支持SQL)的优势,故开启了第一篇环境搭建。希望能降低ClickHouse的入门门槛。

一 环境及工具

  • Windows10专业版(64位):Windows其他版本可能会有其他问题,建议使用该环境。
  • Docker Desktop:可以在Windows环境下运行docker的一款产品。
  • DBeaver:支持ClickHouse数据库的一款数据库管理工具。

二 Windows 相关配置

1、启用虚拟化

  • 打开任务管理器(CTRL+ALT+DELETE)-> 选择性能 -> CPU ->虚拟化,确认是否已启用。

2、启用Hyper-v

  • 控制面板(Win+R -> 输入control -> 回车) -> 程序 -> 启用或关闭Windows功能 -> 勾选Hyper-v

三 Docker相关

1、下载

  • https://www.docker.com/products/docker-desktop

2、安装

  • 安装非常简单,不赘述。安装成功后查看windows任务栏会出现docker的经典logo,小鲸鱼。

3、查看版本

  • 打开Windows控制台(Win+R -> 输入cmd -> 回车)-> 输入
docker --version

四、配置

1 docker desktop wsl2 修改默认子系统存储位置

 https://zhuanlan.zhihu.com/p/339377526

安装WSL2后,可以在docker windows版本设置的general选项中,选择 Use the WSL2 based engine ,已启用WSL2功能。此时,修改Docker desktop的方法和前节修改WSL其他子系统方法一样,只是,在Windows中,dockers程序被分为以下两个wsl2的子系统:

  • docker-desktop
  • docker-desktop-data (images会放到这里)

修改步骤如下:

//退出docker
//导出docker子系统
wsl --export docker-desktop D:\docker-desktop\docker-desktop.tar
wsl --export docker-desktop-data D:\docker-desktop\docker-desktop-data.tar
//注销现有docker子系统
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data
//使用新位置导入docker子系统
wsl --import docker-desktop D:\docker-desktop\distro D:\docker-desktop\docker-desktop.tar --version 2
wsl --import docker-desktop-data D:\docker-desktop\data D:\docker-desktop\docker-desktop-data.tar --version 2
//重新启动dockers

 3.配置Docker国内镜像加速下载:左侧菜单 Docker Engine -> 右侧输入框 -> Apply & Restart

{
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn"
  ],
  "insecure-registries": [],
  "debug": false,
  "experimental": false,
  "features": {
    "buildkit": true
  }
}

五 ClickHouse相关

1、拉取镜像

  • 打开Windows控制台(Win+R -> 输入cmd -> 回车)-> 输入
docker pull yandex/clickhouse-server
docker pull yandex/clickhouse-client
  • tips:如果没有配置国内镜像无法下载

2、运行临时容器 temp-clickhouse-server

  • Windows控制台继续执行命令
docker run --rm -d --name=temp-clickhouse-server yandex/clickhouse-server

3、config配置和users配置映射Windows硬盘目录

  • (1) 在D盘根目录创建 D:/clickhouse/conf 文件夹
  • (2) 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
  • tips:如果没有配置Dcoker文件挂载目录权限,会报错。
  • (3) 查看文件情况

4、创建账号

  • (1) 进入临时容器 temp-clickhouse-server ,Windows控制台继续执行命令
docker exec -it temp-clickhouse-server /bin/bash
  • (2) 容器内执行命令,生成账号的SHA256,例如账号:zhai 密码:zhai
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "zhai"; echo -n "zhai" | sha256sum | tr -d '-
  • 执行结果
  • (3) 修改 D:/clickhouse/conf/users.xml 文件
<users>
    <zhai>            
        <password_sha256_hex>3b75903cd12c5e8ad59f73feb4baa526ed3fe234f2d77d421d7b9d73fefb3f61</password_sha256_hex>
           <networks incl="networks" replace="replace">
           <ip>::/0</ip>
        </networks>
        <profile>zhai</profile>
        <quota>zhai</quota>
    </zhai>
</users>

5、修改监听host

  • 修改 D:/clickhouse/conf/config.xml 文件
<listen_host>0.0.0.0</listen_host>
  • tips:一般是IPV4,如果IPV6改成 ::

6、销毁临时容器

  • Windows控制台执行命令
docker stop temp-clickhouse-server

7、运行ClickHouse服务

  • (1) 创建目录:D:/clickhouse/data 和 D:/clickhouse/log
  • (2) Windows控制台执行命令,映射端口 8123、9000、9009,数据、配置、日志映射到Windows硬盘
docker run -d --name=single-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

8、安装完毕

 

 六 CLICKHOUSE_CLIENT(docker 安装clickhouse-client )

1  拉取yandex/clickhouse-client docker镜像 

docker pull yandex/clickhouse-client

2  启动clickhouse-client

docker run --name liucf-clickhouse-client  -it --rm --link single-clickhouse-server:clickhouse-server-alias docker.io/yandex/clickhouse-client --host 192.168.12.14 --port 9000 --user zhai --password zhai

 

可见启动成功可以使用

因为客户端每次使用完不用一直常驻所以这里使用--rm 参数 在使用exit 命令退出liucf-clickhouse-client容器后就会直接删除这个容器,下次启动重新创建就可以了

注意:这里使用了 docker --link 命令,可以让一个容器和另一个容器很方便的连接起来,其参数部分的single-clickhouse-server表示要连接的容器真是名称,clickhouse-server-alias是要连接的容器的别名。192.168.12.14 宿主机IP

相关问题:

 

 

解决报错

更加报错提示,猜测可能是我们使用的wsl2版本老了,需要我们自己手动更新一下,我们根据提示去微软官网下载最新版的wsl2安装后即可正常打开。

参考链接:

https://zhuanlan.zhihu.com/p/339377526

https://cloud.tencent.com/developer/article/1804512

https://blog.csdn.net/m0_37813354/article/details/109526076

 

posted @ 2021-08-07 21:30  秋华  阅读(990)  评论(0编辑  收藏  举报