Clickhouse数据库安装-单机版本(centos7.0)

Clickhouse数据库安装

Clickhouse 仅支持Linux 且必须支持SSE4.2 指令集 :centos7

命令:grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"
结果:SSE 4.2 supported

clickhouse下载地址: https://packagecloud.io/Altinity/clickhouse

安装存储库命令: curl -s https://packagecloud.io/install/repositories/Altinity/clickhouse/script.rpm.sh | sudo bash

云安装安装wget:yum install -y wget

wget --content-disposition https://packagecloud.io/Altinity/clickhouse/packages/el/7/clickhouse-server-common-20.8.3.18-1.el7.x86_64.rpm/download.rpm
wget --content-disposition https://packagecloud.io/Altinity/clickhouse/packages/el/7/clickhouse-server-20.8.3.18-1.el7.x86_64.rpm/download.rpm
wget --content-disposition https://packagecloud.io/Altinity/clickhouse/packages/el/7/clickhouse-common-static-20.8.3.18-1.el7.x86_64.rpm/download.rpm
wget --content-disposition https://packagecloud.io/Altinity/clickhouse/packages/el/7/clickhouse-client-20.8.3.18-1.el7.x86_64.rpm/download.rpm

运行安装:rpm -ivh ./*.rpm 成功如下图所示:

在这里插入图片描述

配置ClickHouse

ClickHouse中的配置项很多,默认会在/etc下生成clickhouse-serverclickhouse-client两个目录,由于我们安装服务我们去修改clickhouse-server下的配置文件修改/etc/clickhouse-server/config.xml

比较重要:访问外网: <listen_host>::</listen_host>

编辑: vi /etc/clickhouse-server/config.xml 常见修改目录

  • logger 修改日志的存放路径
  • http_port 修改浏览器访问的端口,默认为8123
  • tcp_port 修改tcp协议的传输端口
  • openSSL 一些ssl的认证配置文件,我们暂时不做ssl认证,此处不做处理
  • listen_host 如果我们要对外使用服务的话,此处需要修改成0.0.0.0
  • remote_servers 此处是集群相关的配置信息后续会详解

默认路径:

  1. /var/lib/clickhouse : 默认的数据存储目录,通常会修改,将数据保存到大容量磁盘路径中

  2. /var/log/cilckhouse-server : 默认保存日志的目录,通常会修改,将数据保存到大容量磁盘路径中

用户名加密码:修改etc/clickhouse-server/users.xml

default下面的password加123456

启动方式

1.启动clickhouse服务:service clickhouse-server start

2.或者控制台中直接启动服务 : clickhouse-server --config-file=/etc/clickhouse-server/config.xml 日志将被打印到控制台中,这在开发过程中很方便。如果配置文件在当前目录中,你可以不指定’–config-file’参数。它默认使用’./config.xml’。

重启: service clickhouse-server restart

命令行客户端连接到服务

命令: clickhouse-client

出现如下信息:

ClickHouse client version 20.8.3.18.
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 20.8.3 revision 54438.

备注: 多个SQL按照英文;分割每个SQL即可

显示当前数据库:show databases;

创建数据库:create database if not exists dw;

退出:exit

clickhouse默认使用:9000端口 8123

开放端口

firewall-cmd --zone=public --add-port=8123/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --add-port=9000/tcp --permanent

客户端的访问接口

ClickHouse的底层访问接口支持TCP和HTTP两种协议,其中,TCP协议拥有更好的性能,其默认端口为9000,主要用于集群间的内部通信及CLI客户端;而HTTP协议则拥有更好的兼容性,可以通过REST服务的形式被广泛用于JAVA、Python等编程语言的客户端,其默认端口为8123。通常而言,并不建议用户直接使用底层接口访问ClickHouse,更为推荐的方式是通过CLI和JDBC这些封装接口,因为它们更加简单易用。

CLI(Command Line Interface)即命令行接口,其底层是基于TCP接口进行通信的,是通过clickhouse-client脚本运行的。它拥有两种执行模式。

重要参数(1)–host / -h:服务端的地址,默认值为localhost。如果修改了config.xml内的listen_host,则需要依靠此参数指定服务端地址,例如下面所示的代码。
(2)–port:服务端的TCP端口,默认值为9000。如果要修改config.xml内的tcp_port,则需要使用此参数指定。
(3)–user / -u:登录的用户名,默认值为default。如果使用非default的其他用户名登录,则需要使用此参数指定,例如下面所示代码。关于自定义用户的介绍将在第11章展开。
(4)–password:登录的密码,默认值为空。如果在用户定义中未设置密码,则不需要填写(例如默认的default用户)。
(5)–database / -d:登录的数据库,默认值为default。
(6)–query / -q:只能在非交互式查询时使用,用于指定SQL语句。
(7)–multiquery / -n:在非交互式执行时,允许一次运行多条SQL语句,多条语句之间以分号间隔。
(8)–time / -t:在非交互式执行时,会打印每条SQL的执行时间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
你可以使用 clickhouse-driver 库来将 DataFrame 数据传输到 ClickHouse 库中。具体步骤如下: 1. 首先,安装 clickhouse-driver 库。在终端输入以下命令: ``` pip install clickhouse-driver ``` 2. 在 Python 中导入 clickhouse-driver 库: ``` import clickhouse_driver ``` 3. 创建 ClickHouse 客户端对象,连接到 ClickHouse 服务器: ``` client = clickhouse_driver.Client('localhost') ``` 这里的 localhost 是 ClickHouse 服务器的地址,如果不在本机上,需要填写相应的 IP 地址。 4. 创建数据表。可以使用普通的 SQL 语句来创建数据表,例如: ``` client.execute('CREATE TABLE test (id Int32, name String) ENGINE = Memory') ``` 5. 将 DataFrame 转换为 ClickHouse 中的数据格式。clickhouse-driver 库提供了一个将 DataFrame 转换为 ClickHouse 格式的函数,例如: ``` data = [(1, 'Alice'), (2, 'Bob'), (3, 'Charlie')] columns = ['id', 'name'] df = pd.DataFrame(data, columns=columns) prepared_data = client.prepare_insert('test', df.columns) prepared_data.executemany(df.values) ``` 这里的 df 是一个 Pandas 的 DataFrame,data 是该 DataFrame 中的数据。使用 client.prepare_insert 函数,将 DataFrame 的列名传递给 ClickHouse。然后,使用 prepared_data.executemany 函数,将 DataFrame 中的数据插入到 ClickHouse 表中。 6. 查询数据。可以使用普通的 SQL 语句来查询数据,例如: ``` data = client.execute('SELECT * FROM test') ``` 这里的 data 是一个包含查询结果的列表。 这样,就可以在 Python 中将 DataFrame 数据传输到 ClickHouse 库中了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

superlliuchao

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

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

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

打赏作者

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

抵扣说明:

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

余额充值