flink安装与配置-脚本一键安装(超简单)

文章目录

  • 前言
  • 使用shell脚本一键安装
    • 1. 复制脚本
    • 2. 增加执行权限
    • 3. 执行脚本
    • 4. 加载用户环境变量
    • 5. 浏览器访问
  • 总结


前言

本文介绍了使用shell脚本一键安装和配置Apache Flink单机版的方法。通过复制并执行提供的安装脚本,可以自动下载、安装和配置Flink。脚本会检查系统环境和依赖,并进行相应的安装和配置操作。安装完成后,可以通过浏览器访问Flink的用户界面。


使用shell脚本一键安装

1. 复制脚本

首先,将以下脚本内容复制并保存为/tmp/install_flink.sh文件。

#!/bin/bashinstallDir="/opt/module/flink"
flink_version="1.9.2"
scala_version="2.11"if [ -z $(command -v wget) ]; thensudo yum install -y wgetecho "wget安装完成"
fi
if [ -z "$JAVA_HOME" ]; thenecho "JAVA_HOME未设置,请安装jdk1.8,设置Java环境变量再来执行此脚本"exit 1
fi
if [ ! -d "${installDir}" ]; thensudo mkdir -p "${installDir}"if [ $? -eq 0 ]; thenecho "安装目录${installDir}已创建"elseecho "请确保您有足够的权限来创建目录,请增加权限后再次执行"exit 1fi
fi
if [ ! -f /tmp/flink-$flink_version-bin-scala_$scala_version.tgz ]; thenwget https://archive.apache.org/dist/flink/flink-$flink_version/flink-$flink_version-bin-scala_$scala_version.tgz -P /tmpif [ $? -eq 0 ]; thenecho "/tmp/flink-$flink_version-bin-scala_$scala_version.tgz下载成功"elseecho "/tmp/flink-$flink_version-bin-scala_$scala_version.tgz下载失败,请重试或手动下载到/tmp目录下再次执行"echo "下载地址:https://archive.apache.org/dist/flink/flink-$flink_version/flink-$flink_version-bin-scala_$scala_version.tgz"exit 1fi
fiif [ -d $installDir/flink-$flink_version ]; thenecho "$installDir/flink-$flink_version 已存在,正在删除..."sudo rm -rf $installDir/flink-$flink_version
fi
tar -zxvf /tmp/flink-$flink_version-bin-scala_$scala_version.tgz -C $installDir
if [ $? -eq 0 ]; thenecho "/tmp/flink-$flink_version-bin-scala_$scala_version.tgz解压成功"
elseecho "/tmp/flink-$flink_version-bin-scala_$scala_version.tgz解压失败,请查看异常信息后重试"exit 1
fised -i "s|^jobmanager.rpc.address:.*|jobmanager.rpc.address: $(hostname)|" "$installDir/flink-$flink_version/conf/flink-conf.yaml"
# 设置flink用户环境变量
echo >> ~/.bashrc
echo '#FLINK_HOME' >> ~/.bashrc
echo "export FLINK_HOME=$installDir/flink-$flink_version" >> ~/.bashrc
echo 'export PATH=$PATH:$FLINK_HOME/bin' >> ~/.bashrcif [[ $($installDir/flink-$flink_version/bin/flink --version | awk '{ print $1 }') == 'Version:' ]]; thenecho "flink下载、安装、配置完成"
elseecho "安装出现异常,请查看异常信息后重试"exit 1
fi
$installDir/flink-$flink_version/bin/start-cluster.sh
if [ $? -eq 0 ]; thenecho "flink启动成功"ip_addr=$(ip addr | grep 'inet ' | awk '{print $2}'| tail -n 1 | grep -oP '\d+\.\d+\.\d+\.\d+')echo "浏览器访问flink的UI界面:http://$ip_addr:8081/"
elseecho "flink启动失败,请查看异常信息解决后再次尝试启动"exit 1
fiexit 0

2. 增加执行权限

在终端中执行以下命令,为脚本添加执行权限。

chmod a+x /tmp/install_flink.sh

3. 执行脚本

执行以下命令,运行脚本开始下载、安装和配置Flink。

/tmp/install_flink.sh

请等待安装完成,如有异常会有提示。

成功如下图所示:

在这里插入图片描述

4. 加载用户环境变量

source ~/.bashrc

5. 浏览器访问

根据成功后的提示复制网址到浏览器访问,如下图所示:

在这里插入图片描述


总结

回顾整个安装和配置过程。通过执行脚本,我们成功地完成了Flink的安装和配置,并可以通过浏览器访问Flink的用户界面。这种自动化的安装和配置方法可以减少手动操作的工作量,提高部署的一致性和可靠性。

希望本教程对您有所帮助!如有任何疑问或问题,请随时在评论区留言。感谢阅读!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/195724.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ vector基本用法

一、vector定义和初始化 在C中&#xff0c;vector是一种动态数组&#xff0c;可以根据需要自动增长和缩减 std::vector<type> name; 其中&#xff0c;type表示元素类型&#xff0c;name是vector的名称。初始化vector的方法很简单&#xff0c;只需要在括号中提供一些初始…

ZYNQ_project:HDMI

实验目标&#xff1a;先显示彩条&#xff0c;通过uart串口传输100x100 大小图片像素信息&#xff0c;然后开始弹跳显示该图片在显示器上。 HDMI 是新一代的多媒体接口标准&#xff0c; 英文全称是 High-Definition Multimedia Interface&#xff0c; 即高清多媒体接口。 它能够…

录视频人不在电脑旁,怎么设置定时关机

如果你平常工作比较忙&#xff0c;或者要录制的视频/音频文件需要很长时间&#xff0c;最好选择预约录制&#xff0c;这样可使录屏软件自动开始和停止录制&#xff0c;并且定时关机。此外&#xff0c;你还可以设置保存录制文件、关闭录屏软件。是不是听起来很感兴趣&#xff1f…

vs qt 解决没有network 无法打开包括文件: “QNetworkAccessManager”: No such

visual stdio qt没有pro文件-CSDN博客 qtprojectSetting -> qt Modules 添加network 依赖

进程程序替换和shell实现

先前fork说创建子进程执行代码&#xff0c;如何让子进程执行和父进程完全不一样的代码?程序替换。 一 单进程替换演示 1 execl函数使用 最近转到在vs code下写代码&#xff0c;之前也在xhell下用过execl函数&#xff0c;所以才想写篇博客总结总结&#xff0c;没想到在vs code…

Docker Compose简单入门

Docker Compose 简介 Docker Compose 是一个编排多容器发布式部署的工具&#xff0c;提供命令集管理容器化应用的完整开发周期&#xff0c;包括服务构建&#xff0c;启动和停止。 Docker Compose 真正的作用是在一个文件&#xff08;docker-compose.yml&#xff09;中定义并运…

socket Send-Q,Recv-Q 全连接队列打满

1、 # coding = utf-8 # -*- coding:utf-8 -*- import socket import time BUFSIZE=1024 ip_port = (2.2.2.2,8081) s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#创建套接字 s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) s.bind(ip_port)#绑定地址 s.lis…

Arthas安装及简单使用

一. 背景介绍 Arthas 是 Alibaba 在 2018 年 9 月开源的 Java 诊断工具。支持 JDK6&#xff0c; 采用命令行交互模式&#xff0c;提供 Tab 自动补全&#xff0c;可以方便的定位和诊断线上程序运行问题。得益于 Arthas 强大且丰富的功能&#xff0c;让 Arthas 能做很多的事情&a…

超声波眼镜清洗机是智商税吗?2023年超声波清洗机比较不错推荐

随着科技的日新月异&#xff0c;我们生活中充满了各种各样的智能设备。其中&#xff0c;超声波清洗机以其独特的清洗能力&#xff0c;逐渐走进我们的生活。然而&#xff0c;对于很多人来说&#xff0c;超声波清洗机还是一个相对陌生的概念。那么&#xff0c;超声波清洗机到底是…

P9 链表 清空链表|销毁链表

目录 前言 01销毁链表 02 清空链表 测试代码 前言 &#x1f3ac; 个人主页&#xff1a;ChenPi &#x1f43b;推荐专栏1: 《C_ChenPi的博客-CSDN博客》✨✨✨ &#x1f525; 推荐专栏2: 《Linux C应用编程&#xff08;概念类&#xff09;_ChenPi的博客-CSDN博客》✨✨✨ …

Markdown语法入门与进阶指南

一、Markdown简介 Markdown是一种轻量级标记语言&#xff0c;创始人为约翰格鲁伯&#xff08;john Gruber&#xff09;。它允许人们使用易读易写的纯文本格式编写文档&#xff0c;然后转换成有效的XHTML&#xff08;或者HTML&#xff09;文档。这种语言吸收了很多在电子邮件中…

Spring Session介绍

Spring SessionSession储存到Redis1&#xff1a;添加依赖2&#xff1a;配置信息3:Spring Session存String3:Spring Session存对象 项目改造-Redis储存Session Spring Session Spring Session储存在Redis和取的执行流程&#xff1a; 1&#xff1a;request.getSession() 方法时&…

地隔离放大器集成电路芯片D3121,低噪声低失真双通道且外接电容小,能有效消除由线 路电阻所引起的问题及噪声

D3121 是一块对地能动冲放大器集成电路&#xff0c;该电路能有效消除由线 路电阻所引起的问题及噪声。所需外围电容小&#xff0c;便于设计时小型化的同 时可靠性不降低。广泛应用于车载音响系统内。 D3121 系列采用 DIP8 、 SOP8 、 SIP8 的封装形式封装。 主要特点&#x…

Java Files的常用方法都有哪些?

Java Files的常用方法都有哪些&#xff1f; 在Java中&#xff0c;java.nio.file.Files 类提供了许多用于操作文件和目录的静态方法。以下是一些常用的方法&#xff0c;以及相应的代码示例&#xff1a; 1. 读取文件内容&#xff1a; readAllLines(Path path, Charset cs)&…

Qt应用开发(Quick篇)——矩形模块 Rectangle

一、前言 矩形模块用于用纯色或渐变填充区域&#xff0c;或者提供一个矩形边框。 二、外观 每个矩形项都可以使用使用color属性指定的纯填充色、使用gradient类型定义并使用gradient属性设置的渐变来绘制。如果同时指定了颜色和渐变效果&#xff0c;则只会生效渐变效果。 通过…

服务端突然断电

192.168.137.10 访问192.168.137.200 ,突然192.168.137.200断电,192.168.137.10还是能看到estab连接 scanscan-virtual-machine:~$ sudo netstat -nap | grep 8081 tcp 0 0 192.168.137.10:48666 192.168.137.200:8081 ESTABLISHED 30035/telnet tcp …

Python:核心知识点整理大全2-笔记

在本章中&#xff0c;你将学习可在Python程序中使用的各种数据&#xff0c;还将学 习如何将数据存储到变量中&#xff0c;以及如何在程序中使用这些变量。 2.1 运行 hello_world.py 时发生的情况 运行hello_world.py时&#xff0c;Python都做了些什么呢&#xff1f;下面来深入…

NFTScan | 11.27~12.03 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。 周期&#xff1a;2023.11.20~ 2023.11.26 NFT Hot News 01/ Web3 教育平台 Open Campus 获 Binance Labs 315 万美元投资 11 月 27 日&#xff0c;Binance Labs 已向社区主导的 Web3 教育平台 Open Campu…

Selenium自动化测试工具使用方法汇总

1、设置无头浏览器模式 from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options Options() chrome_options.add_argument(- -headless) chrome_options.add_argument(- -disable-gpu) class XX(object): self.driver webdriv…

Python selenium自动化测试模型图解

1、线性测试 优势&#xff1a;每一个脚本都是完整独立的&#xff0c;每一个脚本对应一个测试用例 缺点&#xff1a;开发成本高&#xff0c;会有重复操作重复脚本&#xff1b;维护成本也高&#xff0c;修改重复操作的脚本时&#xff0c;要逐一进行修改。 2、模块化驱动测试 …