栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Clickhouse 部署

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Clickhouse 部署


typora-root-url: assets 安装单机版的clickhouse
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo
sudo yum install -y clickhouse-server clickhouse-client

sudo /etc/init.d/clickhouse-server start
clickhouse-client # or "clickhouse-client --password" if you set up a password.

如果想使用最新版本,请将repo文件中stable版本关闭testing版本打开(建议在您的测试环境中使用)。prestable有时也可用

1)修改配置/etc/clickhouse-server/config.xml
   
   1、开放远程连接: ::
   2、数据目录改为服务器最大的数据盘,如此处是/data2:     
         
         /data2/clickhouse/
	 /data2/clickhouse/tmp/
	 /data2/clickhouse/user_files/
	 /data2/clickhouse/format_schemas/

2) 其他优化配置项修改

    1、配置日志文件切割 (100M做一个切割,ClickHouse存储的已归档日志文件的数量 设置为 10),配置文件:/etc/clickhouse-server/config.xml
       修改如下:
        100M
        10
  
    2、配置允许的文件导入的错误数(放到 配置项后面):
      100
     
    3、配置连接超时时间参数
       vim /etc/clickhouse-server/config.xml
       修改如下参数:
       900
       600
        
    4、是否使用未压缩块的缓存,提升短查询速度。接受0或1。默认情况下0(禁用),改为1
      修改:01

    5、修改单个查询使用的最大内存限制
      20000000000

    6、添加如下参数 至 参数后面
       80000000000


3)修改默认账号密码
   
   1、配置账号密码: vim /etc/clickhouse-server/users.xml 
      修改: mypasswd123

clickhouse分布式集群

集群规划

192.168.222.130 hdp001 关防火墙, host映射, 时钟同步 JDK, Zookeeper clickhouse-server 9100
192.168.222.131 hdp002 关防火墙, host映射, 时钟同步 JDK, Zookeeper clickhouse-server 9100
192.168.222.132 hdp003 关防火墙, host映射, 时钟同步 JDK, Zookeeper clickhouse-server 9100
关于机器之前的免密、关防火墙、host映射、时钟同步以及JDK和Zookeeper的安装步骤,这里就不再介绍了。

先按照上面单机模式的部署在hdp001、hdp002、hdp003上部署安装clickhouse。

部署完毕后在hdp001的环境上修改clickhouse的配置文件的如下项:

vim /etc/clickhouse-server/config.xml
:: #开放远程连接,单机部署的时候已设置过,需要再次确认这个配置是否打开
#集群配置
 #集群名称,可随意定义,这里是默认名称
            
                
                    hdp001  #节点1主机名或者填主机IP,根据实际修改
                    9100 #节点1的clickhouse端口号,根据实际修改
                
            
            
                
                    hdp002 #节点2主机名或者填主机IP,根据实际修改
                    9100 #节点2的clickhouse端口号,根据实际修改
                
            
            
                
                    hdp003 #节点3主机名或者填主机IP,根据实际修改
                    9100 #节点3的clickhouse端口号,根据实际修改
                
            

#ZK配置

        
            hdp001 #ZK节点1主机名或者填主机IP,根据实际修改
            2181 #ZK端口号,根据实际修改
        
        
            hdp002 #ZK节点2主机名或者填主机IP,根据实际修改
            2181 #ZK端口号,根据实际修改
        
        
            hdp003 #ZK节点3主机名或者填主机IP,根据实际修改
            2181 #ZK端口号,根据实际修改
        


修改完配置文件以后,分发到其他的两个节点上,更改权限,启动hdp001上的clickhouse

scp config.xml  root@hdp002:/etc/clickhouse-server/
scp config.xml  root@hdp002:/etc/clickhouse-server/
chown clickhouse:clickhouse /etc/clickhouse-server/ -R
#启动clickhouse时,不能用root用户,需用clickhouse用户。
sudo -u clickhouse clickhouse-server --config-file=/etc/clickhouse-server/config.xml

确保hdp001上的clickhouse启动没有以后,可以用以下命令启动其他两个节点的clickhouse

nohup sudo -u clickhouse clickhouse-server --config-file=/etc/clickhouse-server/config.xml &

查看端口,验证clickhouse是否成功启动

打开client

clickhouse-client --host="127.0.0.1" --port="9100" --user="default" --password="dtsw1234"

输入sql语句查看集群

select * from system.clusters;

可以看到test_cluster就是我们定义的集群名称,一共有三个分片,每个分片有一份数据。剩下的为配置文件默认自带的集群配置。

测试分布式集群

在hdp001、hdp002、hdp003 分别创建本地表cluster3s1r_local

CREATE TABLE default.cluster3s1r_local (`id` Int32,`website` String,`wechat` String,`FlightDate` Date,Year UInt16)ENGINE = MergeTree(FlightDate, (Year, FlightDate), 8192);

在node01节点上创建分布式表

CREATE TABLE default.cluster3s1r_all AS cluster3s1r_local ENGINE = Distributed(test_cluster, default, cluster3s1r_local, rand());

往分布式表cluster3s1r_all插入数据,cluster3s1r_all会随机插入到三个节点的cluster3s1r_local里

插入数据

INSERT INTO default.cluster3s1r_all (id,website,wechat,FlightDate,Year)values(1,'https://www.baidu.com/','clickhouse部署','2022-07-20',2022);
INSERT INTO default.cluster3s1r_all (id,website,wechat,FlightDate,Year)values(2,'http://www.merryyo.cn/','clickhouse集群','2022-07-20',2022);
INSERT INTO default.cluster3s1r_all (id,website,wechat,FlightDate,Year)values(3,'http://www.xxxxx.cn/','xxxxx','2022-07-20',2020);

查询分布式表和本地表

select * from cluster3s1r_all;
select * from cluster3s1r_local;

hdp001

hdp002

hdp003

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1040182.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号