clickhouse安装文档


ClickHouse安装文档

1.时间同步、ssh免密通信、域名映射、jdk(高可用版本需要安装zookeeper)、取消 SELINUX、关闭防火墙

2.CentOS7 打开文件数限制:

在 /etc/security/limits.conf 这个文件的末尾加入一下内容:

sudo vim /etc/security/limits.conf

* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072

在 /etc/security/limits.d/90-nproc.conf 这个文件的末尾加入一下内容:

* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072

重启服务器之后生效,用 ulimit -n 或者 ulimit -a 查看设置结果

ulimit -n 
ulimit -a

3.单机模式安装

3.1准备操作

需要验证当前服务器的 CPU 是否支持 SSE 4.2 指令集,因为向量化执行需要用到这项特性:

grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"

3.2yum安装

yum install yum-utils -y
rpm --import https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPG 
yum-config-manager --add-repo https://repo.clickhouse.tech/rpm/clickhouse.repo yum install clickhouse-server clickhouse-client -y

3.3离线安装(官网选择安装包https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/)

rpm -ivh clickhouse-server-20.5.4.40-2.noarch.rpm 
rpm -ivh clickhouse-common-static-20.5.4.40-2.x86_64.rpm 
rpm -ivh clickhouse-client-20.5.4.40-2.noarch.rpm

3.4修改用户名密码

clickhouse的密码有2种形式,一种是明文,一种是写sha256sum的Hash值

官方不建议直接写明文密码,可以用以下命令生成密码

PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; 
echo -n "$PASSWORD" | sha256sum | tr -d '-'

这样可以得到两行数据,第一行是密码明文,第二行是密码密文

image-20210716104613858

vim users.xml,找到 users --> default --> 标签下的password修改成password_sha256_hex,并把密文填进去

<password_sha256_hex>密码密文</password_sha256_hex>

添加密码后,命令行启动的方式也要加上密码

sudo clickhouse-client -h ip地址 -d default -m -u default --password 密码明文 

3.5验证安装是否成功

sudo systemctl start clickhouse-server
sudo systemctl status clickhouse-server
ps -aux | grep clickhouse 
netstat -nltp | grep clickhouse
sudo clickhouse-client -h ip地址 -d default -m -u default --password 密码明文 

3.6安装成功的核心目录

(1)/etc/clickhouse-server:服务端的配置文件目录,包括全局配置config.xml和用户配置users.xml 等。
(2)/var/lib/clickhouse:默认数据存储目录,通常会修改默认路径配置,将数据保存到大容量磁盘挂 载路径
(3)/var/log/clickhouse-server:默认日志保存目录,通常会修改路径配置将日志保存到大容量磁盘 挂载的路径

4.集群模式安装

192.168.1.252 cdh1
192.168.1.253 cdh2
192.168.1.254 cdh3

4.1 在三台机器上重复执行#3操作,且验证是否安装成功

4.2 三台机器修改配置文件/etc/clickhouse-server/config.xml

vim /etc/clickhouse-server/config.xml
#先修改 tcp_port 为 6000, 因为这个端口和 HDFS 的冲突了
<tcp_port>6000</tcp_port>
#listen_host 表示能监听的主机,:: 表示任意主机都可以访问
<listen_host>::</listen_host>

4.3 添加集群配置(在三台机器的etc目录下新建metrika.xml文件)

Tips:注释非常重要,涉及到的其他文件的配置要去查看是否应用,不然查不到

#在三台机器的etc目录下新建metrika.xml文件
<yandex>
    <!-- /etc/clickhouse-server/config.xml 中配置的remote_servers的incl属性值,<remote_servers incl="clickhouse_remote_servers"> -->
    <clickhouse_remote_servers>
    <!-- 3分片2备份 -->
        <perftest_3shards_2replicas>
        <!-- 数据分片1  -->
            <shard>
                <internal_replication>true</internal_replication>
                <replica>
                    <!-- 和下边的<mecros>对应  -->
                    <host>cdh1</host>
                    <!-- 和 /etc/clickhouse-server/config.xml 中的 <tcp_port>6000</tcp_port>对应  -->
                    <port>6000</port>
                    <user>default</user>
                    <!-- 和 /etc/clickhouse-server/config.xml 中的 <<password>对应  -->
                    <password>clickhouse@123</password>                  
                </replica>
            </shard>
            <!-- 数据分片2  -->
            <shard>
                <internal_replication>true</internal_replication>
                <replica>
                    <host>cdh2</host>
                    <port>6000</port>
                    <user>default</user>
                    <password>clickhouse@123</password>                   
                </replica>
            </shard>
            <!-- 数据分片3  -->
            <shard>
                <internal_replication>true</internal_replication>
                <replica>
                    <host>cdh3</host>
                    <port>6000</port>
                    <user>default</user>
                    <password>clickhouse@123</password>                    
                </replica>
            </shard>
        </perftest_3shards_2replicas>
    </clickhouse_remote_servers>
    <!--zookeeper相关配置-->
    <!-- /etc/clickhouse-server/config.xml 中配置的zookeeper的incl属性值,<zookeeper incl="zookeeper-servers" optional="true" /> -->
    <zookeeper-servers>
        <node index="1">
            <host>cdh1</host>
            <port>2181</port>
        </node>
        <node index="2">
            <host>cdh2</host>
            <port>2181</port>
        </node>
        <node index="3">
            <host>cdh3</host>
            <port>2181</port>
        </node>
    </zookeeper-servers>
    <!-- replica代表每个节点在集群中的id不能够重复 -->
    <macros>
        <replica>cdh1</replica>
    </macros>
	<!-- ::/0代表所有网络都可以访问 -->
    <networks>
        <ip>::/0</ip>
    </networks>

    <clickhouse_compression>
        <case>
            <min_part_size>10000000000</min_part_size>
            <min_part_size_ratio>0.01</min_part_size_ratio>
            <method>lz4</method>
        </case>
    </clickhouse_compression>
</yandex>

4.4 重启所有节点的clinkhouse服务

sudo systemctl restart clickhouse-server
sudo systemctl status clickhouse-server

4.5 查看集群是否配置成功

sudo clickhouse-client --port 6000
select * from system.clusters

image-20210716100439456

5.附件

ClickHouse 的 Client 参数介绍

在这里插入图片描述


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM