使用broadcast state实现动态配置更新,即双流:一个数据流,一个配置流
1 | https://flink.apache.org/2019/06/26/broadcast-state.html |
可以参考官方文档
1 | https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/dev/datastream/fault-tolerance/broadcast_state/ |
使用broadcast state实现动态配置更新,即双流:一个数据流,一个配置流
1 | https://flink.apache.org/2019/06/26/broadcast-state.html |
可以参考官方文档
1 | https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/dev/datastream/fault-tolerance/broadcast_state/ |
1 | brew install kubectl |
如果想安装指定版本的kubectl
1 | curl -LO "https://dl.k8s.io/release/v1.20.0/bin/darwin/amd64/kubectl" |
验证版本,会打印出client端和server端的版本,官方建议2个版本直接版本相差不要大于+/-1
1 | kubectl version |
1 | ➜ /Users/lintong/Downloads $ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64 |
参考
1 | https://minikube.sigs.k8s.io/docs/start/ |
如果要安装指定版本的话,请到下面的地址下载
1 | https://github.com/kubernetes/minikube/releases |
比如安装v1.21.0版本
1 | curl -LO https://github.com/kubernetes/minikube/releases/download/v1.21.0/minikube-darwin-amd64 |
卸载minikube
1 | minikube delete |
1 | brew install virtualbox |
1 | brew tap mongodb/brew |
1 | brew install mongodb-community@4.4 |
安装成功
1 | /usr/local/opt/mongodb-community@4.4/bin/mongo xxx:27017/your_db |
如果是mongo 6.0的话,是没有mongo命令的,需要额外安装mongosh,下载地址
1 | https://www.mongodb.com/try/download/shell |
查看db
1 | show dbs |
如果遇到not master and slaveOk=false的报错,可以执行如下命令
1 | rs.slaveOk() |
如果遇到Error: Authentication failed的报错,可能是缺少了–authenticationDatabase admin参数
1 | /Users/lintong/Downloads/mongosh-1.9.1-darwin-x64/bin/mongosh mongodb://xxx:27017/test -u xxx --authenticationDatabase admin -p |
其他参数参考:https://www.mongodb.com/docs/mongodb-shell/reference/options/
查询数据
1 | db.getCollection("your_collection").find() |
查询一条数据
1 | db.getCollection("your_collection").findOne() |
1.生成RDD
1 | val rdd: RDD[(String, Int)] = sc.parallelize(Seq(("cat", 30), ("fox", 40))) |
2.生成case class RDD
1 | case class WordCount(word: String, count: Long) |
3.rdd转df,注意这里需要隐式转换
1 | import spark.implicits._ |
4.rdd转ds,注意
ajax-interceptor chrome安装地址
https://chromewebstore.google.com/detail/ajax-modifier/nhpjggchkhnlbgdfcbgpdpkifemomkpg?hl=zh-CN
tweak是一款可以对request请求的response进行修改的浏览器插件,区别于ModHeader只能对header进行修改,tweak可以对请求的request payload(收费)和response payload(免费)进行拦截和修改。
下图是tweak的界面
同类产品还有requestly,tweak的修改HTTP请求response功能是免费的,而requestly修改API response和request body都是需要收费版本才提供支持
Firefox tweak插件安装地址
https://addons.mozilla.org/en-US/firefox/addon/tweak-extension/
Chrome tweak插件安装地址
https://chromewebstore.google.com/detail/feahianecghpnipmhphmfgmpdodhcapi
tweak的使用分成拦截请求和修改请求2个步骤
点击图中按钮
在浏览器中请求对应的接口
接下来在URL中输入接口的相关关键字,tweak就能找到这个接口
修改HTTP请求的response,比如我们将返回json中的技术修改成技术xxxx,产品修改成产品yyyy
然后取消request autocomplete,勾选extension
再次刷新页面发起请求,这时我们会发生页面中的信息已经被拦截和修改
1.该工程的功能是实现从网上的链接下载一个lrc文件和一个mp3文件
以下代码是MainActivity.java中的代码
1 | package com.example.download; |
1.采用parcels包的方式来安装flink
编译parcels请参考:制作Flink的Parcel包和csd文件
2.将parcels包拷贝到对应目录
1 | lintong@master:/opt/cloudera/parcel-repo$ ls | grep FLINK |
csd包
1 | lintong@master:/opt/cloudera/csd$ ls |
3.安装
配置主机
配置flink集群参数
部署成功
flink集群部署后会在YARN上启动一个以flink用户运行的flink session,注意此时在此flink session中是不能认证成其他用户的,只能是flink用户,可以参考:Flink on Yarn with Kerberos
比如使用flink-scala-shell就会运行在此flink session中,而在里面认证是不会生效
部署成功