sss

ClickHouse安装

Quber...大约 4 分钟大数据ClickHouse

ClickHouse 说明

本章,我们主要以在 Windows 中使用 Docker 对ClickHouse 安装进行介绍!

1、🌱 拉取 ClickHouse 镜像

以管理员身份运行 CMD,依次执行如下命令:

docker pull yandex/clickhouse-server
docker pull yandex/clickhouse-client
pull
pull
pull
pull
pull
pull

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

执行如下命令:

docker run --rm -d --name=temp-clickhouse-server yandex/clickhouse-server
server
server

3、🌳 配置及映射

  • 创建目录D:\Net_Program\Net_Docker\ClickHouse,用于存储数据、日志、配置等相关文件;

  • 创建目录D:\Net_Program\Net_Docker\ClickHouse\Conf,用于存放 config.xml 和 users.xml 配置文件;

  • 分别执行如下命令,执行后会在Conf文件夹中生成config.xmlusers.xml文件:

    docker cp temp-clickhouse-server:/etc/clickhouse-server/config.xml D:/Net_Program/Net_Docker/ClickHouse/Conf/config.xml
    
    docker cp temp-clickhouse-server:/etc/clickhouse-server/users.xml D:/Net_Program/Net_Docker/ClickHouse/Conf/users.xml
    
    xml
    xml
    xml
    xml

4、🌴 创建账号

  • 执行如下命令进入临时容器 temp-clickhouse-server:

    docker run --rm -d --name=temp-clickhouse-server yandex/clickhouse-server
    
    4.1
    4.1
  • 继续执行如下命令:

    docker exec -it temp-clickhouse-server /bin/bash
    
    4.2
    4.2
  • 执行如下命令创建账号和密码(如下命令分别代表创建的账号为 quber,修改默认账号 default,密码为 123456):

    创建账号 quber:

    PASSWORD=$(base64 < /dev/urandom | head -c8); echo "quber"; echo -n "123456" | sha256sum | tr -d '-'
    

    修改默认账号 default:

    PASSWORD=$(base64 < /dev/urandom | head -c8); echo "default"; echo -n "123456789" | sha256sum | tr -d '-'
    
    4.3
    4.3
  • 上述创建账号和密码的命令执行后,会显示创建的账号和生成的加密密码,此时复制出来,以便配置到 users.xml 中去

    复制出来如下所示:

    quber
    8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
    
    default
    15e2b0d3c33891ebb0f1ef609ec419420c20e320ce94c65fbc8c3312448eb225
    
  • 修改 users.xml 文件

    在<users>节点下增加如下配置则代表新增加一个用户(其中的 password_sha256_hex 节点就是上一步我们复制出来的加密密码):

    <quber>
        <password_sha256_hex>8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92</password_sha256_hex>
        <networks incl="networks" replace="replace">
            <ip>::/0</ip>
        </networks>
        <profile>default</profile>
        <quota>default</quota>
    </quber>
    
    4.4
    4.4

    修改 default 默认用户的密码:

    找到<users>→<default>节点,将该节点下的<password>修改为:

    <password_sha256_hex>15e2b0d3c33891ebb0f1ef609ec419420c20e320ce94c65fbc8c3312448eb225</password_sha256_hex>
    
    4.5
    4.5

5、🌵 修改监听 host

修改 config.xml 文件,打开该文件,将如下配置增加进去即可:

<listen_host>0.0.0.0</listen_host>
5
5

6、🌾 销毁临时容器

由于我们在 CMD 中最后执行的是创建账号和密码的命令,此时需要先执行退出命令exit,再执行销毁命令:

先执行 exit:

exit

再执行:

docker stop temp-clickhouse-server
6
6

7、🌿 构建并启动 ClickHouse 容器

D:\Net_Program\Net_Docker\ClickHouse目录下创建DataLog文件夹,用于存放数据和日志文件等。

执行如下命令,映射端口 8123、9000、9009,数据、配置、日志映射到 Windows 硬盘:

docker run -d --name=clickhouse -p 8123:8123 -p 9000:9000 -p 9009:9009 --ulimit nofile=262144:262144 --volume D:/Net_Program/Net_Docker/ClickHouse/Data:/var/lib/clickhouse:rw --volume D:/Net_Program/Net_Docker/ClickHouse/Conf:/etc/clickhouse-server:rw --volume D:/Net_Program/Net_Docker/ClickHouse/Log:/var/log/clickhouse-server:rw yandex/clickhouse-server
7
7
7
7

ClickHouse 已经正常启动并运行了。

当然,我们也可以使用如下命令查看运行容器的情况。

查看所有运行的容器:

docker ps
7
7

8、☘ 客户端测试

如这里我们可以使用 DBeaver 这个工具来测试。

如下图所示打开 DBeaver,选择 ClickHouse:

测试
测试

输入账户和密码,连接地址和端口:

测试
测试

点击测试连接:

测试
测试

连接效果:

测试
测试

提示

如果首次使用 DBeaver,可能会出现 ClickHouse 驱动没法下载的情况。

类似 Can't create driver instance Error creating driver 'ClickHouse' instance. Most likely required jar files are missing. You should configure jars in driver settings. Reason: can't load driver class 'com.clickhouse.jdbc.ClickHouseDriver' Error creating 错误。

此时我们可以去设置添加驱动下载源为阿里云:

依次定位到:窗口,首选项,连接,驱动,然后点击Maven,在右侧点击添加,然后输入https://maven.aliyun.com/repository/public/,然后将此项移动到第一位,最后确定保存重启 DBeaver 工具即可。

测试
测试

9、🍀 增加和修改账号

  1. 运行临时容器 temp-clickhouse-server:

    执行如下命令:

    docker run --rm -d --name=temp-clickhouse-server yandex/clickhouse-server
    
  2. 执行如下命令进入临时容器 temp-clickhouse-server:

    docker run --rm -d --name=temp-clickhouse-server yandex/clickhouse-server
    
  3. 继续执行如下命令:

    docker exec -it temp-clickhouse-server /bin/bash
    
  4. 创建或修改账号 quber:

    PASSWORD=$(base64 < /dev/urandom | head -c8); echo "quber"; echo -n "123456" | sha256sum | tr -d '-'
    

    上述创建或修改账号和密码的命令执行后,会显示创建的账号和生成的加密密码,此时复制出来,以便配置到 users.xml 中去

    复制出来如下所示:

    quber
    8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
    
  5. 修改 users.xml 文件

    在<users>节点下增加如下配置则代表新增加一个用户(其中的 password_sha256_hex 节点就是上一步我们复制出来的加密密码):

    <quber>
        <password_sha256_hex>8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92</password_sha256_hex>
        <networks incl="networks" replace="replace">
            <ip>::/0</ip>
        </networks>
        <profile>default</profile>
        <quota>default</quota>
    </quber>
    
    4.4
    4.4

    修改 default 默认用户的密码:

    找到<users>→<default>节点,将该节点下的<password>修改为:

    <password_sha256_hex>15e2b0d3c33891ebb0f1ef609ec419420c20e320ce94c65fbc8c3312448eb225</password_sha256_hex>
    
    4.5
    4.5
  6. 销毁临时容器

    由于我们在 CMD 中最后执行的是创建账号和密码的命令,此时需要先执行退出命令exit,再执行销毁命令:

    先执行 exit:

    exit
    

    再执行:

    docker stop temp-clickhouse-server
    
    6
    6