您好,登錄后才能下訂單哦!
本篇內容介紹了“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_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端口,然后修改端口后成功。
“python連接clickhouse端口報錯怎么解決”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。