Docker安装ClickHouse

创建目录并更改权限

mkdir -p /app/cloud/clickhouse/data

mkdir -p /app/cloud/clickhouse/conf

mkdir -p /app/cloud/clickhouse/log

chmod -R 777 /app/cloud/clickhouse/data

chmod -R 777 /app/cloud/clickhouse/conf

chmod -R 777 /app/cloud/clickhouse/log

拉取镜像

docker pull yandex/clickhouse-server:20.3.5.21

创建临时容器

docker run --rm -d --name=clickhouse-server \

--ulimit nofile=262144:262144 \

-p 8123:8123 -p 9009:9009 -p 9090:9000 \

yandex/clickhouse-server:20.3.5.21

复制临时容器内配置文件到宿主机

docker cp clickhouse-server:/etc/clickhouse-server/config.xml /app/cloud/clickhouse/conf/config.xml

docker cp clickhouse-server:/etc/clickhouse-server/users.xml /app/cloud/clickhouse/conf/users.xml

停掉临时容器

docker stop clickhouse-server

创建default账号密码

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

会输出明码和SHA256密码(每个人生成的不一样)

jQ+72k17

a70b3173bfef01aff0d2472fd1f86a4be647aed4e0624f1b6c867a69072e1273

创建root账号密码

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

会输出明码和SHA256密码(每个人生成的不一样)

EhKo9q0z

3d37e813ba8e840306a17158aa6027251c064dc9c36fb1146ae6c5d001993acc

修改 /app/cloud/clickhouse/conf/users.xml

vim /app/cloud/clickhouse/conf/users.xml

把default账号设为只读权限,并设置密码 yandex-->users-->default-->profile 节点设为 readonly 注释掉 yandex-->users-->default-->password 节点 新增  yandex-->users-->default-->password_sha256_hex 节点,填入生成的密码

新增root账号

<root>

<password_sha256_hex>3d37e813ba8e840306a17158aa6027251c064dc9c36fb1146ae6c5d001993acc</password_sha256_hex>

 <networks incl="networks" replace="replace">

<ip>::/0</ip>

</networks>

<profile>default</profile>

<quota>default</quota>

</root>

配置如下所示:(红色字体是需要自己去添加的)

<?xml version="1.0"?>

<yandex>

    <profiles>

        <default>

            <use_uncompressed_cache>0</use_uncompressed_cache>

            <load_balancing>random</load_balancing>

        </default>

        <readonly>

            <readonly>1</readonly>

        </readonly>

    </profiles>

<!-- Users and ACL. -->

    <users>

        <!-- If user name was not specified, 'default' user is used. -->

        <default>

<!-- <password></password> -->

            <password_sha256_hex>default账号的SHA256密码</password_sha256_hex>

            <networks incl="networks" replace="replace">

                <ip>::/0</ip>

            </networks>

            <profile>readonly</profile>

            <quota>default</quota>

        </default>

        <root>

<password_sha256_hex>root账号的SHA256密码</password_sha256_hex>

                <networks incl="networks" replace="replace">

                        <ip>::/0</ip>

                </networks>

                <profile>default</profile>

                <quota>default</quota>

        </root>

    </users>

    <!-- Quotas. -->

    <quotas>

        <!-- Name of quota. -->

        <default>

            <interval>

                <!-- Length of interval. -->

                <duration>3600</duration>

                <!-- No limits. Just calculate resource usage for time interval. -->

                <queries>0</queries>

                <errors>0</errors>

                <result_rows>0</result_rows>

                <read_rows>0</read_rows>

                <execution_time>0</execution_time>

            </interval>

        </default>

    </quotas>

</yandex>

创建容器

docker run -d --name=clickhouse-server \

-p 8123:8123 -p 9009:9009 -p 9090:9000 \

--ulimit nofile=262144:262144 \

-v /app/cloud/clickhouse/data:/var/lib/clickhouse:rw \

-v /app/cloud/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml \

-v /app/cloud/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml \

-v /app/cloud/clickhouse/log:/var/log/clickhouse-server:rw \

yandex/clickhouse-server:20.3.5.21

重启clickhouse

systemctl restart clickhouse-server.service

客户端连接

clickhouse-client

 

至此结束

此文参考:使用Docker安装ClickHouse

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值