分享

launch_container.sh脚本脚本没有执行权限

pangge2007 发表于 2014-6-23 10:59:02 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 3 13511
oozie自动提交的map-reduce任务,在node节点的tmp文件夹下发现 launch_container.sh脚本没有执行权限,这些内容是动态生成的,
无法手工修改,请教各位大神,这种情况需要怎么修改?

drwxrwxr-x 2 hadoop hadoop 4096 Jun 23 08:01 ./
drwxrwxr-x 4 hadoop hadoop 4096 Jun 23 07:01 ../
-rw-r--r-- 1 hadoop hadoop  251 Jun 23 07:01 container_1403478073699_0001_01_000002.tokens
-rw-r--r-- 1 hadoop hadoop   12 Jun 23 07:01 .container_1403478073699_0001_01_000002.tokens.crc
-rw-r--r-- 1 hadoop hadoop 3214 Jun 23 07:01 launch_container.sh
-rw-r--r-- 1 hadoop hadoop   36 Jun 23 07:01 .launch_container.sh.crc

已有(3)人评论

跳转到指定楼层
howtodown 发表于 2014-6-23 11:58:46
既然自动生成的,应该没有问题。你应该从配置入手。看看是不是位置不正确,导致的权限问题。如果你就是想改这个内容的话,你只能修改代码了。或则在执行的过程中,给他重新赋值。但是这不是解决问题的根本办法。根源应该是配置的问题。
回复

使用道具 举报

hyj 发表于 2014-6-23 23:14:59


你看下面内容是否对你有所启发
运行container是由插拔式组件ContainerExecutor完成的,YARN提供了两种ContainerExecutor实现,一种是DefaultContainerExecutor,另一种是LinuxContainerExecutor。DefaultContainerExecutor只是简单的以管理员身份运行launch_container.sh脚本,而LinuxContainerExecutor则是以container所属用户身份运行该脚本,它是Hadoop引入安全机制后加入的,此外,在不久的将来,container会引入cgroups隔离cpu资源,相关的代码也会存放在LinuxContainerExecutor中。



回复

使用道具 举报

hyj 发表于 2014-6-23 23:18:07
整体内容如下:下面的
token文件
是否写到container_tokens中了


启动Container
启动Container是由ContainersLauncher完成的,该过程主要工作是将运行container对应的完整shell命令写到私有目录下的launch_container.sh中,并将token文件写到container_tokens中之所以要将container运行命令写到launch_container.sh中,然后通过运行shell脚本的形式运行container,主要是因为直接执行命令可能会有些特殊符号不识别。

运行Container
而运行container是由插拔式组件ContainerExecutor完成的,YARN提供了两种ContainerExecutor实现,一种是DefaultContainerExecutor,另一种是LinuxContainerExecutor。DefaultContainerExecutor只是简单的以管理员身份运行launch_container.sh脚本,而LinuxContainerExecutor则是以container所属用户身份运行该脚本,它是Hadoop引入安全机制后加入的,此外,在不久的将来,container会引入cgroups隔离cpu资源,相关的代码也会存放在LinuxContainerExecutor中。






回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条