检查

需要确保是否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链接的更多相关文章

  1. Eclipse/STS 在线安装阿里java代码规约插件

    1.打开Idea的在线安装插件界面,通过“Help”-->“Install New Software...” 进入 2. 在 “Work with” 栏输入插件包的下载地址:https://p3 ...

  2. Java 开发@ JDBC链接SQLServer2012

    下面请一字一句地看,一遍就设置成功,比你设置几十遍失败,费时会少得多. 首先,在连接数据库之前必须保证SQL Server 2012是采用SQL Server身份验证方式而不是windows身份验证方 ...

  3. java通过JDBC链接SQLServer2012 (含1433端口打通)

    首先,在连接数据库之前必须保证SQL Server 2012是采用SQL Server身份验证方式而不是windows身份验证方式.如果在安装时选用了后者,则重新设置如下: http://blog.1 ...

  4. (转) java 通过 jdbc 链接 ms sql server 中出现 "no suitable driver for ..."

    原文连接 : http://blog.csdn.net/stewen_001/article/details/19553173/ 前面是 基本操作步骤,按照原博主的方式进行操作即可...() 这里是需 ...

  5. Java 项目JDBC 链接数据库中会出现的错误

    1.出现的地方 package com.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql ...

  6. Java类——JDBC链接、并操作MySQL数据库

    Java——MySQL数据库操作类 package pkg.src.database; import java.sql.*; public class MYSQL_DBManager { // //定 ...

  7. Java通过JDBC链接数据库,数据库中wen

    连接数据库设置编码 jdbc:mysql://地址:3306/数据库名?characterEncoding=utf8

  8. 最简单的一个java驱动jdbc链接mysql数据库

    导入jar包:mysql.connector-java-5.0.8-bin.jar String driver = "com.mysql.jdbc.Driver"; String ...

  9. Java基于jdbc链接mysql数据库步骤示列

    用JDBC来链接MYSQL数据库,基本步骤都大同小异,只不过不同的数据库之间的URL地址有些不同.其基本步骤可分为以下几点: 1.加载相应的数据库的JDBC驱动程序. 2.利用驱动管理器DriverM ...

随机推荐

  1. 【cf比赛记录】Codeforces Round #606 (Div. 2, based on Technocup 2020 Elimination Round 4)

    比赛传送门 只能说当晚状态不佳吧,有点头疼感冒的症状.也跟脑子没转过来有关系,A题最后一步爆搜没能立即想出来,B题搜索没有用好STL,C题也因为前面两题弄崩了心态,最后,果然掉分了. A:简单数学 B ...

  2. JBoss4.2.2配置及优化

    本文是在[url=http://solarisxb.cublog.cn]SOLARIS小兵[/url]的[url=http://blog.chinaunix.net/u/504/showart_114 ...

  3. Azure DevOps Server(TFS) 客户端分析

    Azure DevOps Server(TFS) 是微软公司的软件协作开发管理平台产品,为软件研发.测试.实施提供全流程的服务.作为一款应用服务器产品,他的客户端是什么,在哪里下载客户端?我们在项目实 ...

  4. 如何把任意网站制作成RSS

    如何把任意网站制作成RSS 参照一下链接,多试几次就掌握了. 参考链接:https://feed43.com/step-by-step.html

  5. multer 文件后缀名

    我的代码是这样写的. var storage = multer.diskStorage({ destination: function (req, file, cb) { cb(null, 'uplo ...

  6. LeetCode 142:环形链表 II Linked List Cycle II

    给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始). 如果 pos 是 - ...

  7. Unity Shader NPR 卡通渲染

    卡通渲染的主要原理包含两个方面: 1.轮廓线的描边效果 2.模型漫反射离散和纯色高光区域的模拟 描边: 描边的实现方法采用将模型的轮廓线顶点向法线(或顶点)的方向扩展一定的像素得到.也可通过边缘检测( ...

  8. Shell基本运算符之文件测试符

    文件测试运算符 ================摘自菜鸟教程================= 文件测试运算符用于检测UNIx文件的各种属性: 操作符 说明 例子 -b 检测文件是否是块设备文件,如果 ...

  9. HBuilder webApp开发(七)微信/QQ/新浪/腾讯微博分享

    链接 https://blog.csdn.net/zhuming3834/article/details/51706256

  10. python 处理中文遇到的编码问题总结 以及 字符str的编码如何判断

    如何处理中午编码的问题 Python的UnicodeDecodeError: 'utf8' codec can't decode byte 0xxx in position 这个错误是因为你代码中的某 ...