IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Flink搭建部署-standalon模式、on yarn模式(包含hadoop、zookeeper部署) -> 正文阅读

[大数据]Flink搭建部署-standalon模式、on yarn模式(包含hadoop、zookeeper部署)

1、Flink虚拟机环境部署

软件版本
flink1.12.5
jdk1.8
zookeeper要是不开启高可用可以不配置
hadoop2.8…3

2.1、standalone模式

机器名称担任角色
node01jobmanager
node02-06taskmanager

下载安装软件:

tar -zxvf  xxxx软件名称

环境部署:

export JAVA_HOME="/home/soft/jdk1.8.0_271/"
export FLINK_HOME="/home/soft/flink-1.12.5/"
PATH=".$PATH:$JAVA_HOME/bin:$FLINK_HOME/bin"

让环境生效:

source /etc/profile

hosts文件:

即机器名称hostname和ip地址的对应

node01和其他机器node2-6之间需要ssh免密链接–shell脚本(至少需要node01对其他所有机器ssh免密链接):(需要虚拟机有expect 、spawn 命令)

#!/bin/bash
echo "start....."
hosts="ip ip"
password="xxxxx"
for host in $hosts
do
echo "--------$host--------"
  expect <<EOF
                spawn ssh-copy-id root@$host
                expect {
                        "yes/no" { send "yes\n"; exp_continue }
                        "password" { send "$password\n" }
                }
                expect eof 
EOF
done


-------------------------------------脚本问题没有请忽略------------------
参考链接:https://www.cnblogs.com/qingmuchuanqi48/p/14709432.html

/bin/bash^M: 解释器错误: 没有那个文件或目录
使用命令:

./start.sh
错误: bash: ./start_ui_ai.sh:/bin/sh^M:解释器错误: 没有那个文件或目录
原因一:dos / windows 和 unix / linux 换行格式编码问题导致,dos / windows  『\n\r 』表示换行 unix / linux  『\n』 表示换行
原因可能是因为我在win下操作的时候,修改到了此文件。
在win下编辑的时候,换行结尾是\n\r , 而在linux下 是\n,所以才会有 多出来的\r用指令:
sed -i 's/\r$//' build.sh
会把 build.sh文件 中的\r 替换成空白!
如果虚拟机没有联网或者没有安装expect 、spawn 命令:
可以直接在node01(jobmanager)机器上用命令:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
自身生成私钥和公钥


ssh-copy-id root@192.168.1.2
将公钥发送给所有slave机器

其中需要和命令行交互:
输入yes和密码

修改配置文件:

flink.yaml:

修改JobManager的主机名
jobmanager.rpc.address: node01
jobmanager.memory.process.size	主节点可用内存大小
taskmanager.memory.process.size	从节点可用内存大小
taskmanager.numberOfTaskSlots	从节点可以启动的进程数量,建议设置为从节可用的cpu数量
parallelism.default				Flink任务的默认并行度

master文件:

node01:8081

worker(有的版本叫做slave):

node02
node03
node04
node05
node06

启动flink集群的命令

start-cluster.sh 

在这里插入图片描述

然后访问ip:8081

在这里插入图片描述

然后测试一下:(要确保words.txt文件在每个taskmanager虚拟机机器上能够找到)

flink run /xxxx/flink/examples/batch/WordCount.jar -input words.txt

2.2、on yarn模式

在这里插入图片描述

Flink ON YARN模式就是使用客户端的方式,直接向Hadoop集群提交任务即可。不需要单独启动Flink进程。

需要先安装hadoop,然后启动yarn

https://blog.csdn.net/Taylor_Ocean/article/details/123414523?spm=1001.2014.3001.5501

---------------------------记录一下配置hadoop的时候出现的小纰漏------------------------

1.配置文件hadoop2和3版本的一些配置文件中配置项有所出入

2.启动后 web管理界面打不开:可以从这几个方面排查
1.防火墙
2.端口没有开启
3.打开/etc/hosts 文件:
[root@venn05 hadoop]# more /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 venn05
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
发现,在127.0.0.1 后面配置了一个主机名,会导致在yarn-site.xml 中配置的resourcemanager 的hostname指向 127.0.0.1
修改hosts文件,去掉127.0.0.1 后面的主机名

--------------------------xxx----------------------------------------------------------------------------

因为yarn-session模式需要hadoop的jar支持,需要将flink对应的jar包放入flink中的lib目录下:
否则报错:参考链接:https://www.cnblogs.com/javazyh/p/12170151.html
在这里插入图片描述
在这里插入图片描述

https://flink.apache.org/downloads.html进行下载

然后在再启动flink-session

 yarn-session.sh --detached
yarn kill 进程。

在yarn节点上执行:

$ yarn application -kill application_Id

2.3、高可用zookeeper

https://blog.csdn.net/a772304419/article/details/107136576

修改配置${FLINK_HOME}/conf/flink-conf.yaml文件,修改的地方如下:
在这里插入图片描述


high-availability: zookeeper
high-availability.cluster-id: /flink-cluster
high-availability.storageDir: hdfs://vmcluster/flink/ha/
high-availability.zookeeper.quorum: node-1:2181,node-2:2181,node-3:2181
state.backend: filesystem
state.checkpoints.dir: hdfs://vmcluster/flink-checkpoints
state.savepoints.dir: hdfs://vmcluster/flink-savepoints
jobmanager.execution.failover-strategy: region
jobmanager.archive.fs.dir: hdfs://vmcluster/completed-jobs/
historyserver.archive.fs.dir: hdfs://vmcluster/completed-jobs/

3.1、部署遇到的问题:

hdfs操作提示:Permission denied: user=dr.who, access=WRITE, inode=“/“:root:supergroup:drwxr-xr-x

https://blog.csdn.net/weixin_44575660/article/details/118687993


权限问题:
hadoop fs -chmod 777 /


解决Permission denied: user=root, access=WRITE, inode=“/“:root:supergroup:drwxr-xr-x问题

解决Hadoop Browse Directory Couldn‘t upload the file 错误.无法上传文件

https://blog.csdn.net/weixin_47127933/article/details/115580518

hdfs 的web界面上传文件时报错 :Couldn't upload the file data.txt:
https://blog.51cto.com/u_8433245/4940441

报错Filefile:/root/.flink/application_1651585577100_0002/application_1651585577100_0002-flink-conf.yaml5570135192338677571.tmp does not exist

在这里插入图片描述

就是权限不足:
chmod 777 /root
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-05 11:25:14  更:2022-05-05 11:29:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:21:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码