Flink-1.17集群部署

1、部署

1.1、修改flink-conf.yaml

1.1.1、flink-17
jobmanager.rpc.address: boshi-122
jobmanager.rpc.port: 6123
# 设置jobmanager总内存
jobmanager.memory.process.size: 2048m
# 设置taskmanager的运行总内存
taskmanager.memory.process.size: 4096mb
# 设置用户代码运行内存
taskmanager.memory.task.heap.size: 3072m
# 设置flink框架内存
taskmanager.memory.framework.heap.size: 128m
# 设置managed memory内存
taskmanager.memory.managed.size: 128m
# 设置堆外内存
taskmanager.memory.framework.off-heap.size: 128m
# 设置网络缓存
taskmanager.memory.network.max: 128m
# 设置JVM内存
taskmanager.memory.jvm-metaspace.size: 256m
taskmanager.memory.jvm-overhead.max: 256m
taskmanager.numberOfTaskSlots: 8
parallelism.default: 1
jobmanager.execution.failover-strategy: region
classloader.check-leaked-classloader: false
akka.ask.timeout: 50s
web.timeout: 50000
heartbeat.timeout: 180000
taskmanager.network.request-backoff.max: 240000
state.savepoints.dir: file:///data/flink/savepoint/
state.checkpoints.dir: file:///data/flink/checkpoint/
env.java.opts: -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+AlwaysPreTouch -server -XX:+HeapDumpOnOutOfMemoryError
1.1.2、flink-1-13
jobmanager.rpc.address: boshi-146
jobmanager.rpc.port: 6123
# 设置jobmanager总内存
jobmanager.memory.process.size: 4096m
# 设置taskmanager的运行总内存
taskmanager.memory.process.size: 16384mb
# 设置用户代码运行内存
taskmanager.memory.task.heap.size: 15360m
# 设置flink框架内存
taskmanager.memory.framework.heap.size: 128m
# 设置managed memory内存
taskmanager.memory.managed.size: 128m
# 设置堆外内存
taskmanager.memory.framework.off-heap.size: 128m
# 设置网络缓存
taskmanager.memory.network.max: 128m
# 设置JVM内存
taskmanager.memory.jvm-metaspace.size: 256m
taskmanager.memory.jvm-overhead.max: 256m
taskmanager.numberOfTaskSlots: 2
parallelism.default: 2
jobmanager.execution.failover-strategy: region
classloader.check-leaked-classloader: false
akka.ask.timeout: 100s
web.timeout: 100000
heartbeat.timeout: 180000
taskmanager.network.request-backoff.max: 240000
state.savepoints.dir: hdfs://hdfs-ha/flink/savepoint/
state.checkpoints.dir: hdfs://hdfs-ha/flink/checkpoint/
env.java.opts: -server -XX:+UseG1GC -Xloggc:<LOG_DIR>/gc.log -XX:+PrintGCDetails -XX:-OmitStackTraceInFastThrow -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=20 -XX:GCLogFileSize=100M

1.2、masters

boshi-122:8081

1.3、workers

boshi-129
boshi-137
boshi-144
boshi-166

2、提交任务

2.1、mysql-to-kafka-starrocks

--MySQL表
CREATE TABLE mysql_crawl_enterprise_website (
  `id` int,
  `eid` varchar,
  `enterprise_name` varchar,
  `website` varchar,
  `html` varchar,
   PRIMARY KEY (`id`) NOT ENFORCED
) WITH (
'connector' = 'mysql-cdc',
'hostname' = 'ip',
'port' = '3306',
'username' = 'root',
'password' = '',
'database-name' = 'db_enterprise_outer_resource',
'table-name' = 'crawl_enterprise_website',
'scan.incremental.snapshot.enabled' = 'false'
);

--Kafka表
CREATE TABLE kafka_crawl_enterprise_website (
  `id` int,
  `eid` varchar,
  `enterprise_name` varchar,
  `website` varchar,
  `html` varchar,
  PRIMARY KEY (`id`) NOT ENFORCED
) WITH (
    'connector' = 'upsert-kafka',
    'topic' = 'ods_crawl_enterprise_website',
    'properties.bootstrap.servers' = 'ip:6667,ip:6667,ip:6667',
    'properties.group.id' = 'source_province',
	  'properties.max.request.size' = '512000000',
    'properties.session.timeout.ms' = '60000',
    'properties.request.timeout.ms' = '40000',
    -- 'properties.max.poll.records' = '100',
    -- 'properties.auto.offset.reset' = 'latest',
    'key.format' = 'json',
    'value.format' = 'json'
);

--Starrocks表
CREATE TABLE starrock_ods_crawl_enterprise_website (
  `id` int,
  `eid` varchar,
  `enterprise_name` varchar,
  `website` varchar,
  `html` varchar,
   PRIMARY KEY (`id`) NOT ENFORCED -- 如果要同步的数据库表定义了主键, 则这里也需要定义
) WITH (
  'connector' = 'starrocks',
  'jdbc-url' = 'jdbc:mysql://ip:9030',
  'load-url' = 'ip:8030',
  'database-name' = 'ods',
  'table-name' = 'ods_crawl_enterprise_website',
  'username' = 'starrocks',
  'password' = '',
  'sink.max-retries' = '5',
  -- 'sink.parallelism' = '2',
  -- 'sink.version' = 'V1',
  -- 'sink.buffer-flush.max-rows' = '64000',
  'sink.buffer-flush.max-bytes' = '256000000',
  'sink.buffer-flush.interval-ms' = '3000',
  -- 'sink.properties.label' ='ods_crawl_enterprise_website',
  'sink.properties.format' = 'json',
  'sink.properties.strip_outer_array' = 'true',
  'sink.properties.ignore_json_size' = 'true' --忽略对 JSON Body 大小的检查

);

--MySQL数据同步到Kafka
insert into kafka_crawl_enterprise_website select * from mysql_crawl_enterprise_website;
--Kafka数据同步到Starrocks
insert into starrock_ods_crawl_enterprise_website select * from kafka_crawl_enterprise_website;

2.2、提交参数

jobmanager.memory.process.size=4096m
taskmanager.memory.process.size=8192m
taskmanager.memory.task.heap.size=7168m
taskmanager.memory.framework.heap.size=128m
taskmanager.memory.framework.off-heap.size=128m
taskmanager.memory.managed.size=128m
taskmanager.memory.network.max=128m
taskmanager.memory.jvm-metaspace.size=256m
taskmanager.memory.jvm-overhead.max=256m
parallelism.default=3
taskmanager.numberOfTaskSlots=1
yarn.containers.vcores=1
<think>好的,我需要帮助用户找到Apache Flink 1.17版本安装方法或教程。首先,我应该回顾用户提供的引用内容,看看是否有相关的安装指南。引用[3]提到了Flink单机安装及使用指南,其中包含修改配置文件的步骤,这可能适用于1.17版本。引用[4]提到在Flink 1.17.0集成Kafka,虽然主要讲的是集成,但可能也涉及安装步骤。用户还提到其他引用,但引用[1]和[2]是关于连接器的,引用[5]是数据流模拟,可能不直接相关。 接下来,我需要整理安装步骤。通常,Flink安装包括下载、解压、配置环境变量、修改配置文件、启动集群等。根据引用[3],用户需要替换路径为实际的Flink主目录,并修改配置文件。引用[4]中的yarn-session.sh可能涉及集群部署。此外,确保Java环境正确安装也是必要的,因为Flink依赖Java。 另外,用户可能需要单机安装集群部署的指导。单机安装相对简单,而集群可能需要更多配置,比如JobManager和TaskManager的设置。引用[4]提到使用yarn-session.sh,这可能是在YARN集群部署的方式。需要注意Flink 1.17的具体配置是否有变化,但通常基础步骤类似。 还要检查是否有官方文档或社区资源推荐。用户提供的引用中,引用[3]和[4]可能来自用户自己的文章,但需要确认是否适用于1.17版本。如果存在版本差异,可能需要提醒用户注意版本兼容性,比如Hadoop或Kafka的版本是否支持Flink 1.17。 最后,生成相关问题时要围绕安装过程中可能遇到的常见问题,比如环境配置、依赖管理、集群启动失败等。同时,可能涉及后续的集成步骤,如连接Hive或Kafka,这可以引用其他相关的引用内容。</think>### Apache Flink 1.17 安装指南 #### **1. 环境准备** - **Java 环境**:Flink 依赖 Java 8/11/17。需提前安装并配置环境变量: ```bash # 示例:检查 Java 版本 java -version ``` - **下载 Flink 1.17**:从[官网](https://flink.apache.org/downloads.html)或镜像站下载二进制包(如 `flink-1.17.0-bin-scala_2.12.tgz`)[^3]。 #### **2. 单机模式安装** 1. **解压文件**: ```bash tar -xzvf flink-1.17.0-bin-scala_2.12.tgz cd flink-1.17.0 ``` 2. **启动本地集群**: ```bash ./bin/start-cluster.sh # 启动 JobManager 和 TaskManager ``` 3. **访问 Web UI**:浏览器打开 `http://localhost:8081` 查看集群状态[^3]。 #### **3. 集群模式部署(YARN)** 1. **Hadoop 环境**:确保 Hadoop 集群已运行(参考引用[4]中 Hadoop 集成步骤)。 2. **提交任务**: ```bash ./bin/yarn-session.sh --detached # 启动 YARN Session ./bin/flink run -m yarn-cluster ./examples/streaming/WordCount.jar ``` #### **4. 配置文件调整** - **修改 `conf/flink-conf.yaml`**: ```yaml # 示例:调整 TaskManager 内存 taskmanager.memory.process.size: 4096m ``` - **检查网络配置**:若需远程访问,需配置 `rest.bind-address: 0.0.0.0`。 #### **5. 验证安装** - **运行示例任务**: ```bash ./bin/flink run ./examples/streaming/WordCount.jar ``` - **查看日志**:日志文件位于 `log/flink-*-jobmanager.log`。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值