메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.


1. ..conf/core-site.xml  파일에 아래와 같이 프록시 프로퍼티를 추가한다.

(GROUPS, HOSTS는 그냥 "*"로 해도 되지만 호스트나 그룹명을 쉼표로 구분하여 작성해도됨)

(oozie를 실행하는 linux user가 oozie일 경우는 [userId]에 oozie로 , root 사용자로 실행할 경우에는 [userId]에 root를 기입할것)

 --------------------------------

The following two properties are required in Hadoop core-site.xml:

  <!-- OOZIE -->
  <property>
    <name>hadoop.proxyuser.[OOZIE_SERVER_USER].hosts</name>
    <value>[OOZIE_SERVER_HOSTNAME]</value>
  </property>
  <property>
    <name>hadoop.proxyuser.[OOZIE_SERVER_USER].groups</name>
    <value>[USER_GROUPS_THAT_ALLOW_IMPERSONATION]</value>
  </property>
------------------------------------------
[hadoop@master /hadoop/hadoop-1.x/conf]$ vi core-site.xml

     <property>
                <name>hadoop.proxyuser.[userId].hosts</name>
                <value>MasterNode</value>
     </property>
     <property>
                <name>hadoop.proxyuser.[userId].groups</name>
                <value>[userId]</value>
     </property>

 

-----------------------sample----------------

<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>localhost</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>supergroup,hadoop,root</value>
</property>


1-2. oozie-site.xml에서 아래 부분의 주석을 풀고  #USER#는 반드시 oozie를 실행하는 계정(예, hadoop)으로 변경해야함

 <property>

        <name>oozie.service.ProxyUserService.proxyuser.#USER#.hosts</name>

        <value>*</value>

        <description>

            List of hosts the '#USER#' user is allowed to perform 'doAs'

            operations.


            The '#USER#' must be replaced with the username o the user who is

            allowed to perform 'doAs' operations.


            The value can be the '*' wildcard or a list of hostnames.


            For multiple users copy this property and replace the user name

            in the property name.

        </description>

    </property>


    <property>

        <name>oozie.service.ProxyUserService.proxyuser.hadoop.groups</name>

        <value>*</value>

        <description>

            List of groups the '#USER#' user is allowed to impersonate users

            from to perform 'doAs' operations.


            The '#USER#' must be replaced with the username o the user who is

            allowed to perform 'doAs' operations.


            The value can be the '*' wildcard or a list of groups.


            For multiple users copy this property and replace the user name

            in the property name.

        </description>

    </property>

 

2. 변경사항 반영(hdfs-site.xml에 반영시)->?

hadoop@bigdata-host:~/hadoop/conf$ hadoop mradmin -refreshUserToGroupsMappings


3. 변경사항 반영(core-site.xml에 반영시)

stop-all.sh

start-all.sh


 

4. 아래와 같은 오류가 발생시 아래와 같이 설정.(hdfs-site.xml)

<property> 
  <name>dfs.permissions</name> 
  <value>false</value> 
</property> 


 

-------------------------hadoop계정으로 실행하던 oozie job을 root로 실행했을때 오류메세지--------------------------------------

JA009: org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE, inode="user":hadoop:supergroup:rwxr-xr-x

at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:217)

at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:197)

at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:141)

at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:5758)

at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkAncestorAccess(FSNamesystem.java:5731)

at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInternal(FSNamesystem.java:1576)

at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFile(FSNamesystem.java:1527)

at org.apache.hadoop.hdfs.server.namenode.NameNode.create(NameNode.java:710)

at org.apache.hadoop.hdfs.server.namenode.NameNode.create(NameNode.java:689)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:587)

at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1432)

at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1428)

at java.security.AccessController.doPrivileged(Native Method)

at javax.security.auth.Subject.doAs(Subject.java:415)

at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)

at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1426)

 

참고 :

위와 같은 오류가 발생하면

hadoop fs -mkdir /user/root

hadoop fs -chown root:root /user/root

hadoop fs -chmod -R 777 /user/root

와 같이 /user밑에 root로 만들고 권한을 변경하라고 하지만... oozie 실행시 자동으로 생성됨을 확인했다.

번호 제목 날짜 조회 수
» oozie job 구동시 JA009: User: hadoop is not allowed to impersonate hadoop 오류나는 경우 2014.06.02 3388
72 원보드pc인 bananapi를 이용하여 hadoop 클러스터 구성하기(준비물) file 2014.05.29 6563
71 의사분산모드에 hadoop설치및 ecosystem 환경 정리 2014.05.29 5269
70 hadoop및 ecosystem에서 사용되는 명령문 정리 2014.05.28 6809
69 hive job실행시 meta정보를 원격의 mysql에 저장하는 경우 설정방법 2014.05.28 5240
68 oozie의 meta정보를 mysql에서 관리하기 2014.05.26 26584
67 hive query에서 mapreduce돌리지 않고 select하는 방법 2014.05.23 5030
66 hiverserver2기동시 connection refused가 발생하는 경우 조치방법 2014.05.22 4954
65 import 혹은 export할때 hive파일의 default 구분자는 --input-fields-terminated-by "x01"와 같이 지정해야함 2014.05.20 6835
64 hive에서 insert overwrite directory.. 로 하면 default column구분자는 'SOH'혹은 't'가 됨 2014.05.20 3707
63 source의 type을 spooldir로 하는 경우 해당 경로에 파일이 들어오면 파일단위로 전송함 2014.05.20 4561
62 특정파일이 생성되어야 action이 실행되는 oozie job만들기(coordinator.xml) 2014.05.20 8068
61 dual table만들기 2014.05.16 4356
60 sqoop에서 oracle관련 작업할때 테이블명, 사용자명, DB명은 모두 대문자로 사용할것 2014.05.15 4182
59 sqoop export/import등을 할때 driver를 못찾는 오류가 발생하면... 2014.05.15 4625
58 oozie가 말하는 start시간은..서버에서 확인되는 시간이 아닙니다. 2014.05.14 4680
57 우분투 16.04 LTS에 apache2와 tomcat7 연동하여 설치하기 2014.05.09 4407
56 ping 안될때.. networking restart 날려주면 잘됨.. 2014.05.09 5313
55 insert hbase by hive ... error occured after 5 hours..HMaster가 뜨지 않는 장애에 대한 복구 방법 2014.04.29 10159
54 빅데이터 분석을 위한 샘플 빅데이터 파일 다운로드 사이트 2014.04.28 5568
위로