主机名: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
单节点服务多实例部署 1.下载并上传clickhouse 至服务节点官网:https://packages.clickhouse.com/rpm/stable/
2.安装clickhouse:# 安装必要环境 yum install -y yum-utils expect autoconf # 安装clickhouse rpm -ivh clickhouse-*
安装过程中会提示输入密码,需要记住
3.修改配置文件: vim /etc/clickhouse-server/config.xml提示前面数字为行号,非配置信息
# 修改配置 1049998 # 添加主机配置,注意:cmcc01 为我的hostname,此处填写你的 158cmcc01 # 添加监听配置,运行远程登录 180:: # 添加集群配置 720721 # 添加zookeeper配置 786722 730true 723724 729cmcc01 7259998 726default 727123qwe 728731 739true 732733 738cmcc01 7349999 735default 736123qwe 737787 # 配置层次分片副本 813788 791cmcc01 7892181 790792 795cmcc01 7932182 794796 799cmcc01 7972183 798814 01 81501 816shard2_replica1-01 817
4.复制配置文件
cp /etc/clickhouse-server/config.xml /etc/clickhouse-server/config2.xml
修改配置信息
vim /etc/clickhouse-server/config2.xml # 修改以下内容/var/log/clickhouse-server/clickhouse-server2.log /var/log/clickhouse-server/clickhouse-server2.err.log 8124 9999 9014 9015 9019 /var/lib/clickhouse2/ /var/lib/clickhouse2/tmp/ /var/lib/clickhouse2/user_files/ /var/lib/clickhouse2/access/ 01 02 shard2_replica1-01
提示:我的用户都设置为一样所有公用一个配置文件,如需每个主机设置不同的用户需要修改配置,并cp的user.xml
users2.xml
5.复制启动服务文件
# 复制启动文件 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.pid6.启动服务
# 复制文件 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
启动成功后的状态
7.登录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;
至此安装部署测试完成



