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

ByConity二进制集群版部署

本次部署需准备3台服务器,分别为node1 node2 node3

一. 安装FoundationDB(FDB)集群

以下操作先演示一台的效果,三台都需要操作的!!!!!!

将fdb.tar.gz包放到三台机器上面分别解压,这里以/opt目录演示,目录等级如下

tar -zxf fdb.tar.gz

修改配置文件

主要修改config目录下的配置文件,将所有目录位置修改为本地自定义的位置

fdb.service

foundationdb.conf

新建文件fdb.cluster

内容如下

# <your_ip_address> 换成当前节点的本地ip地址
clusterdsc:test@<your_ip_address>:4500

目前已经完成了配置文件的准备工作。

将 FDB 安装到<font style="color:rgb(35, 47, 71);">systemd</font>

将服务文件复制到<font style="color:rgb(35, 47, 71);">/etc/systemd/system/</font>目录下:

cp fdb.service /etc/systemd/system/

重新加载服务文件以包括新服务:

systemctl daemon-reload

启用并启动服务:

systemctl enable fdb.service
systemctl start fdb.service

检查服务并查看它是否处于活动状态:

systemctl status fdb.service

已经在一台机器上安装了 FDB 服务,重复相同的步骤在另外两台机器上安装 FDB 服务。

安装完成之后,需要连接三台 FDB 服务以形成一个集群。

fdb集群建设

回到第一台节点,使用 fdbcli 连接到 FDB。

cd /opt/fdb/bin
./fdbcli -C /opt/fdb/config/fdb.cluster

执行以下命令来初始化数据库:

configure new single ssd

继续输入命令,将 3 台机器都设置为 coordinator,并将地址替换为你的机器地址:

coordinators <node_1_ip_address>:4500 <node_2_ip_address>:4500 <node_3_ip_address>:4500

然后退出 fdbcli,你会发现<font style="color:rgb(35, 47, 71);">fdb.cluster</font>文件现在有了新内容:

cat config/fdb.cluster

# DO NOT EDIT!
# This file is auto-generated, it is not to be edited by hand
clusterdsc:wwxVEcyLvSiO3BGKxjIw7Sg5d1UTX5ad@example1.host.com:4500,example2.host.com:4500,example3.host.com:4500

将fdb.cluster复制到另外两台机器并替换旧文件,然后重新启动 fdb 服务:、

systemctl restart fdb.service

然后返回第一台机器,再次使用 fdbcli 连接到 FDB,并执行以下命令将冗余模式更改为<font style="color:rgb(35, 47, 71);">double</font>

cd /opt/fdb/bin
./fdbcli -C /opt/fdb/config/fdb.cluster

configure double

然后在 fdbcli 中执行<font style="color:rgb(35, 47, 71);">status</font>命令以查看结果,你应该看到类似以下的内容:

证明完成了 FoundationDB 服务器的安装。

拥有了**<font style="color:#DF2A3F;">fdb.cluster</font>**文件。将会在 Byconity 的配置中使用它。

二. 安装HDFS

dhfs的安装将机器分为2类,node1是namenode node2,node2是datanode。两类机器的配置不同需要分开配置

通用设置(三台都需要做)

设置本地域名解析

 vim /etc/hosts

192.168.7.44  hadoop100.example.com hadoop100
192.168.7.98  hadoop101.example.com hadoop101
192.168.7.99  hadoop102.example.com hadoop102

安装Java

Hadoop需要Java环境,在 3 台机器上安装 Java8版本以上

yum install -y java

java -version

查看java的安装路径

which java
ls -l /usr/bin/java
ls -l /etc/alternatives/java

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64/jre

是java安装目录即JAVA_HOME

安装hadoop

解压安装包

tar -zxf hadoop-3.3.6.tar.gz -C /opt/hdfs

ll /opt/hdfs/hadoop-3.3.6

配置Hadoop

Hadoop的配置文件位于**<font style="color:#DF2A3F;">/opt/hdfs/hadoop-3.3.6/etc/hadoop</font>**目录下。

按照实际位置修改目录的路径

hadoop-env.sh
vim hadoop-env.sh

export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk
export HADOOP_HOME=/opt/hdfs/hadoop-3.3.6
export HADOOP_LOG_DIR=/opt/hdfs/logs
export HADOOP_CONF_DIR=/opt/hdfs/hadoop-3.3.6/etc/hadoop

core-site.xml
<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hadoop100:12001</value>  #三台机器的配置都设置为namenode的地址
        </property>
</configuration>

所有三台机器的通用设置已经完成,下面针对 namenode 和 datanode 的做不同的配置安装。

namenode节点设置

在 namenode 的节点上,创建一个包含 datanode ip地址列表的文件。例如<font style="color:rgb(35, 47, 71);">datanodes_list.txt</font>内容如下:

cat /opt/hdfs/datanodes_list.txt

192.168.7.98
192.168.7.99

创建一个目录以存储 namenode 运行时数据

mkdir -p /opt/hdfs/root_data_path_for_namenode

修改配置文件

/opt/hdfs/hadoop-3.3.6/etc/hadoop/hdfs-site.xml

<configuration>
  <property>
    <name>dfs.datanode.data.dir.perm</name>
    <value>700</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/opt/hdfs/root_data_path_for_namenode</value>
  </property>
<property>
    <name>dfs.blocksize</name>
    <value>268435456</value>
  </property>
  <property>
    <name>dfs.namenode.handler.count</name>
    <value>100</value>
  </property>
  <property>
    <name>dfs.hosts</name>
    <value>/opt/hdfs/datanodes_list.txt</value>
  </property>
</configuration>

已完成 namenode 的配置,接下来配置另外两个 datanode 节点。

datanode节点设置

首先在 datanode 节点上创建一个目录,来存储数据节点的运行时数据:

mkdir -p /opt/hdfs/root_data_path_for_datanode

修改配置文件

/opt/hdfs/hadoop-3.3.6/etc/hadoop/hdfs-site.xml 添加如下配置

<configuration>
        <property>
                <name>dfs.data.dir</name>
                <value>/opt/hdfs/root_data_path_for_datanode</value>
        </property>
</configuration>

/opt/hdfs/hadoop-3.3.6/etc/hadoop/core-site.xml 添加如下配置

        <property>
  <name>dfs.datanode.address</name>
  <value>0.0.0.0:9866</value>
</property>
<property>
  <name>dfs.datanode.http.address</name>
  <value>0.0.0.0:9864</value>
</property>
 <property>
  <name>dfs.datanode.hostname</name>
  <value>192.168.7.98</value>
</property>

格式化

格式化HDFS

完成配置后,再转到 namenode 节点,进入 bin目录,格式化文件系统并使用以下命令启动 namenode

./hdfs namenode -format
./hdfs --daemon start namenode

然后进入另外两个 datanode 节点,进入 hadoop 目录并使用以下命令启动 datanode 节点:

./hdfs --daemon start datanode

在完成整个 HDFS 集群的配置后,我们必须创建一个目录来存储数据。 进入 namenode 节点,在 hadoop 目录中执行以下命令:

设置存储目录

完成整个 HDFS 集群的配置后,我们必须创建一个目录来存储数据。 进入 namenode 节点,在 hadoop 目录中执行以下命令:(目录不能修改

bin/hdfs dfs -mkdir -p /user/clickhouse/
bin/hdfs dfs -chown clickhouse /user/clickhouse
bin/hdfs dfs -chmod -R 775 /user/clickhouse

验证hdfs状态

网页访问 namenode节点9870端口

http://ip:9870

三. 安装ByConity

通用安装(三台都需要做)

解压byconity.tar.gz 目录中是安装bycopnity所需依赖包

安装 FoundationDB 客户端

ByConity 软件包部署依赖于 FoundationDB 客户端软件包。FoundationDB 客户端软件包与 FoundationDB 服务器版本紧密耦合。

查看当前部署的fdb版本

/opt/fdb/bin
./fdbserver -v

使用7.1.25的foundationdb-clients包

rpm -ivh foundationdb-clients-7.1.25-1.el7.x86_64.rpm

安装 byconity-common-static

首先安装 <font style="color:rgb(35, 47, 71);">byconity-common-static</font>,这是所有其他软件包的依赖

rpm -ivh byconity-common-static-1.0.1.x86_64.rpm

修改配置

配置文件所在位置/etc/byconity-server/

cnch_config.xml** fdb.config **三台机器的配置文件保持一致,可改完一台复制到其他机器上

cnch_config.xml 文件包含 service_discovery 配置、hdfs 配置和 foundationdb 集群配置路径。

fdb.config 是 FoundationDB 集群的集群配置文件

cnch_config.xml
  1. 将所有的{your_xxxx_address}修改为第一台机器的ip (4处)
  2. 修改hdfs集群namenode的地址端口
vim /etc/byconity-server/cnch_config.xml 

fdb.cluster

将/opt/fdb/config/fdb.cluster中的信息写入/etc/byconity-server/fdb.cluster

byconity-resource-manager,byconity-daemon-manger,byconity-tso是轻量级服务,因此可以安装在共享机器上与其他软件包一起使用。

<font style="color:#DF2A3F;">byconity-server</font><font style="color:#DF2A3F;">byconity-worker</font><font style="color:#DF2A3F;">byconity-worker-write</font> 需要安装在不同机器上

服务分布

第一台机器:byconity-resource-manager,byconity-daemon-manger,byconity-tso,byconity-server

第二台机器:byconity-worker

第三台机器:byconity-worker-write

安装服务组件

#第一台
rpm -ivh byconity-tso-1.0.1.x86_64.rpm
rpm -ivh byconity-daemon-manager-1.0.1.x86_64.rpm
rpm -ivh byconity-resource-manager-1.0.1.x86_64.rpm
rpm -ivh byconity-server-1.0.1.x86_64.rpm

#第二台
rpm -ivh byconity-worker-1.0.1.x86_64.rpm

#第三台
rpm -ivh byconity-worker-write-1.0.1.x86_64.rpm

服务的配置文件位于 <font style="color:rgb(35, 47, 71);">/etc/byconity-server/byconity-xx.xml</font>默认值已足够。

日志位置/var/log/byconity-server/

首次安装不会立即启动,需要通过以下命令启动:

systemctl start byconity-tso
systemctl start byconity-server 
systemctl start byconity-resource-manager 
systemctl start byconity-daemon-manager

systemctl start byconity-worker 
systemctl start byconity-worker-write

查看服务状态

systemctl status byconity-tso
systemctl status byconity-server 
systemctl status byconity-resource-manager 
systemctl status byconity-daemon-manager

systemctl status byconity-worker 
systemctl status byconity-worker-write

验证服务

clickhouse client --port 9010

show databases;

FAQ:

目前部署的byconitys使用default用户无密码,替换准备好的users.xml

mv /etc/byconity-server/users.xml  /etc/byconity-server/users.xml.back

cd /opt/byconity
tar -zxf user.xml.tar -C /etc/byconity-server

chown clickhouse:clickhouse  /etc/byconity-server/users.xml 

不需要重启服务,本地测试连接,密码是econage123

clickhouse-client --port 9010 --user default --password econage123


http://www.kler.cn/a/535086.html

相关文章:

  • 【实战篇】巧用 DeepSeek,让 Excel 数据处理更高效
  • 【教程】docker升级镜像
  • React 第二十二节 useSyncExternalStore Hook 常见问题及用法详解
  • Android学习21 -- launcher
  • 记录一次-Rancher通过UI-Create Custom- RKE2的BUG
  • 从BIO到NIO:Java IO的进化之路
  • 康谋方案 | BEV感知技术:多相机数据采集与高精度时间同步方案
  • DeepSeek-R1 本地电脑部署 Windows系统 【轻松简易】
  • ASP.NET Core标识框架Identity
  • Spring Boot框架知识总结(超详细)
  • ORACLE用regexp_sbustr函数截取json值的sql。
  • 蓝桥杯嵌入式备赛(三)—— LED +按键 + LCD
  • 虚拟机搭建---K8S环境
  • GoFrame 微服务脚手架模块 (v2.8.x)
  • LeetCode 72.编辑距离
  • UE5 蓝图学习计划 - Day 14:搭建基础游戏场景
  • MySQL InnoDB引擎 高度为3的B+树,可以存储的数据量
  • 高级java每日一道面试题-2025年01月30日-框架篇[SpringBoot篇]-如何理解 Spring Boot 配置加载顺序 ?
  • 树欲静而凤不止
  • redis之RDB持久化过程
  • Spring Boot整合MQTT
  • 2025游戏行业的趋势预测
  • GB/T 43698-2024 《网络安全技术 软件供应链安全要求》标准解读
  • Docker镜像管理:掌握save/load与export/import的精髓
  • 90.子集||
  • python学opencv|读取图像(五十五)使用cv2.medianBlur()函数实现图像像素中值滤波处理