从零开始实施推荐系统的落地部署——24.推荐系统案例(十四)ClickHouse的概述和搭建

举报
wuyicom 发表于 2021/01/24 03:14:46 2021/01/24
【摘要】      之前在大数据群里有人讨论过关于Click House,没怎么关注。前天看到华为云MRS2.0升级到MRS3.0,增加了ClickHouse。突然我就对ClickHouse感兴趣,它是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。采用Local attached storage作为存储,这样整个IO可能就没有Hadoop那一套的局限。它的系统在生产环境中可以应用到比较...

1.PNG

     之前在大数据群里有人讨论过关于Click House,没怎么关注。前天看到华为云MRS2.0升级到MRS3.0,增加了ClickHouse。突然我就对ClickHouse感兴趣,它是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。采用Local attached storage作为存储,这样整个IO可能就没有Hadoop那一套的局限。它的系统在生产环境中可以应用到比较大的规模,因为它的线性扩展能力和可靠性保障能够原生支持shard+replication这种解决方案。它还提供了一些SQL直接接口,有比较丰富的原生client

2.PNG

    当我看到click house的特点实时性强,支持kafka导入,就对框架部署都是经过kafka后,再通过sparkstreaming或flink接入到clickhouse,而不是通过kafka直接导入到clickhouse产生疑惑。经大数据群的西窗挂浪解惑,加了sparkstreaming或flink是做ETL。而我考虑的是clickhouse查询速度快,做数据挖掘直接从clickhouse调用即可。犯了忘记导入前要做数据处理的低级错误。

  开始部署clickhouse

1. mas2:编辑etc/security/limits.conf /etc/security/limits.d/20-nproc.conf文件的末尾加入以下内容:

* soft nofile 65536

* hard nofile 65536

* soft nproc 131072

* hard nproc 131072

修改完成后,把配置文档同步到mas3mas4mas5

2. 给mas2mas5主机安装依赖包。

sudo yum install -y libtool

sudo yum install -y *unixODBC*

3. 安装clickhouse

下载网址:https://packagecloud.io/Altinity/clickhouse/ 在这个网址下载的RPM有点问题,下载下来的RPM安装clickhouse出现rpm -ivh clickhouse-server-common-20.8.3.18-1.el7.x86_64.rpm错误:clickhouse-server-common-20.8.3.18-1.el7.x86_64.rpm: 不是 rpm 软件包 (或者没有manifest)

3.PNG

有大数据群里有朋友共享clickhouseRPM,下载下来安装即可。

4. 编辑 sudo vi /etc/clickhouse-server/config.xml

<!-- 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: -->

5. 集群配置(使用mas3,mas4,mas5搭建集群,但是因为笔记本的硬件配置有限,简单搭建测试步骤),在mas3上编辑/etc/clickhouse-server/config.d目录下创建一个名为xml的配置文件,内容如下:

编辑/etc/clickhouse-server/config.d/metrika.xml

<?xml version="1.0"?>

<yandex>

  <zookeeper-servers>

    <node index="1">

      <host>mas3.wuyi.com</host>

      <port>2181</port>

    </node>

    <node index="2">

      <host>mas4.wuyi.com</host>

      <port>2181</port>

    </node>

    <node index="3">

      <host>mas5.wuyi.com</host>

      <port>2181</port>

    </node>

  </zookeeper-servers>

</yandex>

把配置好的metrika.xml同步到mas4,mas5里。

6. 编辑 sudo vi /etc/clickhouse-server/config.xml

<zookeeper incl="zookeeper-servers" optional="true" />

<include_from>/etc/clickhouse-server/config.d/metrika.xml</include_from>

把配置好的config.xml同步到mas4,mas5里。

7. 启动 zookeeper 集群

cd /opt/modules/zookeeper/  

bin/zkServer.sh start

启动clickhousemas3,mas4,mas5

sudo systemctl start clickhouse-server

可以进入zookeeper里查看:

4.PNG

看到clickhouse说明成功。

8. 搭建完成后,可以设置副本做clickhouse的高可用,也可以做分片集群提高clickhouse的性能。不使用集群,是怕hadoop的使用资源跟clickhouse有冲突,导致各种问题的出现。在mas2启动clickhouse的单机版本时。要注意关闭canalElasticsearchkibana。防止双方抢占资源,所以只能二选一,要么选择canalElasticsearchkibana,要么选择kafkasparkstreamingclickhouseecharts。我选择第二种,虽然难度比第一种难,涉及的知识方面要广,但是我还是选择第二种,因为完成后展示的可视化效果会比kibana的效果好。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。