clickhouse 离线/在线 安装和java通过jdbc链接
检查
需要确保是否x86_64处理器构架、Linux并且支持SSE 4.2指令集
grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"
官网给的是Ubuntu/Debian的安装方式:如下
sudo apt-get install dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4 echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" | sudo tee /etc/apt/sources.list.d/clickhouse.list
sudo apt-get update sudo apt-get install -y clickhouse-server clickhouse-client sudo service clickhouse-server start
clickhouse-client
centos的安装
参考:https://github.com/Altinity/clickhouse-rpm-install
#step 1
#先下载安装脚本
curl -s https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh | sudo bash
#可以指定系统版本
curl -s https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh | sudo os=centos dist=7 bash
#这里注意,我当时指定错了系统版本,导致找不到libstdc++的依赖包,汗颜!! #step 2
#查看库里clickhouse相关的包
sudo yum list 'clickhouse*'
#step 3
#安装核心的服务和客户端
sudo yum install -y clickhouse-server clickhouse-client
#step 4
#启动服务
service clickhouse-server start #step 5
#启动客户端
clickhouse-client
离线安装
离线安装包下载地址http://repo.yandex.ru/clickhouse/
另一个下载地址https://packagecloud.io/altinity/clickhouse
所以安装顺序如下:
clickhouse-common-static
clickhouse-server
clickhouse-client 安装完后启动
#启动服务
service clickhouse-server start
#启动客户端
clickhouse-client 或者clickhouse-client -h127.0.0.
进入命令行后show databases;看到如下,说明安装成功 SHOW DATABASES
┌─ name ─┐
│ default │
│ system │
└── —— ──┘
通过java JDBC链接Clickhouse
maven 依赖
<dependency>
<groupId>ru.yandex.clickhouse</groupId>
<artifactId>clickhouse-jdbc</artifactId>
<version>0.1.54</version>
</dependency>
java代码
JDBC Driver Class: ru.yandex.clickhouse.ClickHouseDriver
应为我没有配置账号密码,所以直接给个url就可以创建链接,代码如下:
public static Connection getClickHouseConnection() throws SQLException {
String url="jdbc:clickhouse://ip:8123/dataBaseName";
ClickHouseDataSource dataSou=new ClickHouseDataSource(url);//这是官方给的创建方式
return dataSou.getConnection();
//return dataSou.getConnection(username, password);
}
PS:这里可以不用Class.forName()去DriverManager注册初始化drive,感兴趣的同学可以研究一下java类加载机制和jdk1.6以后引入的service provider概念。

远程连接配置项
注意:vi /etc/clickhouse-server/config.xml中的如下配置项
类似mysql中的远程连接权限,放开ipv4连接打开注释
<listen_host>0.0.0.0</listen_host>
<!-- Listen specified host. use :: (wildcard IPv6 address), if you want to accept connections both with IPv4 and IPv6 from everywhere. -->
<!-- <listen_host>::</listen_host> -->
<!-- Same for hosts with disabled ipv6: -->
<listen_host>0.0.0.0</listen_host> <!-- Default values - try listen localhost on ipv4 and ipv6: -->
<!--
<listen_host>::1</listen_host>
<listen_host>127.0.0.1</listen_host>
-->
ps:我还发现个神奇的事情
配置上面远程连接后,本机用 clickhouse-client 或者 clickhouse-client -h localhost 连接本机服务,他是拒绝的
ClickHouse client version 19.9.2.4 (official build).
Connecting to localhost: as user default.
Code: . DB::NetException: Connection refused (localhost:, ::)
但是用 clickhouse-client -h 本机ip 或者 clickhouse-client -h 127.0.0.1 是可以连接的。(clickhouse版本如上 version 19.9.2.4)
备注:系统 /etc/hosts 内是有 127.0.0.1 到 localhost的映射的。
附:Clickhouse官方文档 https://clickhouse.yandex/docs/zh/
clickhouse 离线/在线 安装和java通过jdbc链接的更多相关文章
- Eclipse/STS 在线安装阿里java代码规约插件
1.打开Idea的在线安装插件界面,通过“Help”-->“Install New Software...” 进入 2. 在 “Work with” 栏输入插件包的下载地址:https://p3 ...
- Java 开发@ JDBC链接SQLServer2012
下面请一字一句地看,一遍就设置成功,比你设置几十遍失败,费时会少得多. 首先,在连接数据库之前必须保证SQL Server 2012是采用SQL Server身份验证方式而不是windows身份验证方 ...
- java通过JDBC链接SQLServer2012 (含1433端口打通)
首先,在连接数据库之前必须保证SQL Server 2012是采用SQL Server身份验证方式而不是windows身份验证方式.如果在安装时选用了后者,则重新设置如下: http://blog.1 ...
- (转) java 通过 jdbc 链接 ms sql server 中出现 "no suitable driver for ..."
原文连接 : http://blog.csdn.net/stewen_001/article/details/19553173/ 前面是 基本操作步骤,按照原博主的方式进行操作即可...() 这里是需 ...
- Java 项目JDBC 链接数据库中会出现的错误
1.出现的地方 package com.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql ...
- Java类——JDBC链接、并操作MySQL数据库
Java——MySQL数据库操作类 package pkg.src.database; import java.sql.*; public class MYSQL_DBManager { // //定 ...
- Java通过JDBC链接数据库,数据库中wen
连接数据库设置编码 jdbc:mysql://地址:3306/数据库名?characterEncoding=utf8
- 最简单的一个java驱动jdbc链接mysql数据库
导入jar包:mysql.connector-java-5.0.8-bin.jar String driver = "com.mysql.jdbc.Driver"; String ...
- Java基于jdbc链接mysql数据库步骤示列
用JDBC来链接MYSQL数据库,基本步骤都大同小异,只不过不同的数据库之间的URL地址有些不同.其基本步骤可分为以下几点: 1.加载相应的数据库的JDBC驱动程序. 2.利用驱动管理器DriverM ...
随机推荐
- 【转】python中的闭包
转自:http://www.cnblogs.com/ma6174/archive/2013/04/15/3022548.html python中的闭包 什么是闭包? 简单说,闭包就是根据不同的配置信息 ...
- RPC系列:基本概念
RPC(Remote Procedure Call):远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的思想. RPC 是一种技术思想而非一种规范或协议,常见 RPC ...
- fastadmin表单提交后却没有关闭弹窗
点击操作按钮弹出窗口,操作完之后提交表单,无论操作成功还是失败,窗口都不关闭,操作之后出现一个笑脸,3秒后回到弹框刚打开的样子 而我们想要的是这个效果: 在jS那里给这个按钮绑定一个事件即可实现
- 小程序开发笔记(八)—Js数组按日期分组显示数据
数据分组展示有两种方式,一种是后端直接传入分组格式的Json数据,另一种是我们在前端自己转换格式,这里我们在前端处理转换按日期分组的数据格式 1.例如后端返回数据格式为: [{createtime:' ...
- Django学习笔记(14)——AJAX与Form组件知识补充(局部钩子和全局钩子详解)
我在之前做了一个关于AJAX和form组件的笔记,可以参考:Django学习笔记(8)——前后台数据交互实战(AJAX):Django学习笔记(6)——Form表单 我觉得自己在写Django笔记(8 ...
- Pandas 学习 第9篇:DataFrame - 数据的输入输出
常用的数据存储介质是数据库和csv文件,pandas模块包含了相应的API对数据进行输入和输出: 对于格式化的平面文件:read_table() 对于csv文件:read_csv().to_csv() ...
- .NET Core on K8S快速入门课程--学习笔记
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 目录 01-介绍K8s是什么 02-为什么要学习k8s 03-如何学习k8s ...
- 通俗的讲,就是高层模块定义接口,低层模块负责实现。 Bob Martins对DIP的定义: 高层模块不应依赖于低层模块,两者应该依赖于抽象。 抽象不不应该依赖于实现,实现应该依赖于抽象。
通俗的讲,就是高层模块定义接口,低层模块负责实现. Bob Martins对DIP的定义: 高层模块不应依赖于低层模块,两者应该依赖于抽象. 抽象不不应该依赖于实现,实现应该依赖于抽象. 总结出使用D ...
- python 手机app数据爬取
目录 一:爬取主要流程简述 二:抓包工具Charles 1.Charles的使用 2.安装 (1)安装链接 (2)须知 (3)安装后 3.证书配置 (1)证书配置说明 (2)windows系统安装证书 ...
- Java面向对象——相关基本定义
Java面向对象——相关基本定义 摘要:本文简单介绍了面向对象的编程方式,以及与之有关的一些基本定义. 面向对象 什么是面向对象 面向对象编程是一种对现实世界建立计算机模型的一种编程方法.简称OOP( ...