一、ClickHouse介绍
二、ClickHouse 的优缺点
三、ClickHouse 引擎
四、单节点安装 ClickHouse
/etc/clickhouse-server:服务端的配置文件目录,包括全局配置 config.xml 和用户配置 users.xml
/var/lib/clickhouse/:默认的数据存储目录,如果是生产环境可以将其修改到空间较大的磁盘挂载路径。可以用过修改 etc/clickhouse-server/config.xml 配置文件中< path > 、< tmp_path > 和 < user_files_path> 标签值来设置。
/var/log/clickhouse-server/:默认的日志保存目录。同样可以通过修改 etc/clickhouse-server/config.xml 配置文件中的 < log > 和 < errorlog >标签值来设置。
/etc/cron.d/clickhouse-server:clickhouse server 的一个定时配置,用于恢复因异常中断的 ClickHouse 服务进程。
~/.clickhouse-client-history:client 执行的 sql 历史记录。
# 启动# 可以在/varlog/clickhouse-server/目录中查看日志systemctl start clickhouse-server# 或者基于指定的配置文件启动服务,使用此命令时注意权限。clickhouse-server --config-file=/etc/clickhouse-server/my_config.xml# 查看状态systemctl status clickhouse-server#重启systemctl restart clickhouse-server#关闭systemctl stop clickhouse-server
5.进入命令行模式验证
# --database -d 登录的数据库# --help 查看帮助信息# --host -h 服务端地址,默认是localhost,如果修改config.xml中的listen_host值后可以使用此参数指定访问的ip# --multiline -m 支持SQL多行语句,而不是回车就执行# --multiquery -n 允许一次执行多条SQL语句# --password 登录的密码,默认为空# --port 服务端的TCP端口,默认为9000# --query -q 指定SQL语句# --time -t 打印每条SQL的执行时间# --user -u 登录的用户名,默认为default# --version -V 查看版本信息# 进入数据库命令行clickhouse-client# 执行一个简单的SQL,可以正常解析并执行。localhost :) SELECT 1;SELECT 1Query id: 9c15664b-9182-4bf9-81df-0d3c7284f1e9┌─1─┐│ 1 │└───┘1 rows in set. Elapsed: 0.031 sec.# 退出localhost :) q;Bye.
五、搭建 ClickHouse 集群
1.安装前准备
系统:CentOS 8.2
IP:10.0.0.60 主机名:ch1
IP:10.0.0.61 主机名:ch2
IP:10.0.0.62 主机名:ch3
准备三台服务器,在三台服务器中安装部署 ClickHouse,关闭防火墙和SELINUX或者开放端口。集群的方式需要依赖 ZooKeeper 服务,因此先要保证 ZooKeeper 服务正常启动,剩余的安装方式和单节点差不多,只不过需要添加一个集群形式的配置文件。
1.1下载zookeeper:
官网地址:https://zookeeper.apache.org/releases.html
1.2创建zookeeper存放目录并上传解压
tar zxf apache-zookeeper-3.7.0-bin.tar.gzmv apache-zookeeper-3.7.0-bin.tar.gz /opt/zookeepermkdir -p /opt/zookeeper/data
1.3修改zookeeper配置信息
cd /opt/zookeeper/confcp zoo_sample.cfg zoo.cfg# 修改dataDair路径,根据自己主机IP,增加或更换server.1 2 3的IP。vim zoo.cfgdataDir=/opt/zookeeper/dataserver.1=10.0.0.60:2888:3888server.2=10.0.0.61:2888:3888server.3=10.0.0.62:2888:3888
1.4在每台主机配置节点ID
# 10.0.0.60执行echo 1 >/root/zookeeper/data/myid# 10.0.0.61执行echo 2 >/root/zookeeper/data/myid# 10.0.0.62执行echo 3 >/root/zookeeper/data/myid
1.5启动zookeeper
# 启动cd ../bin/./zkServer.sh start# 查看状态./zkServer.sh status# 停止./zkServer.sh stop# 重启./zkServer.sh restart# 验证ps -ef|grep zookeeper# 或者成功后可以随便选择一台节点尝试连接另一节点验证./zkCli.sh -server 10.0.0.61:2181# 成功后显示[zk: 192.168.30.101(CONNECTING) 0]
2.开放ClickHouse服务的IP和端口
因为集群之间需要互相访问其他节点服务,需要开放clickhouse服务的IP和端口,在三台主机配置/etc/clickhouse-server/config.xml文件,
取消< listen_host >标签注释。

3.配置zookeeper字段
<zookeeper><node><host>10.0.0.60</host><port>2181</port></node><node><host>10.0.0.61</host><port>2181</port></node><node><host>10.0.0.62</host><port>2181</port></node></zookeeper>
4.配置remote_server字段
删除原本的test内容,添加:
<remote_servers><!-- spi_shards_replicas是集群名字,自己命名就可以,建库建表需要用到--><spi_shards_replicas><!-- 集群第一个分片 --><shard><!-- 权重值 --><weight>1</weight><internal_replication>true</internal_replication><replica><host>10.0.0.60</host><port>9000</port></replica><replica><host>10.0.0.61</host><port>9000</port></replica></shard><!-- 集群第二个分片 --><shard><weight>1</weight><internal_replication>true</internal_replication><replica><host>10.0.0.61</host><port>9100</port></replica><replica><host>10.0.0.62</host><port>9000</port></replica></shard><!-- 集群第三个分片 --><shard><weight>1</weight><internal_replication>true</internal_replication><replica><host>10.0.0.62</host><port>9100</port></replica><replica><host>10.0.0.60</host><port>9100</port></replica></shard></spi_shards_replicas></remote_servers>
5.重启clickhouse,查看集群是否创建成功

版权声明:本文内容来自CSDN:weixin_46106069,遵循CC 4.0 BY-SA版权协议上原文接及本声明。本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行可。原文链接:https://blog.csdn.net/weixin_46106069/article/details/124664148如有涉及到侵权,请联系,将立即予以删除处理。在此特别鸣谢原作者的创作。此篇文章的所有版权归原作者所有,与本公众号无关,商业转载建议请联系原作者,非商业转载请注明出处。





