docker 安装 clickhouse 及 配置dbserver

1 安装

1.1 创建配置文件

mkdir -p /usr/local/clickhouse/data
mkdir -p /usr/local/clickhouse/conf
mkdir -p /usr/local/clickhouse/log

1.2 拉取镜像

docker pull yandex/clickhouse-server:20.4.5.36

1.3 创建目录

mkdir -p /usr/local/clickhouse/data/
mkdir -p /usr/local/clickhouse/config/
mkdir -p /usr/local/clickhouse/log/

1.4 创建临时容器

docker run -d \
--name clickhouse \
--ulimit nofile=262144:262144 \
-p 8123:8123 \
-p 9000:9000 \
-p 9009:9009 \
yandex/clickhouse-server:20.4.5.36

1.5 复制临时容器配置到主机

docker cp clickhouse:/etc/clickhouse-server/config.xml /usr/local/clickhouse/config/config.xml
docker cp clickhouse:/etc/clickhouse-server/users.xml  /usr/local/clickhouse/config/users.xml

1.6 生成密码

# 生成指定密码123456
[root@hadoop3 ~]# echo "123456"; echo -n "123456" | sha256sum | tr -d '-'
123456
8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
 
 

1.7 修改配置文件

#修改default的密码,并且设置为readonly
#新增root配置
vim /usr/local/clickhouse/config/users.xml

<users>
        <!-- If user name was not specified, 'default' user is used. -->
        <default>
            <password_sha256_hex>8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92</password_sha256_hex>
            <networks incl="networks" replace="replace">
                <ip>::/0</ip>
            </networks>
            <!-- Settings profile for user. -->
            <profile>readonly</profile>
            <quota>readonly</quota>
        </default>

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

1.8 重启

docker rm -f clickhouse

docker run -d \
--name clickhouse \
--ulimit nofile=262144:262144 \
-p 8123:8123 \
-p 9000:9000 \
-p 9009:9009 \
-v /usr/local/clickhouse/data:/var/lib/clickhouse:rw \
-v /usr/local/clickhouse/log:/var/log/clickhouse-server:rw \
-v /usr/local/clickhouse/config/config.xml:/etc/clickhouse-server/config.xml \
-v /usr/local/clickhouse/config/users.xml:/etc/clickhouse-server/users.xml \
yandex/clickhouse-server:20.4.5.36

1.9 测试

docker exec -it clickhouse /bin/bash

clickhouse-client --password 
123456



在这里插入图片描述

2 java 连接测试

2.1 pom

  <dependency>
            <groupId>cc.blynk.clickhouse</groupId>
            <artifactId>clickhouse4j</artifactId>
            <version>1.4.4</version>
        </dependency>

2.2 Test

package com.rosh.flink.clickhouse;

import java.sql.*;

public class ClickhouseTest {


    public static void main(String[] args) throws ClassNotFoundException, SQLException {


        String driver = "cc.blynk.clickhouse.ClickHouseDriver";
        String ip = "hadoop3";
        String port = "8123";
        String db = "default";
        String user = "default";
        String pwd = "123456";

        Class.forName(driver);
        StringBuffer urlSb = new StringBuffer()
                .append("jdbc:clickhouse://")
                .append(ip).append(":").append(port).append("/").append(db)
                .append("?characterEncoding=utf8&useSSL=false");
        Connection connection = DriverManager.getConnection(urlSb.toString(), user, pwd);
        Statement statement = connection.createStatement();
        ResultSet resultSet = statement.executeQuery("show databases");
        if(resultSet != null) {
            while(resultSet.next()) {
                String tableName = resultSet.getString(1);
                System.err.println(tableName);
            }
        }


    }

}

在这里插入图片描述

3 dbserver

3.1 配置dbserver

在这里插入图片描述
在这里插入图片描述

#配置
click
cc.blynk.clickhouse.ClickHouseDriver
jdbc:clickhouse://{host}:{port}[/{database}]
8123

在这里插入图片描述
新建好后连接:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3.2 使用

在这里插入图片描述

3.3 创建库

 CREATE DATABASE rosh_shop

在这里插入图片描述

3.4 创建表

CREATE TABLE rosh_shop.clickstream (
    customer_id String, 
    time_stamp Date, 
    click_event_type String,
    page_code FixedString(20),  
    source_id UInt64
) 
ENGINE = MergeTree()
ORDER BY (time_stamp)

在这里插入图片描述

3.5 插入数据

INSERT INTO rosh_shop.clickstream
VALUES ('customer1', '2021-10-02', 'add_to_cart', 'home_enter', 568239 ) 

在这里插入图片描述

3.6 查询数据

select * from rosh_shop.clickstream 

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是使用Docker安装ClickHouse配置远程访问的步骤: 1. 首先,确保已经安装Docker。如果没有安装,请根据您的操作系统进行安装。 2. 打开终端或命令提示符,并运行以下命令来拉取ClickHouseDocker镜像: ```shell docker pull yandex/clickhouse-server ``` 3. 运行以下命令来创建并启动一个ClickHouse容器: ```shell docker run -d --name clickhouse-server -p 8123:8123 -p 9000:9000 yandex/clickhouse-server ``` 这将创建一个名为clickhouse-server的容器,并将ClickHouse的HTTP端口映射到主机的8123端口,将ClickHouse的TCP端口映射到主机的9000端口。 4. 确认容器已经成功启动。运行以下命令来查看容器的状态: ```shell docker ps ``` 您应该能够看到clickhouse-server容器正在运行。 5. 现在,您可以通过访问http://localhost:8123来访问ClickHouse的Web界面。在Web界面中,您可以执行SQL查询和其他操作。 6. 要配置远程访问,您需要编辑ClickHouse配置文件。运行以下命令进入ClickHouse容器的bash终端: ```shell docker exec -it clickhouse-server bash ``` 7. 在容器中,找到ClickHouse配置文件,并使用文本编辑器进行编辑。默认情况下,配置文件位于/etc/clickhouse-server/config.xml。您可以运行以下命令来编辑配置文件: ```shell vi /etc/clickhouse-server/config.xml ``` 8. 在配置文件中,找到以下行: ```xml <listen_host>::</listen_host> ``` 将其修改为: ```xml <listen_host>0.0.0.0</listen_host> ``` 这将允许ClickHouse接受来自任何IP地址的连接。 9. 保存并关闭配置文件。 10. 重新启动ClickHouse容器,以使配置更改生效: ```shell docker restart clickhouse-server ``` 现在,您应该能够通过使用ClickHouse的IP地址和端口号来远程访问ClickHouse数据库。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

响彻天堂丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值