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 ...
随机推荐
- Java程序逻辑控制
程序逻辑控制 1.Java程序结构与逻辑控制 在Java中程序有三种结构:顺序结构.分支结构.循环结构 1.1 Java分支结构 分支结构:进行逻辑判断,当满足某些条件时才会执行某些语句. 1.if语 ...
- 深入理解java动态代理机制
动态代理其实就是java.lang.reflect.Proxy类动态的根据您指定的所有接口生成一个class byte,该class会继承Proxy类,并实现所有你指定的接口(您在参数中传入的接口数组 ...
- Spring实现类私有方法测试通用方案
现实的业务场景中,可能需要对Spring的实现类的私有方法进行测试. 场景描述: 比如XXXService里有 两个函数a.函数b. 而实现类XXXServiceImpl中实现了函数a.函数b,还包含 ...
- 【JS】枚举类型
https://zhuanlan.zhihu.com/p/79137838 相当于用数字来代替一串字母 /** * 时间:2019年8月18日 * 前端教程: https://www.pipipi.n ...
- 万字教你如何用 Python 实现线性规划
摘要:线性规划是一组数学和计算工具,可让您找到该系统的特定解,该解对应于某些其他线性函数的最大值或最小值. 本文分享自华为云社区<实践线性规划:使用 Python 进行优化>,作者: Yu ...
- 工时资源(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 资源既然各种导入都会发生些不可描述的事,那就手工建立吧.但是问题又来了,资源还分种类的:工时资源.材料资源和成本资源. 好 ...
- CF760A Petr and a calendar 题解
Content 输入两个数 \(m,d\),请输出 \(2017\) 年 \(m\) 月的日历[其中第一天是星期 \(d\)(如果 \(d=7\) 就是星期天)]需要印的列数. 格式见题目所述. 数据 ...
- mysql 在删除数据出现Cannot delete or update a parent row: a foreign key constraint fails 这个该如何解决
mysql 在删除数据出现Cannot delete or update a parent row: a foreign key constraint fails 这个该如何解决 可以这样解决: S ...
- python爬取信息到数据库与mysql简单的表操作
python 爬取豆瓣top250并导入到mysql数据库中 import pymysql import requests import re url='https://movie.douban.co ...
- 【LeetCode】1400. 构造 K 个回文字符串 Construct K Palindrome Strings
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 统计奇数字符出现次数 日期 题目地址:https:// ...