文章目录
- 背景
- 配置单机
- 配置HA高可用Hdfs集群
- 参考文档
背景
由于公司初始使用Hadoop这一套,所以希望ClickHouse也能使用Hdfs作为存储
看了下ClickHouse的文档,拿Hdfs举例来说,有两种方式来完成,一种是直接关联Hdfs上的数据文件,比如说TSV
格式的文件,这种模式不支持插入数据。第二种是将Hdfs作为存储,可以理解为云存储方式,这篇文章讲解第二种方式的配置
官方文档:External Disks for Storing Data
配置单机
修改config.xml
文件,一般路径在/etc/clickhouse-server/config.xml
<storage_configuration><disks><hdfs><type>hdfs</type><endpoint>hdfs://hdfs1:9000/clickhouse/</endpoint></hdfs></disks><policies><hdfs><volumes><main><disk>hdfs</disk></main></volumes></hdfs></policies></storage_configuration><merge_tree><min_bytes_for_wide_part>0</min_bytes_for_wide_part></merge_tree>
配置后重启
配置HA高可用Hdfs集群
- 复制
hadoop
下的配置文件hdfs-site.xml
到/etc/clickhouse-server/
下 - 修改
config.xml
配置文件,将endpoint
中的标签内容,替换为cluster
<disks><hdfs><type>hdfs</type><endpoint>hdfs://cluster1/clickhouse/</endpoint></hdfs></disks>
这种方式的配置是没有端口的
- 拷贝了
hdfs-site.xml
文件,但是ClickHouse
还不能识别到该文件,所以需要配置在config.xml
的配置文件下
<hdfs><libhdfs3_conf>/etc/clickhouse-server/hdfs-site.xml</libhdfs3_conf></hdfs>
这里在官方文档的另外一处有提到
地址:HDFS
配置完成,重启
这里配置集群模式有些折腾,看到之前有讲如果是hdfs-client.xml
这种的,可以参考下。中间还设置过环境变量:
How do I use an HDFS engine in HA mode
参考文档
clickhouse之HDFS云存储
clickhouse hive/hdfs引擎由于HDFS-HA报错问题解决
How do I use an HDFS engine in HA mode