Ranger-Hdfs插件安装
Ranger-Hdfs插件ranger-0.6.0-hdfs-plugin安装到Hdfs的所有NameNode节点,
其他的DataNode节点不需要安装。
1.
登陆hdfs安装的用户,hdfs/zdh1234(用户组hadoop),获取安装包解压安装
tar –zxvf ranger-0.6.0-hdfs-plugin.tar.gz
vi install.properties
修改的参数如下:
POLICY_MGR_URL=http://10.43.159.245:6080
REPOSITORY_NAME=hadoopdev
CUSTOM_USER=hdfs
CUSTOM_GROUP=hadoop
创建软连接,软连接的作用类似于环境变量:
需要把Hadoop的配置文件conf放到/home/hdfs/hadoop/conf下面:
ln -s /home/hdfs/hadoop-2.7.1/etc/hadoop/ /home/hdfs/hadoop/conf
再建立hadoop的lib包到/home/hdfs/hadoop/lib的软连接:
ln -s /home/hdfs/hadoop-2.7.1/share/hadoop/hdfs/lib/ /home/hdfs/hadoop/lib
使用root用户执行如下脚本安装Ranger HDFS Plugin:
./enable-hdfs-plugin.sh
创建完成后,需要重新启动hdfs才能使插件生效。
2.
Ranger-Admin里注册hdfs plugin的服务
HDFS新建Service,修改如下
Service Name = hadoopdev
UserName = hdfs
Password = zdh1234
NameNodeURL = hdfs://10.43.159.240:9000
然后点击TestConnection,成功即可保存。
关掉all-path策略,给hdfs对/usr目录的只读权限
插件拉取策略本地缓存,文件存在则拉取成功:
/etc/ranger/hadoopdev/policycache/hdfs_hadoopdev.json
可以查看日志:hadoop-hdfs-namenode-zdh-245.log
2016-10-21 08:47:19,696 INFO org.apache.ranger.plugin.util.PolicyRefresher: PolicyRefresher(serviceName=hadoopdev): found updated version. lastKnownVersion=3; newVersion=4
LoginSessions里面可以看到后台从zdh-245的rangerusersync用户登入的记录.
将zdh245上面的hadoop和ranger-0.6.0-hdfs-plugin复制到zdh240等其他hadoop的集群
同上创建hadoop的软连接
scp -r hdfs@zdh-245:/home/hdfs/ranger-0.6.0-hdfs-plugin .
注意:有可能只需要把hdfs-plugin安装到hadoop的NameNode,未验证
实际安装时,对应DataNode安装了hdfs-plugin,但实际没有拉取策略,故怀疑不用安装hdfs-plugin到DataNode节点。
3.关闭Ranger HDFS Plugin
使用root执行,需要在zdh-240和zdh-245两个NameNode上面执行
./disable-hdfs-plugin.sh
重启hadoop使修改生效
目前测试结果disable无效,把集群的5个点都使用root用户disable了,然后重启。
确认位脚本问题,需要修改。
4.验证:
hdfs@zdh-245
hadoop fs -ls /usr
hadoop fs -mkdir /usr/new
hdfs用户是hadoop的安装用户,可能无法控制权限。
./hadoop fs -rm -r /usr/new*
使用mysql用户
export JAVA_HOME=/home/hdfs/jdk1.7.0_80
mysql@zdh-245:/home/hdfs/hadoop-2.7.1/bin> ./hadoop fs -mkdir /usr/new13
16/10/21 11:22:37 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
mkdir: Permission denied: user=mysql, access=WRITE, inode="/usr/new13":hdfs:supergroup:drwxr-xr-x
mysql@zdh-245:/home/hdfs/hadoop-2.7.1/bin> ./hadoop fs -mkdir /usr/new13
16/10/21 11:24:52 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
设置/usr目录mysql用户可以写之后,原来不能创建文件,现在新建文件,验证权限成功
Ranger-Hdfs插件安装的更多相关文章
- Eclipse 安装 HDFS 插件
Eclipse 安装 hdfs 连接插件 1.插件安装 在$HADOOP_HOME/contrib/eclipse-plugin/文件夹中有个hadoop-eclipse-plugin-0.20.20 ...
- Apache Ranger && HDFS
Apache Ranger && HDFS 标签(空格分隔): Hadoop HDFS HDFS对于任何Hadoop大数据平台来说都是核心组成部分,为了加强对Hadoop平台的数据保护 ...
- Hadoop-eclipse-plugin插件安装
Hadoop-eclipse-plugin插件安装 学习Hadoop有一段时间了,以前每次的做法都是先在win下用eclipse写好Mapreduce程序,然后打成jar文件,上传到linux下用ha ...
- Ranger-Kafka插件安装
Ranger-Kafka插件安装, 使用Ranger0.7.0版本,集成Kafka插件到Kafka集群, Kafka Plugin需要安装到所有的Kafka的集群节点上面. 1.登陆Kafka的安装用 ...
- CentOS7.5搭建ELK6.2.4集群及插件安装
一 简介 Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎.它允许您快速,近实时地存储,搜索和分析大量数据.它通常用作支持具有复杂搜索功能和需求的应用程序的底层引擎/技术. 下载地址 ...
- Azkaban2.5安装部署(系统时区设置 + 安装和配置mysql + Azkaban Web Server 安装 + Azkaban Executor Server安装 + Azkaban web server插件安装 + Azkaban Executor Server 插件安装)(博主推荐)(五)
Azkaban是什么?(一) Azkaban的功能特点(二) Azkaban的架构(三) Hadoop工作流引擎之Azkaban与Oozie对比(四) 不多说,直接上干货! http://www.cn ...
- Ranger-Kylin插件安装
Ranger-Kylin插件安装, 从Ranger1.1.0版本开始支持Ranger Kylin插件, 从Kylin2.3.0版本开始支持Ranger Kylin插件的权限控制. 1.获取安装包 sc ...
- Ranger-Sqoop2插件安装
Ranger-Sqoop2插件安装,基于Ranger版本1.0.0,支持Sqoop2版本1.99.7. 1.获取安装包 scp root@10.43.159.11:/home/compile/rang ...
- [Android Studio]SQLScout插件安装破解
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5972138.html [Android Studio]SQLS ...
随机推荐
- 基本类型、引用类型NPE异常
1.null是Java中的关键字,像public.static.final.它是大小写敏感的,你不能将null写成Null或NULL,编译器将不能识别它们然后报错. 2.就像每种原始类型都有默认值一样 ...
- java中super的几种用法,与this的区别
1. 子类的构造函数如果要引用super的话,必须把super放在函数的首位. class Base { Base() { System.out.println("Base"); ...
- Linux 双网卡绑定及Bridge
Linux 双网卡绑定及Bridge 阅读(5,202) 一:linux操作系统下双网卡绑定有七种模式.现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多. ...
- System.exit(-1)和return 的区别
对于只有一个单一方法的类或者系统来说是一样的,但是对于含有多个类和方法,且调用关系比较复杂时就不一样了. System.exit(-1)是指所有程序(方法,类等)停止,系统停止运行. return只是 ...
- “==” 和 equals()的区别
※ "==" 和 equals()的区别 ※ == :比较. 基本数据类型比较的是值:. 引用类型比较的是地址值. ※ equals(Object o):1)不能比较基本数据类型, ...
- matplotlib animation
import numpy as np from matplotlib import pyplot as plt from matplotlib import animation fig, ax = p ...
- java多线程并发编程中的锁
synchronized: https://www.cnblogs.com/dolphin0520/p/3923737.html Lock:https://www.cnblogs.com/dolphi ...
- PMP变更流程
变更流程:
- 【论文笔记】 Denoising Implicit Feedback for Recommendation
Denoising Implicit Feedback for Recommendation Authors: 王文杰,冯福利,何向南,聂礼强,蔡达成 WSDM'21 新加坡国立大学,中国科学技术大学 ...
- CF1481B New Colony 题解
Content \(n\) 座山排成一行,其中第 \(i\) 座山的高度为 \(h_i\). 有 \(k\) 个巨石依次从第一座山开始滚落.当某个巨石在第 \(i\) 座山时: 如果 \(i=n\), ...