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、开放远程连接: <listen_host>::</listen_host>
   2、数据目录改为服务器最大的数据盘,如此处是/data2:     
         <!-- Path to data directory, with trailing slash. -->
         <path>/data2/clickhouse/</path>
	 <tmp_path>/data2/clickhouse/tmp/</tmp_path>
	 <user_files_path>/data2/clickhouse/user_files/</user_files_path>
	 <format_schema_path>/data2/clickhouse/format_schemas/</format_schema_path>

2) 其他优化配置项修改

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

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

    6、添加如下参数 至 <max_memory_usage>参数后面
       <max_bytes_before_external_group_by>80000000000</max_bytes_before_external_group_by>


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

在这里插入图片描述

在这里插入图片描述

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
<listen_host>::</listen_host> #开放远程连接,单机部署的时候已设置过,需要再次确认这个配置是否打开
#集群配置
<test_cluster_one_shard_three_replicas_localhost> #集群名称,可随意定义,这里是默认名称
            <shard>
                <replica>
                    <host>hdp001</host>  #节点1主机名或者填主机IP,根据实际修改
                    <port>9100</port> #节点1的clickhouse端口号,根据实际修改
                </replica>
            </shard>
            <shard>
                <replica>
                    <host>hdp002</host> #节点2主机名或者填主机IP,根据实际修改
                    <port>9100</port> #节点2的clickhouse端口号,根据实际修改
                </replica>
            </shard>
            <shard>
                <replica>
                    <host>hdp003</host> #节点3主机名或者填主机IP,根据实际修改
                    <port>9100</port> #节点3的clickhouse端口号,根据实际修改
                </replica>
            </shard>
</test_cluster_one_shard_three_replicas_localhost>
#ZK配置
<zookeeper>
        <node>
            <host>hdp001</host> #ZK节点1主机名或者填主机IP,根据实际修改
            <port>2181</port> #ZK端口号,根据实际修改
        </node>
        <node>
            <host>hdp002</host> #ZK节点2主机名或者填主机IP,根据实际修改
            <port>2181</port> #ZK端口号,根据实际修改
        </node>
        <node>
            <host>hdp003</host> #ZK节点3主机名或者填主机IP,根据实际修改
            <port>2181</port> #ZK端口号,根据实际修改
        </node>
</zookeeper>

修改完配置文件以后,分发到其他的两个节点上,更改权限,启动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

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据分析职业是一个多金的职业,数据分析职位是一个金饭碗的职位,前景美好,但是要全面掌握大数据分析技术,非常困难,大部分学员的痛点是不能快速找到入门要点,精准快速上手。本课程采用项目驱动的方式,以Spark3和Clickhouse技术为突破口,带领学员快速入门Spark3+Clickhouse数据分析,促使学员成为一名高效且优秀的大数据分析人才。学员通过本课程的学习,不仅可以掌握使用Python3进行Spark3数据分析,还会掌握利用Scala/java进行Spark数据分析,多语言并进,力求全面掌握;另外通过项目驱动,掌握Spark框架的精髓,教导Spark源码查看的技巧;会学到Spark性能优化的核心要点,成为企业急缺的数据分析人才;更会通过Clickhouse和Spark搭建OLAP引擎,使学员对大数据生态圈有一个更加全面的认识和能力的综合提升。真实的数据分析项目,学完即可拿来作为自己的项目经验,增加面试谈薪筹码。课程涉及内容:Ø  Spark内核原理(RDD、DataFrame、Dataset、Structed Stream、SparkML、SparkSQL)Ø  Spark离线数据分析(千万简历数据分析、雪花模型离线数仓构建)Ø  Spark特征处理及模型预测Ø  Spark实时数据分析(Structed Stream)原理及实战Ø  Spark+Hive构建离线数据仓库(数仓概念ODS/DWD/DWS/ADS)Ø  Clickhouse核心原理及实战Ø  Clickhouse engine详解Ø  Spark向Clickhouse导入简历数据,进行数据聚合分析Ø  catboost训练房价预测机器学习模型Ø  基于Clickhouse构建机器学习模型利用SQL进行房价预测Ø  Clickhouse集群监控,Nginx反向代理Grafana+Prometheus+Clickhouse+node_exporterØ  Spark性能优化Ø  Spark工程师面试宝典       课程组件:集群监控:福利:本课程凡是消费满359的学员,一律送出价值109元的实体书籍.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值