python连接clickhouse的端口问题及解决

目录
  • python连接clickhouse端口问题
  • 向clickhouse导数据报错

python连接clickhouse端口问题

   <!-- It is the name that will be shown in the clickhouse-client.
         By default, anything with "production" will be highlighted in red in query prompt.
    -->
    <!--display_name>production</display_name-->

    <!-- Port for HTTP API. See also 'https_port' for secure connections.
         This interface is also used by ODBC and JDBC drivers (DataGrip, Dbeaver, ...)
         and by most of web interfaces (embedded UI, Grafana, Redash, ...).
      -->
    <http_port>8123</http_port>

    <!-- Port for interaction by native protocol with:
         - clickhouse-client and other native ClickHouse tools (clickhouse-benchmark, clickhouse-copier);
         - clickhouse-server with other clickhouse-servers for distributed query processing;
         - ClickHouse drivers and applications supporting native protocol
         (this protocol is also informally called as "the TCP protocol");
         See also 'tcp_port_secure' for secure connections.
    -->
    <tcp_port>9000</tcp_port>

注意到可以使用两个端口,8123 和 9000 分别接收 http 协议和tcp协议。

  • 如果用jdbc连接,端口为 8123
  • 如果用driver连接,端口为 9000
from clickhouse_driver import Client
client = Client(host=host, port=port, user=user, password=password, database='default')
client  = get_client()
client.execute("show tables;")
print(client.execute("select * from test_arr"))
client.disconnect()

此时如果用8123端口则会得到如下报错:

clickhouse_driver.errors.UnexpectedPacketFromServerError: Code: 102. Unexpected packet from server 192.168.137.101:8123 (expected Hello or Exception, got Unknown packet)

向clickhouse导数据报错

clickhouse_driver.errors.UnexpectedPacketFromServerError: Code: 102

今天用python写个etl从mysql向clickhouse同步数据, 数据量不到1千万,导了一会报上面的第错误。然后在网上查了一下:找到文档写得很清楚:

Welcome to clickhouse-driver — clickhouse-driver 0.2.4 documentation

原来clickhouse提供两个端口:8123和9000

用native protocal需要使用9000端口,然后修改端口后成功。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python使用ClickHouse的实践与踩坑记录

    目录 1. 关于ClickHouse使用实践 1.1. ClickHouse 应用于数据仓库场景 1.2. 客户端工具DBeaver 1.3. 大数据应用实践 2. Python使用ClickHouse实践 2.1. ClickHouse第三方Python驱动clickhouse_driver 2.2. 实践程序代码 3. 小结一下 操作ClickHouse删除指定数据 ClickHouse是近年来备受关注的开源列式数据库(DBMS),主要用于数据联机分析(OLAP)领域,于2016年开源.目前

  • python实现MySQL指定表增量同步数据到clickhouse的脚本

    python实现MySQL指定表增量同步数据到clickhouse,脚本如下: #!/usr/bin/env python3 # _*_ coding:utf8 _*_ from pymysqlreplication import BinLogStreamReader from pymysqlreplication.row_event import (DeleteRowsEvent,UpdateRowsEvent,WriteRowsEvent,) import clickhouse_driver

  • python连接clickhouse数据库的两种方式小结

    目录 python连接clickhouse数据库 主要针对clickhouse_driver的使用进行简要介绍 python将数据写入clickhouse python连接clickhouse数据库 在Python中获取系统信息的一个好办法是使用psutil这个第三方模块. 顾名思义,psutil = process and system utilities,它不仅可以通过一两行代码实现系统监控,还可以跨平台使用. 主要针对clickhouse_driver的使用进行简要介绍 第一步: 通过pi

  • python连接clickhouse的端口问题及解决

    目录 python连接clickhouse端口问题 向clickhouse导数据报错 python连接clickhouse端口问题 <!-- It is the name that will be shown in the clickhouse-client. By default, anything with "production" will be highlighted in red in query prompt. --> <!--display_name&g

  • Serv-U 无法连接到服务器127.0.0.1,端口43958 之解决办法

    Serv-U"无法连接到服务器127.0.0.1,端口43958"的原因 始终搞不明白问题出在哪里,后上网查了资料,大概原因如下: 43958,这是Serv-U的本地管理端口,只允许127.0.0.1连接,这个端口不能连接,是因为: 1. 权限错.(本人再将system加进,且赋予默认权限,问题解决.) 2. 可能软件本身问题,也禁止了127.0.0.1的连接: 3. 黑客攻击也有可能出现这个问题. Serv-U"无法连接到服务器127.0.0.1,端口43958"

  • python django中8000端口被占用的解决

    1. 问题截图:(8000端口被占用) 2. 第一种是可能会打开了多个运行窗口右键关闭即可: 3. 第二种是在你运行python的主机上查询出python所有在执行的python文件所占用的端口,并强行停止它 ps -ef|grep python # 查询出所有正执行的python文件所占用的端口 kill -9 3086 # 找到所有占用8000端口的进程 -9 是强制停止它 以上这篇python django中8000端口被占用的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希

  • Python连接Oracle之环境配置、实例代码及报错解决方法详解

    Oracle Client 安装 1.环境 日期:2019年8月1日 公司已经安装好Oracle服务端 Windows版本:Windows10专业版 系统类型:64位操作系统,基于x64的处理器 Python版本:Python 3.6.4 :: Anaconda, Inc. 2.下载网址 https://www.oracle.com/database/technologies/instant-client/downloads.html 3.解压至目录 解压后(这里放D盘) 4.配置环境变量 控制

  • Serv-U  无法连接到服务器127.0.0.1,端口43958 之解决办法

    Serv-U"无法连接到服务器127.0.0.1,端口43958"的原因 始终搞不明白问题出在哪里,后上网查了资料,大概原因如下: 43958,这是Serv-U的本地管理端口,只允许127.0.0.1连接,这个端口不能连接,是因为: 1. 权限错.(本人再将system加进,且赋予默认权限,问题解决.) 2. 可能软件本身问题,也禁止了127.0.0.1的连接: 3. 黑客攻击也有可能出现这个问题. Serv-U"无法连接到服务器127.0.0.1,端口43958"

  • 配置python连接oracle读取excel数据写入数据库的操作流程

    前提条件:本地已经安装好oracle单实例,能使用plsql developer连接,或者能使用TNS连接串远程连接到oracle集群 读取excel写入数据库的方式有多种,这里介绍的是使用pandas写入,相对来说比较简便,不需要在读取excel后再去整理数据 整个过程需要分两步进行: 一.配置python连接oracle并测试成功 网上有不少教程,但大部分都没那么详细,并且也没有说明连接单实例和连接集群的区别,这里先介绍连接oracle单实例的方式,后续再补充连接oracle集群方式. 版本

  • 关于Python连接Cassandra容器进行查询的问题

    首先Cassandra是使用docker-swarm同微服务一同部署的. 问题的关键在于寻找到Cassandra的9042端口,从而获取数据. 问题一:在主节点Ping Cassandra容器的IP,由于利用docker-swarm网桥连接的容器,两者的IP不在同一网段,所以ping失败,无法获取9042端口. 问题二:在 Cassandra容器内输入ip addr,得到结果如下: 得到两个IP字段,其中下面的IP字段对应的是docker-swarm创建的网桥,在主节点尝试ping一下,竟然可以

  • python连接sql server数据库的方法实战

    目录 一.安装第三方模块 二.连接数据库 三.遇到的问题 总结 一.安装第三方模块 首先要下载名为"pymssql"的模块,然后import该模块 安装方法 :1.第一种方法:按win+r----> 输入cmd—>输入以下命令即可 pip install pymssql 2.第二种方法:打开pycharm,点击File,再点击settings,点击settings之后再点击project下面的project Interpreter,在界面中点击+号,直接搜索pymssql模

随机推荐