zookeeper版本兼容要查看dolphinscheduler的libs目录下zookeeper的jar包
CDH6.3.2
DolphinScheduler3.0.0
使用CDH或其他大数据平台,注意保持用户组一致,CHD使用的是supergroup用户组
默认CDH以正确安装并启动
至少官方要求的基础环境以正确安装并配置,点击跳转
使用mysql需要驱动包 mysql-connector-java-8.0.16+.jar,同时所有服务的libs里面都需要
zookeeper使用CDH中就可以,官网要求3.4.6+,但是CDH的3.4.5也可以使用
配置用户免密及权限(官网没有创建用户组)
groupadd supergroup
# 创建用户并指定用户组,并修改登录方式
useradd dolphinscheduler -g supergroup -m -s /bin/bash
# 添加密码
echo "dolphinscheduler" | passwd --stdin dolphinscheduler
# 配置 sudo 免密
sed -i '$adolphinscheduler ALL=(ALL) NOPASSWD: NOPASSWD: ALL' /etc/sudoers
sed -i 's/Defaults requirett/#Defaults requirett/g' /etc/sudoers
免密登录配置(所有操作都要使用dolphinscheduler操作)
su dolphinscheduler
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
ssh-copy-id localhost
#输入yes并输入密码,如果以下命令不需要输入密码,则配置成功
ssh localhost
下载二进制包 ,点击下载
tar -xvzf apache-dolphinscheduler-3.0.0-bin.tar.gz
# 修改目录权限,使得部署用户对二进制包解压后的 apache-dolphinscheduler-*-bin 目录有操作权限
chown -R dolphinscheduler:supergroup apache-dolphinscheduler-*-bin
cd apache-dolphinscheduler-3.0.0-bin/
将mysql-connector-java-8.0.20.jar复制或上传到当前目录
创建脚本cp_mysql.sh,粘贴一下内容
#!/bin/bash
cp -rf mysql-connector-java-8.0.20.jar api-server/libs/
cp -rf mysql-connector-java-8.0.20.jar alert-server/libs/
cp -rf mysql-connector-java-8.0.20.jar master-server/libs/
cp -rf mysql-connector-java-8.0.20.jar worker-server/libs/
cp -rf mysql-connector-java-8.0.20.jar tools/libs/
保存退出并授权执行
chmod +x cp_mysql.sh
./cp_mysql.sh
修改配置文件install_env.sh dolphinscheduler_env.sh
按照官网教程部署配置mysql,创建数据库,用户等
CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON dolphinscheduler.* TO 'dolphinscheduler'@'%' IDENTIFIED BY 'dolphinscheduler@123!';
GRANT ALL ON dolphinscheduler.* TO 'dolphinscheduler'@'localhost' IDENTIFIED BY 'dolphinscheduler@123!';
flush privileges;
bash tools/bin/upgrade-schema.sh
[注意]hdfs相关配置
如果需要使用hdfs等依赖组件配置,需要修改master-server,worker-server,api-server的conf/common.properties,这个文件默认是一样的,可以修改一份后直接复制
修改后,执行安装脚本
bash bin/install.sh
如果启动失败,请检查zookeeper版本是否兼容,bin/env下面的两个配置文件是否配置正确
日志文件查看在配置的installPath路径的下的master-server/logs/dolphinscheduler-master.log
修改master-server/conf/application.yaml中的block-until-connected为6000ms
基本都是版本问题,可以查看libs下面的zookeeper版本
org.apache.spark.sql.AnalysisException: java.lang.NoSuchMethodError: org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(Lorg/apache/hadoop/hive/conf/HiveConf;Lorg/apache/hadoop/hive/metastore/HiveMetaHookLoader;Ljava/util/Map;Ljava/lang/String;)Lorg/apache/hadoop/hive/metastore/IMetaStoreClient;;
需要将本地项目依赖的所有jar上传,检查依赖中是否缺少或版本不一致或存在多个版本
访问http://localhost:12345/dolphinscheduler
账号admin
密码dolphinscheduler123
资源中心创建文件夹失败,报错未启用配置
修改Hdfs配置api-server/conf/common.properties文件来设置存储为hdfs,并复制core-site.xml,hdfs-site.xml复制到当前目录
DolphinScheduler上传大文件失败,api日志报错No suitable resolver
前端请求超时取消问题解决方法
在非master节点部署DolphinScheduler会出现用户权限问题,尽可能在master节点或cm服务端所在节点部署,DolphinScheduler创建的租户无读写权限,即使加入supergroup组也无权限,保持用户同步,比如DolphinScheduler部署服务器上新增test用户,master节点也要新增test用户,然后命令刷新映射
#新增用户指定supergroup组(cm主节点和DolphinScheduler部署机器)
useradd test -g supergroup -s /bin/bash
#刷新用户及组映射
su -s /bin/bash -c "hdfs dfsadmin -refreshUserToGroupsMappings" hdfs
遇到配置问题或bug,按照开发思路,去排查,基本都能解决或者取issue搜索,DolphinScheduler的配置文件里面有详细的说明,3.x后的官方教程写的比较粗
我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在
我有一个ActiveRecord对象,我想在不对模型进行永久验证的情况下阻止它被保存。您过去可以使用errors.add执行类似的操作,但它看起来不再有效了。user=User.lastuser.errors.add:name,"namedoesn'trhymewithorange"user.valid?#=>trueuser.save#=>true或user=User.lastuser.errors.add:base,"myuniqueerror"user.valid?#=>trueuser.save#=>true如何在不修改用户对象模型的情况下防止将用户对象保存在Rails3.2中
我有一个正在HerokuCedar堆栈上部署的Rails3.2应用程序。这意味着应用程序本身负责为其静态Assets提供服务。我希望对这些Assets进行gzip压缩,所以我在production.rb的中间件堆栈中插入了Rack::Deflater:middleware.insert_after('Rack::Cache',Rack::Deflater)...curl告诉我这与宣传的一样有效。但是,由于Heroku将全力运行rakeassets:precompile,生成一堆预gzipAssets,我很想使用它们(而不是让Rack::Deflater再次完成所有工作)。我已经看到使用
我最近正在进行Rails5升级,当我尝试启动Rails控制台时遇到了这个错误:/actionpack-5.0.0/lib/action_controller/test_case.rb:49:ininitialize':wrongnumberofarguments(0for2)(ArgumentError)当前bundleupdaterails已经完成了gem依赖项的解决,足以更新到5.0.0,rspec正在运行(尽管我正在修复很多中断)。我也可以运行railss没有错误。这里是代码中断行:https://github.com/rails/rails/blob/master/action
使用rubyonrails,我想做类似的事情:@tasks=Task.where(:def=>true||:house_id=>current_user.house_id)执行此操作的最有效/最干净的方法是什么? 最佳答案 你可以这样做:Task.where("def=?orhouse_id=?",true,current_user.house_id)一般情况是:Model.where("column=?orother_column=?",value,other_value)您还可以利用Arel:t=Task.arel_tabl
我收到以下错误:incompatiblemarshalfileformat(can'tberead)formatversion4.8required;0.0given在这一行:从我的布局文件的这一部分:true%>true%>我以前从来没有遇到过这个问题,网上的解释对我来说太高级了,或者与制作游戏的人有关,我的项目是一个简单的rails应用程序,我昨天才开始。 最佳答案 您尝试过清算Assets吗?bundleexecrakeassets:clean然后重新编译:bundleexecrakeassets:precompile您是否以
我正在尝试找到一种更好的方法将IRB与我的常规ruby开发集成。目前我很少在我的代码中使用IRB。我只用它来验证语法或尝试一些小的东西。我知道我可以将我自己的代码加载到ruby中作为一个require'mycode'但这通常不符合我的编程风格。有时我要检查的变量超出范围或在循环内。有没有一种简单的方法可以启动我的脚本并在IRB内的某个点卡住?我想我正在寻找一种更简单的方法来调试我的ruby代码而不破坏我的F5(编译)键。也许有经验的ruby开发者可以和我分享一个更精简的开发方法。 最佳答案 安装ruby-debugg
我是RubyonRails和堆栈溢出方面的初学者。很抱歉,如果在问这个问题时有错误或...我正在尝试为我的博客项目编写编辑/更新。这是我的Controller:defedit@post=Post.findparams[:id]enddefupdate@post.update(params[:post].permit(:title,:summary,:content))redirect_toposts_pathend这是我的观点:EditPageTitle:Summary:Content:当我想更新任何帖子时,我不断收到此错误:NoMethodErrorinPostsController
我开始了一个小型网络项目并使用Drupal来构建它。到目前为止,还不错:您可以快速建立一个不错的面向CMS的网站,通过模块添加社交功能,并且您有一个广泛的API可以在一个架构良好的平台中进行自定义。现在问题来了:网站的增长超出了最初的计划,我发现自己正处于认真开始为它编写代码的境地。由于Drupal项目,我对PHP有了新的认识,但我想用Ruby来做。我会感觉更舒服,以后维护起来更容易,我可以在其他Ruby/Rails应用程序中重用它。随着时间的推移,我想我会用Ruby重写Drupal中的现有部分。基于此,问题是:是否有人将两者(成功或失败的故事)结合起来?这是一个相当大的决定,但我在G
我正在使用Rails3.2和ActiveAdmin0.4.4开发应用程序。我有一个名为Teaser的模型(/app/models/teaser.rb):classTeasertruemount_uploader:img,TeaserUploaderend然后我向其中添加了ActiveAdmin(/app/admin/teaser.rb):#encoding:UTF-8ActiveAdmin.registerTeaserdoformdo|f|f.inputs"Teaser"dof.input:name,:label=>'Текст'f.input:url,:label=>'Ссылка'