1、zookeeper安装
笔者下载的是fluss0.5版本,当前fluss0.5版本需要依赖zookeeper服务。
1.1下载zk
下载地址:https://mirrors.aliyun.com/apache/zookeeper/zookeeper-3.8.4/apache-zookeeper-3.8.4-bin.tar.gz
1.1.1 zk集群规划
node1 192.168.40.1
node2 192.168.40.2
node3 192.168.40.3
1.1.1 解压zk
tar -zxvf apache-zookeeper-3.8.4-bin.tar.gz
重命名文件名为 zookeeper-3.8.4
scp apache-zookeeper-3.8.4-bin.tar.gz root@192.168.40.2:`pwd`
scp apache-zookeeper-3.8.4-bin.tar.gz root@192.168.40.3:`pwd`
1.1.2 配置conf文件
编辑zoo.cfg文件可以选择默认配置,笔者为了省事而,选择默认
cp zoo_sample.cfg zoo.cfg #每台机器都执行
1.1.3创建myid文件
echo "1" > /mnt/opt/zookeeper-3.8.4/data/zookeeper/myid #node1
echo "2" > /mnt/opt/zookeeper-3.8.4/data/zookeeper/myid #node2
echo "3" > /mnt/opt/zookeeper-3.8.4/data/zookeeper/myid #node3
#以上分别在三台服务器上执行
编辑zoo.cfg
每台服务器配置文件插入下列三行
server.1=192.168.40.1:2888:3888
server.2=192.168.40.2:2888:3888
server.3=192.168.40.3:2888:3888
1.1.4启动zk服务
# 进入到zk的目录下
./bin/zkServer.sh start
# 查看zk的状态
./bin/zkServer.sh status
到这里一个简单的zk集群服务就搭建好了。
2、Fluss安装
2.1机器规划
node4 192.168.40.4
node5 192.168.40.5
node6 192.168.40.6
2.2软件准备
为fluss创建一个目录
# 使用root用户
mkdir /mnt/opt
chown -R fluss:fluss /mnt/opt
下载组件 flink jdk fluss
wget https://mirrors.aliyun.com/apache/flink/flink-1.20.0/flink-1.20.0-bin-scala_2.12.tgz
wget https://github.com/alibaba/fluss/releases/download/v0.5.0/fluss-0.5.0-bin.tgz
wget https://download.oracle.com/java/17/archive/jdk-17.0.12_linux-x64_bin.tar.gz
drwxr-xr-x 10 fluss fluss 172 Dec 3 23:55 flink-1.20.0
-rw-r--r-- 1 root root 483500181 Jul 25 18:31 flink-1.20.0-bin-scala_2.12.tgz
drwxr-xr-x 10 fluss fluss 242 Dec 3 23:46 fluss-0.5.0
-rw-r--r-- 1 fluss fluss 414154200 Nov 29 23:33 fluss-0.5.0-bin.tgz
drwxrwxr-x 9 fluss fluss 136 Dec 1 18:44 jdk-17.0.12
-rw-r--r-- 1 fluss fluss 182799609 Dec 1 14:43 jdk-17.0.12_linux-x64_bin.tar.gz
2.3下载jdk17版本
fluss需要jdk17或更高版本,笔者选择的是jdk17
jdk各版本下载链接 https://www.oracle.com/cn/java/technologies/downloads/archive/
请自行选择
2.4jdk多版本安装
如果你的服务使用的默认jdk版本是java8,那么如何配置多java版本呢。
1、创建fluss用户
sudo -s
useradd fluss
2、为fluss用户配置用户级别的环境变量,编辑.bashrc文件
vim ~/.bashrc
# 编辑如下行
JAVA_HOME=/mnt/opt/jdk-17.0.12
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
下列内容是应为笔者的服务器使用的是cdh安装的集群服务器节点,自带下列环境配置
export HADOOP_USER_NAME=hdfs
export HADOOP_CLASSPATH=`$HADOOP_HOME/bin/hadoop classpath`
export HADOOP_HOME=/opt/cloudera/parcels/CDH/lib/hadoop #hadoop 安装目录
export HADOOP_CONF_DIR=/etc/hadoop/conf
export HIVE_HOME=$HADOOP_HOME/../hive
export HBASE_HOME=$HADOOP_HOME/../hbase
export HADOOP_HDFS_HOME=$HADOOP_HOME/../hadoop-hdfs
export HADOOP_MAPRED_HOME=$HADOOP_HOME/../hadoop-mapreduce
export HADOOP_YARN_HOME=$HADOOP_HOME/../hadoop-yarn
# 每次登录fluss用户的使用会默认加载jdk17环境变量
source ~/.bashrc
这样在fluss用户下,jdk17环境变量就配置好了。
2.5配置fluss
#在对应节点编辑配置文件fluss-0.5.0/conf/server.yaml
#node4
coordinator.host: 192.168.40.4
coordinator.port: 9123
zookeeper.address: 192.168.40.1:2181,192.168.40.2:2181,192.168.40.3:2181
zookeeper.path.root: /fluss
tablet-server.host: 192.168.40.4
tablet-server.id: 1
data.dir: /mnt/opt/fluss-0.5.0/fluss-data
remote.data.dir: /tmp/fluss-remote-data
#node5
zookeeper.address: 192.168.40.1:2181,192.168.40.2:2181,192.168.40.3:2181
zookeeper.path.root: /fluss
tablet-server.host: 192.168.40.5
tablet-server.id: 2
data.dir: /mnt/opt/fluss-0.5.0/fluss-data
remote.data.dir: /tmp/fluss-remote-data
#node6
zookeeper.address: 192.168.40.1:2181,192.168.40.2:2181,192.168.40.3:2181
zookeeper.path.root: /fluss
tablet-server.host: 192.168.40.6
tablet-server.id: 3
data.dir: /mnt/opt/fluss-0.5.0/fluss-data
remote.data.dir: /tmp/fluss-remote-data
2.6启动fluss
#node4
./bin/coordinator-server.sh start
./bin/tablet-server.sh start
#node5
./bin/tablet-server.sh start
#node6
./bin/tablet-server.sh start
3、FlinkSQL配置准备
3.1配置文件
# node4
编辑 vim flink-1.20.0/conf/config.yaml
numberOfTaskSlots: 4
parallelism:
# The parallelism used for programs that did not specify and other parallelism.
default: 4
这两个配置尽量配置大些,不然在多开FlinkSQL-Client时,不能同时提交两个任务
3.2flink连接fluss文件
wget https://repo1.maven.org/maven2/com/alibaba/fluss/fluss-connector-flink/0.5.0/fluss-connector-flink-0.5.0.jar
放入到flink/lib目录下
3.3启动集群
# 先启动集群
./bin/start-cluster.sh
# 查看集群
http://node4:8081
# 启动FlinkSQL-Client
./bin/sql-client.sh