当前位置: 首页 > news >正文

华为openEuler 22.03 (LTS-SP3) 手动安装单点clickhouse

        客户的服务器,都在内网,需要登录堡垒机进入,但是不支持从源拉取,所以只能手动安装clickhouse。

        因为本地开发用的是25.8.2.29版本。

        所以到https://packages.clickhouse.com/rpm/官网下载了clickhouse-common-static-25.8.2.29.aarch64.rpm、clickhouse-server-25.8.2.29.aarch64.rpm、clickhouse-client-sudo rpm -ivh .aarch64.rpm这三个文件,官网的版本很多,只能分页找。

        然后通过堡垒机上传上去了,开始安装

sudo rpm -ivh clickhouse-common-static-25.8.2.29.aarch64.rpm
sudo rpm -ivh clickhouse-server-25.8.2.29.aarch64.rpm
sudo rpm -ivh clickhouse-client-25.8.2.29.aarch64.rpm

        common-static安装成功,但是安装server的时候,报了非法指令,查询之后觉得是客户的arm机器有点老,某些指令不支持。

[root@whm-test-ecs-1 clickhouse]# ll
total 176588
-rw-r--r-- 1 root root    100656 Nov  3 11:18 clickhouse-client-25.8.2.29.aarch64.rpm
-rw-r--r-- 1 root root 180591946 Nov  3 11:22 clickhouse-common-static-25.8.2.29.aarch64.rpm
-rw-r--r-- 1 root root    130719 Nov  3 11:18 clickhouse-server-25.8.2.29.aarch64.rpm
[root@whm-test-ecs-1 clickhouse]# sudo rpm -ivh clickhouse-common-static-25.8.2.29.aarch64.rpm
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...1:clickhouse-common-static-0:25.8.2################################# [100%]
[root@whm-test-ecs-1 clickhouse]# sudo rpm -ivh clickhouse-server-25.8.2.29.aarch64.rpm
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...1:clickhouse-server-0:25.8.2.29-1  ################################# [100%]
/var/tmp/rpm-tmp.1jXbMg: line 66: 109456 Illegal instruction     (core dumped) ${CLICKHOUSE_GENERIC_PROGRAM} install --user "${CLICKHOUSE_USER}" --group "${CLICKHOUSE_GROUP}" --pid-path "${CLICKHOUSE_PIDDIR}" --config-path "${CLICKHOUSE_CONFDIR}" --binary-path "${CLICKHOUSE_BINDIR}" --log-path "${CLICKHOUSE_LOGDIR}" --data-path "${CLICKHOUSE_DATADIR}"
warning: %post(clickhouse-server-0:25.8.2.29-1.aarch64) scriptlet failed, exit status 132

        所以25.8.2.29安装失败。

        于是降了版本,又下载了23.3.10.5。

        然后还是上传上去安装,依次运行都成功了。

cd /tmp/clickhouse
sudo rpm -ivh clickhouse-common-static-23.3.10.5.aarch64.rpm
sudo rpm -ivh clickhouse-server-23.3.10.5.aarch64.rpm
sudo rpm -ivh clickhouse-client-23.3.10.5.aarch64.rpm

        然后查看是否安装成功,安装server的时候会问我们要密码,想输就输入一个,不想就空着,但是回头远程连接的时候还是需要的,所以最好配置一个。

# 启动服务
sudo systemctl start clickhouse-server# 查看服务状态(确保是 active (running))
sudo systemctl status clickhouse-server# 用客户端连接(问我们要密码就输入)
clickhouse-client# 查看版本(确认安装成功)
SELECT version();

        安装成功了之后,我们还是需要修改配置文件

# 给文件添加 root 写入权限(所有者保留读,其他用户无权限)
sudo chmod 600 /etc/clickhouse-server/config.xmlsudo vim /etc/clickhouse-server/config.xml

        首先是listen_host改成0.0.0.0,允许远程连接,然后我关闭了ipv6。

<!-- 允许所有 IPv4 和 IPv6 地址连接(生产环境建议限制 K8s 节点的 IP 段) -->
<listen_host>0.0.0.0</listen_host>  <!-- 允许 IPv4 远程连接 --><!--开启后也许会报端口被占用,如果是这样可以注释掉-->
<!--<listen_host>::</listen_host>-->        <!-- 允许 IPv6 远程连接(可选) -->

        然后网上说要需要修改下面的文件,主要是密码和远程连接,但是我都没修改,我觉得应该不需要(个人意见)。

sudo chmod 600 /etc/clickhouse-server/users.xmlsudo vim /etc/clickhouse-server/users.xml

        然后重启clickhouse

sudo systemctl stop clickhouse-server
sudo systemctl restart clickhouse-server

        然后查看端口占用

sudo ss -tulpn | grep clickhouse

        出现类似这样的占用,说明ipv4绑定都成功了。

[root@whm-test-ecs-1 clickhouse]# sudo ss -tulpn | grep clickhouse
tcp   LISTEN 0      4096                            0.0.0.0:8123       0.0.0.0:*    users:(("clickhouse-serv",pid=135609,fd=38))
tcp   LISTEN 0      4096                            0.0.0.0:9000       0.0.0.0:*    users:(("clickhouse-serv",pid=135609,fd=39))
tcp   LISTEN 0      4096                            0.0.0.0:9004       0.0.0.0:*    users:(("clickhouse-serv",pid=135609,fd=40))
tcp   LISTEN 0      4096                            0.0.0.0:9005       0.0.0.0:*    users:(("clickhouse-serv",pid=135609,fd=35))
tcp   LISTEN 0      4096                            0.0.0.0:9009       0.0.0.0:*    users:(("clickhouse-serv",pid=135609,fd=41))

        然后我们就可以连接数据库了,输入clickhouse-client,输入密码进入之后就可以创建数据库了。

-- 创建数据库(例如名为 my_db)
CREATE DATABASE IF NOT EXISTS my_db;-- 切换到该数据库
USE my_db;-- 创建表
CREATE TABLE my_db.my_table
(`region_id` UInt64,`project_id` UInt64,`warehouse_id` UInt64,`material_id` UInt64,`quantity` Decimal(18, 2),`flow_type` String,`flow_time` DateTime,`created_at` DateTime DEFAULT now(),`unit_price` Decimal(18, 2) DEFAULT 0,`amount` Decimal(18, 2) DEFAULT 0,`category_id_level1` UInt64 DEFAULT 0 COMMENT '一级分类ID',`category_id_level2` UInt64 DEFAULT 0 COMMENT '二级分类ID',`category_id_level3` UInt64 DEFAULT 0 COMMENT '三级分类ID'
)
ENGINE = MergeTree
PARTITION BY toYYYYMM(flow_time)
ORDER BY (flow_time,region_id,project_id,warehouse_id,material_id)
SETTINGS index_granularity = 8192; -- 查看当前数据库的表
SHOW TABLES;-- 查看表结构
DESCRIBE TABLE user_events;

        至此安装完成,后续我是使用java微服务进行连接,mysql是主数据源,clickhouse是第二个数据库,经过测试连接也是成功的,可以写入数据。

        pom.xml

        <!-- ClickHouse JDBC Driver --><dependency><groupId>com.clickhouse</groupId><artifactId>clickhouse-jdbc</artifactId><version>0.4.6</version></dependency><!-- ClickHouse HTTP Client --><dependency><groupId>com.clickhouse</groupId><artifactId>clickhouse-http-client</artifactId><version>0.4.6</version></dependency>

        nacos中的配置

    # ClickHouse数据源配置(作为第二个数据源)clickhouse:type: com.alibaba.druid.pool.DruidDataSource  # 通常也使用Druid连接池driver-class-name: com.clickhouse.jdbc.ClickHouseDriver  # 需要指定ClickHouse驱动url: jdbc:clickhouse://你得ip:8123/wms_basicusername: defaultpassword: 你得密码# 连接池配置validation-query: SELECT 1initial-size: 5min-idle: 5max-active: 20max-wait: 60000# 其他特定配置connection-properties:compress: 0compress_algorithm: none

http://www.dtcms.com/a/564730.html

相关文章:

  • 用docker搭建selenium grid分布式环境
  • App 上架苹果商店全流程详解 从开发者账号申请到开心上架(Appuploader)跨平台免 Mac 上传实战指南
  • SpringBoot中使用tess4j进行OCR(在macos上面开发)
  • Debian开发板3568配置打印机驱动
  • 基于 Debian 服务器的前端项目部署完整教程
  • Debian 服务器环境搭建全指南:从工具选型到项目部署实战
  • app网站如何做推广方案山东进一步优化
  • 长沙网站关键词seo苏州建设工程招投标网
  • 【数据结构】二维数组中的元素查重
  • 软件设计模式(tyutJAVA 状态模式实验)
  • 【LeetCode】最大连续1的个数 III
  • Java 中 组合 (Composition)、接口 (Interface) 和 委托 (Delegation) 这三个概念的区别
  • 日本IT面试:与国内有何不同?一篇解析分享
  • 13-MySQL用户管理
  • 泰安放心的企业建站公司母婴网站源码 带采集
  • 做手机旅游网站徐州市制作网站的公司
  • 关于数控滑台
  • 数学中“必要条件”和“充分条件”大白话理解
  • 实验十一 三维观察实验
  • 【AI编码】VS Code - continue - github copolit
  • UVa 12298 Super Poker II
  • SQL视图:虚拟表的完整指南
  • 经纪柜台系统---拥有1.4.9号香港牌照的优选
  • 遵义网站建设天津做网站好的公司有哪些
  • 网站建设 响应式手机app制作网站
  • Elasticsearch 的 Routing 策略详解
  • GIT命令常用方法
  • Python计算题类相关实战
  • 常用es sql
  • 网站系统管理员烟台专业网站推广