主机名:cmcc01为例
操作系统:centos7
| 安装部署软件 | 版本 | 部署方式 |
| centos | 7 | |
| zookeeper | zookeeper-3.4.10 | 伪分布式 |
| hadoop | hadoop-3.1.3 | 伪分布式 |
| hive | hive-3.1.3-bin | 伪分布式 |
| clickhouse | 21.11.10.1-2 | 单节点多实例 |
| dolphinscheduler | 3.0.0 | 单节点 |
| kettle | pdi-ce-9.3.0.0 | 单节点 |
| sqoop | sqoop-1.4.7 | 单节点 |
| seatunnel | seatunnel-incubating-2.1.2 | 单节点 |
| spark | spark-2.4.8 | 单节点 |
部署服务:
clickhouserver
clickhouserver2
官网:https://packages.clickhouse.com/rpm/stable/

- # 安装必要环境
- yum install -y yum-utils expect autoconf
-
- # 安装clickhouse
- rpm -ivh clickhouse-*
安装过程中会提示输入密码,需要记住
提示前面数字为行号,非配置信息
- # 修改配置
- 104 <tcp_port>9998tcp_port>
-
- # 添加主机配置,注意:cmcc01 为我的hostname,此处填写你的
- 158 <interserver_http_host>cmcc01interserver_http_host>
-
- # 添加监听配置,运行远程登录
- 180 <listen_host>::listen_host>
-
- # 添加集群配置
- 720 <shard2_replica1>
- 721 <shard>
- 722 <internal_replication>trueinternal_replication>
- 723 <replica>
- 724 <host>cmcc01host>
- 725 <port>9998port>
- 726 <user>defaultuser>
- 727 <password>123qwepassword>
- 728 replica>
- 729 shard>
- 730 <shard>
- 731 <internal_replication>trueinternal_replication>
- 732 <replica>
- 733 <host>cmcc01host>
- 734 <port>9999port>
- 735 <user>defaultuser>
- 736 <password>123qwepassword>
- 737 replica>
- 738 shard>
- 739 shard2_replica1>
-
-
- # 添加zookeeper配置
- 786 <zookeeper>
- 787 <node>
- 788 <host>cmcc01host>
- 789 <port>2181port>
- 790 node>
- 791 <node>
- 792 <host>cmcc01host>
- 793 <port>2182port>
- 794 node>
- 795 <node>
- 796 <host>cmcc01host>
- 797 <port>2183port>
- 798 node>
- 799 zookeeper>
-
- # 配置层次分片副本
- 813 <macros>
- 814 <layer>01layer>
- 815 <shard>01shard>
- 816 <replica>shard2_replica1-01replica>
- 817 macros>
-
-





cp /etc/clickhouse-server/config.xml /etc/clickhouse-server/config2.xml
修改配置信息
- vim /etc/clickhouse-server/config2.xml
-
- # 修改以下内容
- <log>/var/log/clickhouse-server/clickhouse-server2.loglog>
- <errorlog>/var/log/clickhouse-server/clickhouse-server2.err.logerrorlog>
-
- <http_port>8124http_port>
-
- <tcp_port>9999tcp_port>
-
- <mysql_port>9014mysql_port>
-
- <postgresql_port>9015postgresql_port>
-
- <interserver_http_port>9019interserver_http_port>
-
- <path>/var/lib/clickhouse2/path>
-
- <tmp_path>/var/lib/clickhouse2/tmp/tmp_path>
-
- <user_files_path>/var/lib/clickhouse2/user_files/user_files_path>
-
- <local_directory>
- <path>/var/lib/clickhouse2/access/path>
- local_directory>
-
- <macros>
- <layer>01layer>
- <shard>02shard>
- <replica>shard2_replica1-01replica>
- macros>
提示:我的用户都设置为一样所有公用一个配置文件,如需每个主机设置不同的用户需要修改配置,并cp的user.xml
- <users_xml>
- <path>users2.xmlpath>
- users_xml>






- # 复制启动文件
- cp /etc/systemd/system/clickhouse-server.service /etc/systemd/system/clickhouse-server2.service
-
- # 修改启动文件
- vi /etc/systemd/system/clickhouse-server2.service
-
- ExecStart=/usr/bin/clickhouse-server --config=/etc/clickhouse-server/config2.xml --pid-file=/run/clickhouse-server/clickhouse-server2.pid

- # 复制文件
- cp /var/log/clickhouse-server/clickhouse-server.log /var/log/clickhouse-server/clickhouse-server2.log
- cp /var/log/clickhouse-server/clickhouse-server.err.log /var/log/clickhouse-server/clickhouse-server2.err.log
- cp -r /var/lib/clickhouse /var/lib/clickhouse2
-
- # 修改所属用户
- chown clickhouse:clickhouse /var/log/clickhouse-server/clickhouse-server2.log
- chown clickhouse:clickhouse /var/log/clickhouse-server/clickhouse-server2.err.log
- chown clickhouse:clickhouse -R /var/lib/clickhouse2
-
- # 启动服务
- systemctl start clickhouse-server
- systemctl start clickhouse-server2
-
- # 查看服务状态
- systemctl status clickhouse-server
- systemctl status clickhouse-server2
注意:如启动报错,或者启动不了服务先检查以下文件权限是否正确,所有文件的所属用户是否为clickhouse
/var/log/clickhouse-server/clickhouse-server2.log
/var/log/clickhouse-server/clickhouse-server2.err.log
/var/lib/clickhouse2
/etc/clickhouse-server/config2.xml
权限参照原目录文件,所属用户必须要clickhouse

启动成功后的状态

- # 登录服务1 clickhouse
- clickhouse-client --host cmcc01 --port 9998 -u default --password 123qwe --multiline
-
- # 创建测试数据库
- create database test on CLUSTER shard2_replica1;
-
- # 创建测试本地表
- CREATE TABLE test.student_test on CLUSTER shard2_replica1
- (
- id int,
- name String,
- age int,
- grade String
- )
- ENGINE = ReplicatedReplacingMergeTree('/clickhouse/tables/test/student_test/{layer}-{shard}', '{replica}')
- PARTITION BY grade
- ORDER BY id
- SETTINGS index_granularity = 8192;
-
- # 创建分布式表
- CREATE TABLE test.student_test_all on CLUSTER shard2_replica1 as test.student_test ENGINE = Distributed('shard2_replica1', 'test', 'student_test', rand());
-
- # 插入数据
- insert into test.student_test values (1, '李四', 21, '1班'),(2, '王五', 21, '1班')(3, '张三', 21, '2班');
-
- # 查询本地表
- cmcc01.hand.com :) select * from test.student_test;
-
- SELECT *
- FROM test.student_test
-
- Query id: 04702719-3beb-4a9b-8ba7-33e77f0e5961
-
- ┌─id─┬─name─┬─age─┬─grade─┐
- │ 1 │ 李四 │ 21 │ 1班 │
- │ 2 │ 王五 │ 21 │ 1班 │
- └────┴──────┴─────┴───────┘
- ┌─id─┬─name─┬─age─┬─grade─┐
- │ 3 │ 张三 │ 21 │ 2班 │
- └────┴──────┴─────┴───────┘
-
- 3 rows in set. Elapsed: 0.005 sec.
-
- cmcc01.hand.com :)
-
- # 查询分布式表
- select * from test.student_test_all;
-
-
- # 登录服务2 clickhouse
- clickhouse-client --host cmcc01 --port 9999 -u default --password 123qwe --multiline
-
- # 查询本地表,正常是没有数据的
- select * from test.student_test;
-
-
- # 查询分布式表,是有数据的和 9998的保持一致
- select * from test.student_test_all;
-
-


至此安装部署测试完成