当前位置: 首页 > news >正文

深圳集团网站建设专业百度小说免费阅读

深圳集团网站建设专业,百度小说免费阅读,建网站需要买什么,java做交互网站系统背景介绍 由于 CDH(Clouderas Distribution Hadoop )近几年已经开始收费并限制节点数量和版本升级,最近使用开源的 hadoop 搭了一套测试集群,其中的权限管理组件用到了Apache Ranger,所以记录一下编译打包过程。 组件…
背景介绍

由于 CDH(Cloudera's Distribution Hadoop )近几年已经开始收费并限制节点数量和版本升级,最近使用开源的 hadoop 搭了一套测试集群,其中的权限管理组件用到了Apache Ranger,所以记录一下编译打包过程。

组件版本
  • Hadoop 2.8.5
  • Hive 2.3.7
  • Hbase 1.4.9
  • Ranger 1.2.0

注意:由于 Ranger 2.0 版本之后支持的 Hadoop 是 3.x 的版本,所以选择了 2.0 之前最新的 Ranger 1.2.0 版本

编译步骤
下载源码
# 克隆源码
git clone https://github.com/apache/ranger.git
# 切换分支
git checkout release-ranger-1.2.0
修改配置

在根目录的 pom.xml 中修改版本:

Hadoop 从 2.7.1 修改到 2.8.5

Hive 从 2.3.4 修改到 2.3.7

Hbase 从 1.3.2 修改 1.4.9

各位可以根据需要,进行修改,当然仅修改这里很简单,但不代表编译就兼容

进行编译
mvn clean compile package assembly:assembly install -Dmaven.test.skip  -DskipTests -Drat.skip=true -Dpmd.skip=true

成功后,可见如下信息:

打包后的产物就在 target 目录中:

这里面有我们部署的 admin 包,还有各个支持 ranger 权限控制的插件

错误记录
1,Hadoop API 不兼容

https://lists.apache.org/thread/rpk62z0x1drs7oqss1rmy0rrwnp1r5j6

修改 KMSAuthenticationFilter.java 类的

props.setProperty(DelegationTokenAuthenticationHandler.TOKEN_KIND,KMSClientProvider.TOKEN_KIND);
// 调整为Text 转成 toString
props.setProperty(DelegationTokenAuthenticationHandler.TOKEN_KIND,KMSClientProvider.TOKEN_KIND.toString());
2,Hbase API 不兼容

a. 修改 ranger-hbase-plugin 子模块:

RangerAuthorizationCoprocessor.java: 新增实现接口

	@Overridepublic void preGetClusterStatus(ObserverContext<MasterCoprocessorEnvironment> observerContext) throws IOException {}@Overridepublic void postGetClusterStatus(ObserverContext<MasterCoprocessorEnvironment> observerContext, ClusterStatus clusterStatus) throws IOException {}@Overridepublic void preClearDeadServers(ObserverContext<MasterCoprocessorEnvironment> observerContext) throws IOException {}@Overridepublic void postClearDeadServers(ObserverContext<MasterCoprocessorEnvironment> observerContext, List<ServerName> list, List<ServerName> list1) throws IOException {}@Overridepublic void preMoveServers(ObserverContext<MasterCoprocessorEnvironment> ctx, Set<Address> servers, String targetGroup) throws IOException {}@Overridepublic void postMoveServers(ObserverContext<MasterCoprocessorEnvironment> observerContext, Set<Address> servers, String s) throws IOException {}@Overridepublic void preMoveServersAndTables(ObserverContext<MasterCoprocessorEnvironment> observerContext, Set<Address> set, Set<TableName> set1, String s) throws IOException {}@Overridepublic void postMoveServersAndTables(ObserverContext<MasterCoprocessorEnvironment> observerContext, Set<Address> set, Set<TableName> set1, String s) throws IOException {}@Overridepublic void preRemoveServers(ObserverContext<MasterCoprocessorEnvironment> observerContext, Set<Address> set) throws IOException {}@Overridepublic void postRemoveServers(ObserverContext<MasterCoprocessorEnvironment> observerContext, Set<Address> set) throws IOException {}

RangerAuthorizationCoprocessorBase.java: 修改参数类型

    public void preMoveServers(final ObserverContext<MasterCoprocessorEnvironment> ctx, Set<HostAndPort> servers, String targetGroup) throws IOException {}public void postMoveServers(ObserverContext<MasterCoprocessorEnvironment> ctx, Set<HostAndPort> servers, String targetGroup) throws IOException {}// 调整参数类型,成如下:public void preMoveServers(final ObserverContext<MasterCoprocessorEnvironment> ctx, Set<Address> servers, String targetGroup) throws IOException {}public void postMoveServers(ObserverContext<MasterCoprocessorEnvironment> ctx, Set<Address> servers, String targetGroup) throws IOException {}

b.修改 ranger-hbase-plugin-shim 子模块

RangerAuthorizationCoprocessor.java: 新增实现接口,注释掉部分接口

// 新增@Overridepublic void preCommitStoreFile(ObserverContext<RegionCoprocessorEnvironment> observerContext, byte[] bytes, List<Pair<Path, Path>> list) throws IOException {}@Overridepublic void postCommitStoreFile(ObserverContext<RegionCoprocessorEnvironment> observerContext, byte[] bytes, Path path, Path path1) throws IOException {}@Overridepublic void preMoveServersAndTables(ObserverContext<MasterCoprocessorEnvironment> observerContext, Set<Address> set, Set<TableName> set1, String s) throws IOException {}@Overridepublic void postMoveServersAndTables(ObserverContext<MasterCoprocessorEnvironment> observerContext, Set<Address> set, Set<TableName> set1, String s) throws IOException {}@Overridepublic void preRemoveServers(ObserverContext<MasterCoprocessorEnvironment> observerContext, Set<Address> set) throws IOException {}@Overridepublic void postRemoveServers(ObserverContext<MasterCoprocessorEnvironment> observerContext, Set<Address> set) throws IOException {}public void preBalanceRSGroup(final ObserverContext<MasterCoprocessorEnvironment> ctx, String groupName) throws IOException {}@Overridepublic void preGetClusterStatus(ObserverContext<MasterCoprocessorEnvironment> observerContext) throws IOException {}@Overridepublic void postGetClusterStatus(ObserverContext<MasterCoprocessorEnvironment> observerContext, ClusterStatus clusterStatus) throws IOException {}@Overridepublic void preClearDeadServers(ObserverContext<MasterCoprocessorEnvironment> observerContext) throws IOException {}@Overridepublic void postClearDeadServers(ObserverContext<MasterCoprocessorEnvironment> observerContext, List<ServerName> list, List<ServerName> list1) throws IOException {}@Overridepublic void preMoveServers(ObserverContext<MasterCoprocessorEnvironment> observerContext, Set<Address> set, String s) throws IOException {}@Overridepublic void postMoveServers(ObserverContext<MasterCoprocessorEnvironment> observerContext, Set<Address> set, String s) throws IOException {}// 注释掉
//  public void preMoveServers(final ObserverContext<MasterCoprocessorEnvironment> ctx, Set<HostAndPort> servers, String targetGroup) throws IOException {}
//  public void postMoveServers(ObserverContext<MasterCoprocessorEnvironment> ctx, Set<HostAndPort> servers, String targetGroup) throws IOException {}
3,Python 版本不兼容

[ERROR] around Ant part ...<exec failοnerrοr="true" executable="python">... @ 4:48

修复:ranger 编译仅仅支持 python 2.x 版本,如果我们是 python 3.x 的版本需要切换为 2 的版本,如果你安装了 conda 也很简单:

# 切换环境
conda activate py27
4,PMD 规则校验不通过

这个直接打包时禁用掉 pmd 检查即可

 -Dpmd.skip=true
注意事项

经过上述调整过后,我们的编译终于成功了,但需要注意的是 API 的兼容仅仅是为了不报错,如果真的需要到某个组件的功能时,建议移值高版本的特性过来,避免某些功能不能正常 work 问题

http://www.tj-hxxt.cn/news/2077.html

相关文章:

  • 光明新区网站建设重庆网站快速排名提升
  • APP手机端电子商务网站建设朋友圈广告30元 1000次
  • 做ppt好的网站全媒体运营师报名入口
  • 如何做自己的网站软件开发需要学什么
  • 太原网站建设哪家强抖音推广怎么收费
  • 建设部的网站重庆seo排名软件
  • 用DW做网站时怎么在新窗口打开深圳竞价托管
  • 怎么做付款下载网站网络推广怎么做?
  • 帮人做网站怎么收费电商网站如何避免客户信息泄露
  • 蚌埠北京网站建设二次感染即将大爆发
  • 长春网站建设网精准营销策略都有哪些
  • 湖北交投建设集团网站如何让百度收录自己的网站信息
  • 电商平台开发系统软件平台深圳优化公司哪家好
  • 富蕴县建设局网站品牌宣传策划方案
  • 日本做h动漫电影网站江苏seo网络
  • wordperss网站做负载均衡腾讯竞价广告
  • 上杭网站设计店铺推广引流的方法
  • 东莞做网站平台杭州百度百科
  • 自己做的工艺品在哪个网站上可以卖软文文案案例
  • 贵阳网站建设优化刷粉网站推广免费
  • 基于php的网站开发毕业论文网络营销工具有哪些
  • 阳泉网站建设公司网页制作软件哪个好
  • ps怎么做网站模板十大免费推广平台
  • 郑州网站建设怎样免费建立网站步骤
  • 建设网站的成本seo平台优化服务
  • 西安好的皮肤管理做团购网站百度seo排名优化公司推荐
  • 网站双域名 登陆5118数据分析平台官网
  • 石家庄建站外贸网站廊坊seo整站优化软件
  • 企业网站做的公司热搜榜上能否吃自热火锅
  • 一个网站成本江苏seo技术教程