参考文章中,给出的cdh编译后的flink,已经下架,所以我们得想办法,编译。
参考别人的文章不可怕,怕的是,不思进取,我们可以参考别人的文章,并且对不足之处,进行改进,将优秀的地方,进行学习,这样我们国家和民族的技术文章和社区,才能不断进步。
可能有一天我不干程序员了,但是技术更新了,那时,我也希望,我的文章能被别人拿走,进行改进,造福开源社区。
于是,此文章是基于参考文章为基础,进行的改进版
注意flink版本千万不要选超过1.2的
否则将会多一个很麻烦的shared包编译,会出现很多问题
cdh集群(前提)---我已经搭建好了
flink的-parcel包制作
git clone https://github.com/pkeropen/flink-parcel.git
打开git bash,克隆成功后,会在当前文件里生成一个文件夹
千万不要在windows中clone,否则会更改系统格式为windows(以下为错误示范)

将文件夹上传到centos系统,因为要用sh,(你直接从centos系统上git clone也可以)
进入刚下载的制作包内,修改flink-parcel.properties文件
配置如下
flink下载缓慢,所以我提前下载下来放入了本地的httpd服务器中
我在apache官网下载的,下载缓慢
https://dlcdn.apache.org/flink/flink-1.12.7/flink-1.12.7-bin-scala_2.12.tgz
于是改成了国内化腾镜像,速度飞起
https://mirrors.cloud.tencent.com/apache/flink/flink-1.12.7/flink-1.12.7-bin-scala_2.12.tgz
将下载的文件放到自己的本地httpd目录,/var/www/html/下
#flink 下载地址
FLINK_URL=http://192.168.30.101:httpd端口/flink文件路径
#flink版本号
FLINK_VERSION=1.12.7
#扩展版本号
EXTENS_VERSION=BIN-SCALA_2.12
#操作系统版本,以centos为例
OS_VERSION=7
#CDH 小版本,我是6.3.2的集群,所以我把最大值设置为6.3.3
CDH_MIN_FULL=5.2
CDH_MAX_FULL=6.3.3
#CDH大版本
CDH_MIN=5
CDH_MAX=6
将build.sh和flink-parcel.properties 文档格式 转换为UNIX格式
(1)将文件夹上传到服务的
(2)linux上安装git
sudo yum install -y git
(3)linux安装maven
maven下载,虽然只有8MB,但是官网下载缓慢
我还是下载了下来
解压
tar -zxvf apache-maven-3.8.6-bin.tar.gz
这是我解压的目录/software/apache-maven-3.8.6
环境变量配置(加上这2句)
vi /etc/profile
export MAVEN_HOME=/software/apache-maven-3.8.6
export PATH=$PATH:$MAVEN_HOME/bin
更新
source /etc/profile
测试
mvn- v
因为大神写的Parcel的build.sh脚本需要依赖maven和git以及sh还有java
parcel包
使用当前目录的build.sh脚本执行
./build.sh parcel
成功后会在当前目录生成
构建flink-yarn csd包
./build.sh csd_on_yarn
成功会生成
tar -cvf ./FLINK-1.12.7-BIN-SCALA_2.12.tar ./FLINK-1.12.7-BIN-SCALA_2.12_build/
生成
在上1级目录,生成目标包
把这2个包,copy过去
(1)将FLINK-1.12.7-BIN-SCALA_2.11_build里的文件放到/opt/cloudera/parcel-repo
(2) cp FLINK_ON_YARN-1.12.7.jar /opt/cloudera/csd/

先点分配,重启server,
重启server
systemctl restart cloudera-scm-server
然后 在点激活,本来我是截图自己的,csdn给我删掉了,ctrl+z真的吐血,你们的设计,直接给我回退到上次自动保存点,而不是删除我刚刚输入的数据。
配置去掉安全选项

启动flink报错
"未找到与筛选器 'entityName = "flink_on_yarn-FLI xxx 匹配的实体"
之类的话
在cdh中关闭,其他服务,否则按照时候内存不够
mvn clean install -DskipTests -Pvendor-repos -Dhadoop.version=3.0.0-cdh6.3.2 -Dscala-2.12 -Drat.skip=true -T10C

参考文章:
CDH集成Flink_大数据左右手的博客-CSDN博客_cdh集成flink
自制Flink Parcel集成CDH(Flink1.12.0 + CDH6.3.2)_东东的学习笔记666的博客-CSDN博客
我在app/helpers/sessions_helper.rb中有一个帮助程序文件,其中包含一个方法my_preference,它返回当前登录用户的首选项。我想在集成测试中访问该方法。例如,这样我就可以在测试中使用getuser_path(my_preference)。在其他帖子中,我读到这可以通过在测试文件中包含requiresessions_helper来实现,但我仍然收到错误NameError:undefinedlocalvariableormethod'my_preference'.我做错了什么?require'test_helper'require'sessions_hel
我一直很高兴地使用DelayedJob习惯用法:foo.send_later(:bar)这会调用DelayedJob进程中对象foo的方法bar。我一直在使用DaemonSpawn在我的服务器上启动DelayedJob进程。但是...如果foo抛出异常,Hoptoad不会捕获它。这是任何这些包中的错误...还是我需要更改某些配置...或者我是否需要在DS或DJ中插入一些异常处理来调用Hoptoad通知程序?回应下面的第一条评论。classDelayedJobWorker 最佳答案 尝试monkeypatchingDelayed::W
前置步骤我们都操作完了,这篇开始介绍jenkins的集成。话不多说,看操作1、登录进入jenkins后会让你选择安装插件,选择第一个默认的就行。安装完成后设置账号密码,重新登录。2、配置JDK和Git都需要执行路径,所以需要先把执行路径找到,先进入服务器的docker容器,2.1JDK的路径root@69eef9ee86cf:/usr/bin#echo$JAVA_HOME/usr/local/openjdk-82.2Git的路径root@69eef9ee86cf:/#whichgit/usr/bin/git3、先配置JDK和Git。点击:ManageJenkins>>GlobalToolCon
我理解(我认为)Ruby中类变量和类的实例变量之间的区别。我想知道如何从该类外部访问该类的实例变量。从内部(即在类方法中而不是实例方法中),它可以直接访问,但是从外部,有没有办法做MyClass.class.[@$#]variablename?我没有任何具体原因要这样做,只是学习Ruby并想知道是否可行。 最佳答案 classMyClass@my_class_instance_var="foo"class上述yield:>>foo我相信Arkku演示了如何从类外部访问类变量(@@),而不是类实例变量(@)。我从这篇文章中提取了上述内
我想在Windows7上安装带有ruby1.9.3的rspec-railsgem。我收到一些错误消息,提示无法安装某些json库。所以,我使用下面的说明来解决它。来源=The'json'nativegemrequiresinstalledbuildtools从[rubyinstaller.org][3]下载[Ruby1.9.3][2]从[rubyinstaller.org][3]下载DevKit文件对于Ruby1.9.3,使用[DevKit-tdm-32-4.5.2-20110712-1620-sfx.exe][4]将DevKit解压到路径C:\Ruby193\DevKit运行cd
是否有可能以某种方式访问Class.new范围内的a?a=5Class.new{defb;aend}.new.b#NameError:undefinedlocalvariableormethod`a'for#:0x007fa8b15e9af0>#:in`b' 最佳答案 即使@MarekLipka的回答是正确的——改变变量范围总是有风险的。这是可行的,因为每个block都带有创建它的上下文,因此您的局部变量a突然变得不那么局部了——它变成了一个“隐藏的”全局变量:a=5object=Class.new{define_method(
希望我没有误解“ducktyping”的含义,但从我读到的内容来看,这意味着我应该根据对象如何响应方法而不是它是什么类型/类来编写代码。代码如下:defconvert_hash(hash)ifhash.keys.all?{|k|k.is_a?(Integer)}returnhashelsifhash.keys.all?{|k|k.is_a?(Property)}new_hash={}hash.each_pair{|k,v|new_hash[k.id]=v}returnnew_hashelseraise"CustomattributekeysshouldbeID'sorPropertyo
如果我构建了一个应用程序来访问来自Gmail、Twitter和Facebook的一些数据,并且我希望用户只需输入一次他们的身份验证信息,并且在几天或几周后重置,那会怎样是在Ruby中动态执行此操作的最佳方法吗?我看到很多人只是拥有他们客户/用户凭证的配置文件,如下所示:gmail_account:username:myClientpassword:myClientsPassword这看起来a)非常不安全,b)如果我想为成千上万的用户存储此类信息,它就无法工作。推荐的方法是什么?我希望能够在这些服务之上构建一个界面,因此每次用户进行交易时都必须输入凭据是不可行的。
三分钟集成Tap防沉迷SDK(Unity版)一、SDK介绍基于国家对上线所有游戏必须增加防沉迷功能的政策下,TapTap推出防沉迷SDK,供游戏开发者进行接入;允许未成年用户在周五、六、日以及法定节假日晚上8:00-9:00进行游戏,防沉谜时间段进入游戏会弹窗进行提示!开发环境要求:Unity2019.4或更高版本iOS10或更高版本Android5.0(APIlevel21)或更高版本🔗Unity集成Demo参考链接🔗UnityTapSDK功能体验APK下载链接二、集成前准备1.创建应用进入开发者后台,按照提示开始创建应用;2.开通服务在使用TDS实名认证和防沉迷服务之前,需要在上面创建的应
我被这个难住了。到目前为止教程中的一切都进行得很顺利,但是当我将这段代码添加到我的/spec/requests/users_spec.rb文件中时,事情开始变得糟糕:describe"success"doit"shouldmakeanewuser"dolambdadovisitsignup_pathfill_in"Name",:with=>"ExampleUser"fill_in"Email",:with=>"ryan@example.com"fill_in"Password",:with=>"foobar"fill_in"Confirmation",:with=>"foobar"cl