CDH权限不够,修改用户和用户组为root
2016-01-19 10:59
776 查看
不知道大家有木有遇到过CDH中使用默认的用户和用户组导致有些地方的文件权限操作和用户操作的各种问题。CDH默认安装的时候,会创建各种用户,hdfs,hive,spark,impala,sqoop等等的用户,但往往我们在做一些操作的时候往往权限不够,导致各种各样的问题,如:只能使用hdfs用户执行job,只能使用hdfs用户下使用hive,JobHistory Server的日志在监控WEB界面不能看历史job日志jobHistory,只能通过每次手动权限赋值【hadoop fs -chmod -R
777 /user/history/done_intermediate/hdfs】查看,很是麻烦,还有等等其他的问题。
小弟我是深有感触啊,曾被这个多用户权限问题搞得不知所措,可能是自己不了解其架构和原理。还因此重装过CDH的,在此写篇文章,谨记走过的弯路。等以后CDH熟练了可以去研究其中的原理架构奥义。
建议对CDH使用不熟的,把权限和用户以及用户组全部改成root,统一都是最高权限。
、
解决方案:
修改套接字路径的用户和用户组
chown -R root:root /var/run/hdfs-sockets
一般好多的错误都是该文件已经被创建了,需要修改该文件目录的访问权限,仔细看。
解决方案:搜索“mapred”和“hadoop”修改为root
关于CDH的用户权限等,在Cloudera上专门有一大章节讲安全体系的,看这个好,只恨自己的英语差。
官网:
http://www.cloudera.com/content/www/en-us/documentation/enterprise/latest/topics/security.html
777 /user/history/done_intermediate/hdfs】查看,很是麻烦,还有等等其他的问题。
小弟我是深有感触啊,曾被这个多用户权限问题搞得不知所措,可能是自己不了解其架构和原理。还因此重装过CDH的,在此写篇文章,谨记走过的弯路。等以后CDH熟练了可以去研究其中的原理架构奥义。
建议对CDH使用不熟的,把权限和用户以及用户组全部改成root,统一都是最高权限。
建议先修改hdfs,然后重启hdfs成功,再改Yarn,然后重启Yarn成功。剩下的hadoop生态圈可以先全部修改完毕后再重启
找到对应框架,搜索”用户“以及“系统组”:均改为root1先修改hdfs,因为这是hadoop集群的基石,后面很多操作都是使用的hdfs:
如下图:搜索”用户“以及“系统组”:均改为root、
1月 19, 上午9点13:17.763 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode Exception in secureMain java.io.IOException: the path component: '/var/run/hdfs-sockets' is owned by a user who is not root and not you. Your effective user id is 0; the path is owned by user id 494, and its permissions are 0755. Please fix this or select a different socket path. at org.apache.hadoop.net.unix.DomainSocket.validateSocketPathSecurity0(Native Method) at org.apache.hadoop.net.unix.DomainSocket.bindAndListen(DomainSocket.java:189) at org.apache.hadoop.hdfs.net.DomainPeerServer.<init>(DomainPeerServer.java:40) at org.apache.hadoop.hdfs.server.datanode.DataNode.getDomainPeerServer(DataNode.java:970) at org.apache.hadoop.hdfs.server.datanode.DataNode.initDataXceiver(DataNode.java:936) at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:1144) at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:453) at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:2402) at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:2289) at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:2336) at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:2513) at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:2537)
解决方案:
修改套接字路径的用户和用户组
chown -R root:root /var/run/hdfs-sockets
一般好多的错误都是该文件已经被创建了,需要修改该文件目录的访问权限,仔细看。
2再修改Yarn
搜索”用户“以及“系统组”:均改为root报错:Caused by:org.apache.hadoop.security.AccessControlException:Permissiondenied:user=root,access=READ_EXECUT,inode="/done":mapred:hadoop drwxrwx---报此错误,同样就是用户权限的问题。一定一个一个修改完毕。
解决方案:搜索“mapred”和“hadoop”修改为root
3最后修改ZooKeeper,Hive,Impala,Hbase,Spark,Sqoop2,Flume,Kafka等的用户和系统组为root。
4重启完成OK。
关于CDH的用户权限等,在Cloudera上专门有一大章节讲安全体系的,看这个好,只恨自己的英语差。
官网:
http://www.cloudera.com/content/www/en-us/documentation/enterprise/latest/topics/security.html
相关文章推荐
- GC Roots
- writeb(), writew(), writel(),readb(), readw(), readl() 宏函数
- linux的mount(挂载)命令详解
- 【转】ios输入框被键盘挡住的解决办法
- exports 和 module.exports 的区别
- semanage: 未找到命令
- DataGuard主备归档存在gap的处理办法
- android基本架构
- Mysql 常见问题
- mac通过终端命令删除文件
- Android的传感器开发技术
- QuartzCore框架学习-CAEmitterLayer
- Apache的httpd命令详解
- Cesium之3D拉伸显示行政区含GeoJSON数据生成过程GDAL的ogr2ogr
- 【Leetcode】之Trapping Rain Water
- ant
- 向上转型和向下转型
- JavaSE入门学习3:搭建Java开发环境(一)
- Flex 布局教程:实例篇
- 细说new与malloc的10点区别