웹사이트 서버시간 확인하는 프로그램 입니다 (아이씨 써버)






웹사이트 서버 시간 확인하는 프로그램 입니다

수강신청 할때나 공연예매 오픈등 남들보다 좀더 정확한 서버 시간 확인이 필요할때 사용합니다








다운 받으면 위와 같은 아이콘이 있습니다

더블 클릭해서 실행 하면 됩니다




 


 



 

아래 프로그램을 다운 받으시면 됩니다




ISeeServer.exe









확인된 문제 


- 특정 회사 인터넷 망에서는 사이트 접근 제한으로 시간 확인이 정확하게 되고 있지 않습니다

(근본적으로 사이트에 접근이 되지 않는 문제여서 해결 방법이 마땅지치 않지만 확인 중에 있습니다)



신고





Posted by 파란물











보령 -> 군산 자전거 여행 



일정

동서울 버스터미널 (6시 40분 버스 출발) 

-> (9시 10분 도착) 보령 (9시 10분 출발) 

-> (17시 도착) 군산 ( 다음날 아침 8시 출발) 

-> (10시 10분 도착) 남부터미널 



1박 2일 일정으로 다녀 왔지만 

당일치기로도 다녀올 수 있는 일정입니다


월요일 아침에 서울에서 출발 출발해서 화요일 오전에 서울에 도착하는 일정으로 계획 했습니다





동서울 버스 터미널에서 보령가는 표입니다




전국 시외버스 통합 예약 사이트 https://www.busterminal.or.kr/

동서울 -> 보령


원래는 2박 3일 일정으로 첫날 저녁에 버스를 타고 보령에 도착해서 바로 자고 일찍 일어나 하루를 자전거 여행하는 일정이었으나 일이 생겨서 1박 2일 일정으로 다녀오게 되었습니다

전철도 첫차를 타고 버스도 첫차를 탔는데요

평일 2호선 첫차에 사람들이 그렇게 많이 타는지 처음 알았습니다

평일은 자전거를 가지고 지하철을 탈수 없지만... 눈치보며 주위 분들 양해를 구해 전철을 타고 동서울 까지 갔습니다


버스 소요 시간이 3시간으로 표시 되어있는데 실제 걸린 시간은 2시간 20분 정도의 시간이 걸렸습니다






보령에도착 하자마자 썬크림 바르고 바로 달렸습니다

오랜만에 달려서인지 지도도 잘못보고 방향도 잘못봐서 한참 해매다 길을 바로잡았습니다


11시쯤 점심을 먹기위해 무창포 해수욕장으로 들어갔고 만석호 횟집에서 칼국수 1인분 시켜 맛있게 먹었습니다

아주머니도 친절하시고 양도 푸짐하게 주셔서 배불리 먹고 조금 쉬다 다시 출발했습니다



1인분 가격 6000원








무창포 해수욕장 파노라마 사진 - 클릭하면 큰사진 볼수 있어요 (iphone5)


월요일인 데다가 개장이 마감되어서 인지 사람 없이 한적한 해변이었습니다














되도록이면 한적한 도로를 달리고 싶어 작은 국도로만 골라 다녔습니다

80km 대부분 꼬불꼬불한 도로여서 거리는 더 멀어지지만 안전하고 조용한 라이딩을 할 수 있었습니다







가다보니 이런 연꽃 공원도 조성되어 있어서 오두막 그늘에 잠시 쉬었다 갑니다


연꽃 공원 위치


-


파노라마 사진 (클릭하면 크게 보입니다. iphone5)








사진 찍은 위치 : 금강하구둑


그리고 전락북도 군산시까지 왔습니다

여기 까지 오는 동안 20km마다 10분씩 쉬었습니다 시간으로는 1시간 30분 정도씩 달리고 쉬었는데요

처음에는 이번 여행을 어디서 마무리 지을지 안정했지만 달리다보니 군산보다 더 내려가면 잘만한 동네가 없을거 같아 3시쯤 군산으로 정했습니다

또 군산으로 정한 이유는... 오랜만에 타서 그런지 체력도 떨어지고 속도도 안나서 군산보다 더 내려가면 다리가 풀려버릴거 같은 예감이 들었습니다










군산시에 도착해서 찍어 봤습니다

군산시는 자전거 도로도 잘 되었고 시내에 자전거를 타는 사람도 많이 눈에 띄었습니다









바로 터미널을 목적지로 내일 버스를 알아보기 위해 군산 시외버스 터미널로 갔습니다 

바로 옆에 군산고속버스 터미널도 있었는데 그쪽 서울방향 시간표는 확인하지 못했습니다


  

남부터미널 방향 8시 표를 구입했습니다 (우등 12,300원)






가까운 모텔에 방을 잡고 

저녁먹으로 갔습니다

어플로 맛집을 찾아보니 진성원이 있더군요

잡채덮밥 시켜 배불리 먹었습니다

짜장보다 짬뽕국물이 맛있었습니다 지금도 군침도네요 ^^


밥을 다 먹고

근육통이 심해 이마트 약국을 들려 먹는 근육통약도 사서 먹었습니다



진성원 중국집 위치

7천원







일정 전체 약도



-


runkeeper 오작동으로 마지막 10km이전 지점에서 종료되어 위 km표시는 10km적은 70으로 표시되고 있습니다






작년에 서해 태안에서 보령까지 여행을 하고 ( 관련 포스팅 : 태안(남쪽) 자전거 여행 일정, 계획, 꽃지 해수욕장)

이어서 보령에서 군산까지 여행을 했습니다


전국을 내발로 달려보자의 목표를 조금씩 이루어가면서 뿌듯함이 큽니다

올해 이어서 갈수 있을지.. 아니면 내년에 이어서 갈지는 모르지만 

내 두발로 가고 있는 길과 도로는 추억 깊숙히 남아 다음 여행을 재촉합니다








신고





Posted by 파란물
보물창고/Big Data2013.04.11 23:00











hadoop oozie 3.2.0 document 필요한 부분 번역 (Basic Setup, Oozie Quick Start, Oozie Examples 하둡)

Oozie 스터디할때 번역한 내용입니다

정확한 번역이 아니니... 원문 참고하면서 보세요


oozie 트러블 슈팅

http://paranwater.tistory.com/397





oozie 3,2,0 document

http://oozie.apache.org/docs/3.2.0-incubating/index.html



Oozie, Yahoo! Workflow Engine for Hadoop


oozie v3
높은 수준의 추상화를 제공하는 서버 기반 묶음 엔진입니다

일괄 코디네이터 응용 프로그램을  설정 합니다

사용자는 시작/중지/일시중지/재개/리턴 쉽게 operational contral 묶음 수준으로 설정 조정 작업을 실행 있습니다



oozie v2 시간과 데이터 트리거를 기반으로 워크 플로우를 실행하는 전문 서버 기반의 코디네이터 엔진 입니다.

시간 데이터 가용성에 따라 워크 플로를 실행할 있습니다 (예를 들어 시간마다 실행)

( 워크 플로우를 실행하기 전에 입력 데이터가 존재하는지 기다립니다)



oozie v1 hadoop map/reduce Pig작업을 실행하는 서버기반 전문 워크 플로우 엔진입니다











Distribution Contents (배포 내용)



Oozie배포는 하나의 'tar.gz'파일로 구성되어 있습니다



Readme, license, notice & Release log files.

Oozie server: oozie-server directory.

Scripts: bin/ directory, client and server scripts.

Binaries: lib/ directory, client JAR files.

Configuration: conf/ server configuration directory.

Archives:

 

  • oozie-client-*.tar.gz : Client tools.
  • oozie.war : Oozie WAR file.
  • docs.zip : Documentation.
  • oozie-examples-*.tar.gz : Examples.
  • oozie-sharelib-*.tar.gz : Share libraries (with Streaming, Pig JARs).










Oozie Workflow Overview

http://oozie.apache.org/docs/3.2.0-incubating/DG_Overview.html



oozie hadoop map/reduce Pig작업을 실행하는 서버기반 전문 워크 플로우 엔진입니다

Oozie 자바 서블릿 - 컨테이너에서 실행하는 Java 응용 프로그램입니다.

워크 플로우는 제어 종속성에 배치 작업(하둡 map/reduce, pig job) DAG(Direct Acyclic Graph) 집합 입니다

제어 종속성은 하나의 액션에서 번째 작업이 완료 때까지 두번째 작업은 실행할 없다는 것을 의미합니다

Oozie 워크 플로우 정의는 hPDL 작성되어 있습니다.

XML 프로세스 정의 언어는 JBOSS JBPM jPDL 유사합니다



Oozie 워크 플로우 작업은 원격 시스템에서 작업을 시작합니다. (hadoop, pig)

작업이 완료 되면, 원격 시스템은 oozie 콜백하고 워크 플로우의 oozie 다음 작업 지접으로 진행해서 작업 완료를 통보합니다



Oozie 워크 플로우는 제어 흐름 노드와 작업 노드를 포함합니다.



제어 흐름 노드는 시작 워크플로우의 끝을 정의하고(노드의 start, end fail) 워크 플로우의 실행 경로를 제어할 있는 메커니즘(노드의 decision, fork join) 제공합니다



액션 노드 워크 플로우는 computation/processing 작업의 실행을 트리거하는 매커니즘입니다

oozie 다양한 작업 유형을 지원합니다

hadoop map-reduce hadoop filesystem, Pig, SSH, HTTP, eMail oozie sub-workflow.

oozie 작업의 추가 유형을 지원하도록 확장할 있습니다



oozie 워크 플로우는 매개변수화 있습니다

(워크 플로우 정의 내에서 ${inputDir} 같이 변수를 사용)

매개 변수에 대한 워크 플로우 작업 값을 제출할때 제공해야합니다

제대로 매개변수화된 경우에는 여러 동일한 워크 플로우작업을 동시에 있습니다

(, 서로 다은 출력 디렉토리를 사용)










WordCount Workflow Example


Workflow Diagram:




hPDL Workflow Definition:

<workflow-app name='wordcount-wf' xmlns="uri:oozie:workflow:0.1">
   <start to='wordcount'/>
   <action name='wordcount'>
       <map-reduce>
           <job-tracker>${jobTracker}</job-tracker>
           <name-node>${nameNode}</name-node>
           <configuration>
               <property>
                   <name>mapred.mapper.class</name>
                   <value>org.myorg.WordCount.Map</value>
               </property>
               <property>
                   <name>mapred.reducer.class</name>
                   <value>org.myorg.WordCount.Reduce</value>
               </property>
               <property>
                   <name>mapred.input.dir</name>
                   <value>${inputDir}</value>
               </property>
               <property>
                   <name>mapred.output.dir</name>
                   <value>${outputDir}</value>
               </property>
           </configuration>
       </map-reduce>
       <ok to='end'/>
       <error to='end'/>
   </action>
   <kill name='kill'>
       <message>Something went wrong: ${wf:errorCode('wordcount')}</message>
   </kill/>
   <end name='end'/>
</workflow-app>










Oozie Installation and Configuration

http://oozie.apache.org/docs/3.2.0-incubating/AG_Install.html



Basic Setup (기본 설정)

Environment Setup (환경설정)

Oozie Server Setup (oozie server 설치)

Setting Up Oozie with an Alternate Tomcat (Tomcat 함께 oozie 설정)

Database Configuration (데이터 베이스 구성)

Oozie Configuration (oozie구성)

Oozie Configuration Properties (oozie 속성 구정)

Logging Configuration (로그인 구성)

Oozie User Authentication Configuration (oozie 사용자 인증 구성)

Oozie Hadoop Authentication Configuration (oozie hadoop 인증 구성)

User ProxyUser Configuration (사용자 ProxyUser 구성)

User Authorization Configuration (사용자 인증 구성)

Oozie System ID Configuration (oozie 시스템 ID구성)

Fine Tuning an Oozie Server (세부조정 oozie서버)

Starting and Stopping Oozie (oozie 시작및 중지)

Oozie Command Line Installation (oozie 명령줄 설치)

Oozie Share Lib (oozie 공유 Lib)

Advanced/Custom Environment Settings (고급 / 맞춤 환경 설정)





--




Basic Setup

Oozie 빠른 시작의 지침을 따르십시오.




--



Environment Setup (환경 설정)



중요 :  oozie OOZIE_HOME에대한 설정값을 무시하고 자동으로 home 확인합니다



임베디드 Tomcat서버와 oozie 실행시 conf/oozie-env.sh파일은 oozie 의해 사용되는 환경변수를 구성하는데 사용할 있습니다



CATALINA_OPTS : 자바 시스템 등록 정보를 실행하는 임베디드 Tomcat에대한 설정을 변수에 지정해야 합니다. 기본값이 없습니다.



OOZIE_CONFIG_FILE : Oozie구성 파일은 Oozie구성 디렉토리에서 로드됩니다 기본값 oozie-site.xml



OOZIE_LOGS :  oozie 디렉토리를 기록합니다. 기본값은 oozie 설치된디렉토리 안의 logs/디렉토리



OOZIE_LOG4J_FILE : Oozie LOG4J구성 파일은 Oozie구성 디렉토리에서 로드 됩니다. 기본값 oozie-log4j.properties.



OOZIE_LOG4J_RELOAD : 몇초 간격으로 LOG4J구성파일을 새로고침 합니다 기본값 10



OOZIE_HTTP_PORT : Oozie서버 포트에서 실행합니다. 기본값 11000.



OOZIE_ADMIN_PORT : 관리자 포트로 oozie서버가 실행됩니다. 기본값 11001.



OOZIE_HTTP_HOSTNAME :  호스트이름으로 oozie서버가 실행됩니다 기본값 호스트 출력은 -F입니다



OOZIE_BASE_URL : oozie 콜백 작업 URL에대한 기본 URL값은 http://${OOZIE_HTTP_HOSTNAME}:${OOZIE_HTTP_PORT}/oozie 입니다



OOZIE_CHECK_OWNER : 사실 oozie설정으로 setup/start/run/stop스크립트는 oozie설치 디렉토리의 소유자와 스크립트를 호출 사용자가 일치하는지 확인합니다

기본값은 정의되지 않거나 false 해석됩니다




--



Oozie Server Setup



[oozie-setup.sh] 스크립트는 내장 Tomcat 서로 oozie실행 준비를 합니다



oozie-setup.sh 스크립트 옵션이 있습니다 :

Usage  : oozie-setup.sh <OPTIONS>"

        [-extjs EXTJS_PATH] (expanded or ZIP, to enable the Oozie webconsole)"

        [-hadoop HADOOP_VERSION HADOOP_PATH] (Hadoop version [0.20.1|0.20.2|0.20.104|0.20.200]"  and Hadoop install dir)"

        [-jars JARS_PATH] (multiple JAR path separated by ':')"

        (without options does default setup, without the Oozie webconsole)"



만약 libext/ 디렉토리가 oozie설치 디렉토리에 있는 경우

oozie-setup.sh스크립트는 libext/ 디렉토리에 있는 oozie WAR파일의 모둔 JARs 포함하고 있습니다.



만약 ExtJS ZIP파일이 libext/디렉토리에 있는 경우 oozie WAR에도 추가됩니다

ExtJS파이브러리 파일 이름은 ext-2.2.zip입니다




Setting Up Oozie with an Alternate Tomcat (oozie설정과 Tomcat 대체)



oozie 배포시 함께 제공되는 내장된 Tomcat 아닌 다른 서블릿 컨테이너와 함께 실행될 경우에만 oozie 서버를 위해 addtowar.sh스크립트를 사용합니다



addtowar.sh 스크립트는 hadoop JARs, JDBC JARs ExtJS라이브러리를 Oozie WAR파일에 추가합니다



addtowar.sh 스크립트 옵션입니다:

Usage  : addtowar <OPTIONS>

Options: -inputwar INPUT_OOZIE_WAR

         -outputwar OUTPUT_OOZIE_WAR

         [-hadoop HADOOP_VERSION HADOOP_PATH]

         [-extjs EXTJS_PATH]

         [-jars JARS_PATH] (multiple JAR path separated by ':')



원본 oozie.war 파일은 Oozie 서버 설치 디렉토리에 있습니다.



Hadoop 단지와 ExtJS 라이브러리는 Oozie oozie.war파일에 추가 실행 준비가되어 있습니다.



서블릿 컨테이너에서 oozie.war 이전 배포를 삭제합니다

(만약 톰캣을 사용하는 경우 delete = oozie.war = 톰캣의 webapps/ 디렉토리의 oozie 디렉토리)



서블릿 컨테이너의 준비된 oozie.war파일을 배포할 있습니다

Hadoop JARs ExtJS라이브라리를 포함하고 있음

Tomcat 사용하는 경우 Tomcat webapps디렉토리에 준비된 oozie.war파일을 복사합니다



중요 : Tomcat인스턴스당 하나의 oozie인스턴스를 배포할 있습니다.




--




Database Configuration



Oozie HSQL, Derby, MySQL, 오라클이나 PostgreSQL 데이터베이스와 함께 작동합니다.



기본적으로 Oozie 임베디드 Derby 사용하도록 구성되어 있습니다.



oozie번들은 HSQL 위한 JDBC 드라이버와 임베디드 Derby PostgreSQL.



HSQL 일반적으로 인메모리 데이터베이스와 모든 데이터는 매번 Oozie중지 손실로 부터 테스트 케이스에 사용됩니다



만약 Derby, MySQL, Oracle 이나 PostgreSQL 사용하는 경우 oozie데이터 베이스 스키마는 ooziedb.sh명령 도구를 사용하여 생성 있어야 합니다.



MySQL이나 Oracle 사용하는 경우 해당 JDBC드라이버 JAR파일 mut oozie libext/ 디렉토리에 복사 있으며, 경우 해당 정보는 bin/addtowar.sh또는 oozie-setup.sh스크립트 -jars옵션을 사용하여 oozie WAR파일에 추가해야 합니다



oozie에서 사용하는 SQL데이터베이스는 다음과 같은 구성 등록정보를 사용하여 구성됩니다

oozie.db.schema.name=oozie

oozie.service.JPAService.create.db.schema=false

oozie.service.JPAService.validate.db.connection=false

oozie.service.JPAService.jdbc.driver=org.apache.derby.jdbc.EmbeddedDriver

oozie.service.JPAService.jdbc.url=jdbc:derby:${oozie.data.dir}/${oozie.db.schema.name}-db;create=true

oozie.service.JPAService.jdbc.username=sa

oozie.service.JPAService.jdbc.password=

oozie.service.JPAService.pool.max.active.conn=10



참고 : oozie.db.schema.create속성이 true 설정되어 있는 경우 (기본값 false) oozie테이블 ooziedb명령줄 도구를 사용하지 않고도 자동으로 생성됩니다

속성을 true 설정하고 개발하는 것이 좋습니다.



참고 : oozie.db.schema.create 속성이 true 설정되어 있는경우 oozie.service.JPAService.validate.db.connection속성 값이 무시되고 oozie 그대로 false 설정 처리됩니다.



데이터 베이스 설정은 oozie-site.xml 설정으로하고 command line ooziedb.sh 실행해서 데이터 베이스를 생성합니다

$ bin/ooziedb.sh create -sqlfile oozie.sql -runValidate DB Connection.

DONE

Check DB schema does not exist

DONE

Check OOZIE_SYS table does not exist

DONE

Create SQL schema

DONE

DONE

Create OOZIE_SYS table

DONE

Oozie DB has been created for Oozie version '3.2.0'

The SQL commands have been written to: oozie.sql

$



참고 : MySQL 또는 Oracle 사용하는 경우 ooziedb.sh command line도구를 실행하기 전에 libext/디렉토리에 해당 JDBC드라이버 JAR파일을 복사합니다



참고 : -run 옵션 대신에 -sqlfile 사용하는 경우 모든 데이터베이스 변경 사항은 지정된 파일에 기록되고 데이터베이스가 수정되지 않습니다



만약 HDQL 사용하는 경우 HSQL 인메모리 데이터 베이스이기 때문에 ooziedb command line툴을 사용할 필요가 없습니다

oozie-site.xml에서 다음 구성 속성을 사용합니다.

oozie.db.schema.name=oozie

oozie.service.JPAService.create.db.schema=true

oozie.service.JPAService.validate.db.connection=false

oozie.service.JPAService.jdbc.driver=org.hsqldb.jdbcDriver

oozie.service.JPAService.jdbc.url=jdbc:hsqldb:mem:${oozie.db.schema.name}

oozie.service.JPAService.jdbc.username=sa

oozie.service.JPAService.jdbc.password=

oozie.service.JPAService.pool.max.active.conn=10








Oozie Configuration (oozie 구성)



기본적으로 oozie구성은 oozie’s conf/ 디렉토리에서 읽습니다

 

Oozie 설정은 3종류 파일로 구성되어 있습니다

oozie-site.xml : Oozie 서버 구성

oozie-log4j.properties : Oozie logging 구성

adminusers.txt : Oozie 관리자 사용자 목록




Oozie Configuration Properties (Oozie 구성 속성)



모든 Oozie 구성 속성과 기본 값은 oozie-default.xml 파일에 정의되어 있습니다.



Oozie 다음과 같은 순서로 구성 속성 값을 해결합니다.

자바 시스템 속성이 정의되어있는 경우, 그것은 값을 사용합니다.

Oozie 구성 파일 (= oozie-site.xml =) 속성이 포함되어있는 경우 다른, 값을 사용합니다.

아니면, oozie-default.xml 파일에 설명 기본 값을 사용합니다.



참고 : oozie conf/ 디렉토리에 있는 oozie-default.xml파일은 oozie에의한 참조 목적으로만 있습니다




Logging Configuration (로그인 구성)



기본적으로 Oozie 로그 구성은 oozie-log4j.properties 설정 파일에 정의되어 있습니다.

만약 Oozie 로그 설정 파일이 변경되면, Oozie 새로운 설정을 자동으로 다운로드 합니다.



기본적으로 oozie log oozie’s logs/ directory 기록합니다



Oozie 4 다른 파일에 기록합니다.

oozie.log : 서비스는 로그에 스트리밍 works 기록합니다

oozie-ops.log : 관리/운영에대한 모니터링 메시지

oozie-instrumentation.log : intrumentation데이터를 60초마다 구성

oozie-audit.log :  감시 메시지, 워크 플로작업이 변경될때



임베디드 Tomcat 임베디드 Derby로그 파일도 Oozie’s logs/디렉토리에 기록됩니다.




Oozie User Authentication Configuration (oozie 사용자 인증 구성)



oozie kerberos HTTP SPNEGO인증, pseudo/simple 인증과 클라이언트 연결에 대한 익명 액세스를 지원합니다



익명 액세스는 (*기본*) 사용자가 인증을 요구하지 않으며, 사용자 ID job제출 연산에 대한 job속성에서 얻은것입니다 다른 작업은 익명입니다.



Pseudo/simple 인증 사용자 요청에 사용자이름을 지정해야합니다, 이것을 묻는 요청은 쿼리문자열에 user.name매개 변수를 더하여 PseudoAuthenticator 클래스에 의해 이루어집니다

user.name매개 변수 값은 클라이언트 java 프로세스 시스템 속성 user.name에서 가져옵니다.



Kerberos HTTP SPNEGO 인증은 사용자가 Kerberos HTTP SPNEGO 인증 순서를 수행해야합니다.



만약 Pseudo/simple 또는 Kerberos HTTP SPNEGO 인증 메커니즘을 사용하는 경우, Oozie  나중에 증명 요청에 사용할수 있는 identy 인증 토큰을 HTTP쿠키를 통해 사용자에게 반환 합니다



Oozie인증을 위해 아파치 Hadoop-Auth (Java HTTP SPENGO) 라이브러리를 사용합니다. 라이브러리는 다른 인증 메커니즘을 지원하도록 확장할 있습니다



Oozie 사용자 인증은 다음과 같은 구성등록 정보를 사용하여 구성됩니다. (기본값 표시)

oozie.authentication.type=simple

oozie.authentication.token.validity=36000

oozie.authentication.signature.secret=

oozie.authentication.cookie.domain=

oozie.authentication.simple.anonymous.allowed=true

oozie.authentication.kerberos.principal=HTTP/localhost@${local.realm}

oozie.authentication.kerberos.keytab=${oozie.service.HadoopAccessorService.keytab.file}



유형은 Oozie HTTP 끝점에 사용되는 인증을 정의해 지원되는 값입니다

simple | kerberos | #AUTHENTICATION_HANDLER_CLASSNAME#.



token.validity 갱신을 위한 인증토큰의 유효시간을 나타냅니다



signature.secret 인증 토큰을 서명을위한 서명 비밀번호입니다. 설정하지 않으면 랜덤 secret 시작 시간에 생성됩니다.



oozie.authentication.cookie.domain 인증 토큰을 저장하는 HTTP 쿠키에 사용할 도메인입니다. authentiation 위해 모든 Hadoop 노드 콘솔 도메인이 올바르게 설정해야 제대로 작동합니다.



simple.anonymous.allowed 익명 요청을 허용하는 경우 true 설합니다. simple 인증을 하는 경우에만 설정을 사용할 있습니다



kerberos.principal HTTP 끝에 사용되는 Kerberos주체를 나타냅니다. Kerberos HTTP SPNEGO 설정에 따라 HTTP/ 시작 해야 합니다



kerberos.keytab 주요 자격 증명으로 keytab파일의 위치를 나타냅니다. Oozie Hadoop 위한 Kerberos작격 증명에 사용하는것과 같은 keytab파일이 있어야 합니다





Oozie Hadoop Authentication Configuration (Oozie Hadoop 인증 구성)



Oozie Kerberos 인증을 지원하는 Hadoop 버전에서 작동합니다.




Oozie Hadoop 인증은 다음과 같은 구성 등록 정보를 사용하여 구성됩니다. (기본값 표시)

oozie.service.HadoopAccessorService.kerberos.enabled=false

local.realm=LOCALHOST

oozie.service.HadoopAccessorService.keytab.file=${user.home}/oozie.keytab

oozie.service.HadoopAccessorService.kerberos.principal=${user.name}/localhost@{local.realm}



위의 기본 값은 Hadoop 0.20 보안 배포판 입니다.(Kerberos 인증을 지원)



Kerberos 인증을 사용하도록 설정하려면 다음 속성을 설정해야합니다.

oozie.service.HadoopAccessorService.kerberos.enabled=true



Kerberos 인증을 사용하는 경우, 다음과 같은 속성을 올바른 값으로 설정해야합니다. (기본 표시)

local.realm=LOCALHOST

oozie.service.HadoopAccessorService.keytab.file=${user.home}/oozie.keytab

oozie.service.HadoopAccessorService.kerberos.principal=${user.name}/localhost@{local.realm}



중요 : Hadoop 20보안 배포버전과 Oozie 사용하는 경우 Hadoop에서 Oozie사용자를 프록시 사용자로 구성해야 합니다




User ProxyUser Configuration (사용자 proxyUser 구성)



Oozie 위장 proxyuser기능을 지원합니다 (Hadoop proxyuser기능과 동일하고 Unix sudo 개겸과 유사합니다)



Proxyuser 다른 시스템에서도 사용 가능하고 Oozie 클라이언트는 다른 사용자를 대신하여 작업을 제출 합니다



Proxyuser 강력한 기능이기 때문에 Oozie 다음과 같은 기능 제한을 제공합니다 (Hadoop 비슷)



Proxyuser proxyuser 사용자 기준으로 명시 적으로 구성합니다



proxyuser 사용자는 호스트 집합에서 다른 사용자로 위장해 한정 있습니다

.

proxyuser 사용자는 그룹의 집합에 속하는 사용자로 위장해 한정 있습니다



proxyuser 설정하는 필요한 구성 속성이 있습니다.



oozie.service.ProxyUserService.proxyuser.#USER#.hosts   - 사용자의 호스트 #USER# 다른 사용자로 위장할 있습니다



oozie.service.ProxyUserService.proxyuser.#USER#.groups   - 그룹 사용자는 #USER# 위장되고 사용자에 속해 있어야 합니다



속성 값은 “*” 와일드 카드를 지원합니다만 이것은 testing/development 할때 사용 하는것이 좋습니다




User Authorization Configuration (사용자 인증 구성)



Oozie 기본 인증 모델이 있습니다.



사용자는 모든 작업에 대한 읽기 접근 권한이 있습니다

사용자는 자신의 작업에 쓰기 권한이 있습니다

사용자는  액세스 제어 목록을 기반으로 작업에 쓰기권한이 있습니다. (사용자 그룹의 목록 입니다)

사용자는 관리자 작업에 대한 읽기 접근 권한입니다

관리자는 모든 작업에 쓰기 권한이 있습니다

관리자는 관리자 작업에 대한 쓰기 접근 권한이 있습니다



보안 기능이 해제되어있는 경우 모든 사용자는 관리자 권한 입니다



Oozie 보안은 다음과 같은 구성 속성을 통해 설정됩니다. (기본값 표시)

oozie.service.AuthorizationService.security.enabled=false



보안이 활성화 되어 있는 경우 관리자 목록을 conf/adminusers.txt파일에서 읽을수 있습니다

한줄에 하나의 사용자 이름을 적습니다

#으로 시작하거나 비어 있는 행은 무시됩니다



참고 : 다음과 같은 속성이 oozie-site.xml 설정되어있는경우 그룹이 제공된 기존 ACL모델은 여전히 지원됩니다

oozie.service.AuthorizationService.default.group.as.acl=true



Oozie System ID Configuration (Oozie 시스템 아이디 구성)



Oozie 임시 런타임 디렉토리를 생성하는데 사용되는 시스템 ID 있습니다. 워크플로우 job ID 워크플로우 action ID입니다



그들은 서로 다른 시스템 ID 있을경우 동일한 ID 실행해도 Oozie시스템 충돌은 없지만 문제 해결을 원하는 경우 리소스 create/used 다른 oozie시스템에서 쉽게 식별할수있습니다(기본값 표시)



oozie.system.id=oozie-${user.name}




Fine Tuning an Oozie Server (Oozie서버 세부 조정)



자세한 내용은 아래 링크 참조

http://oozie.apache.org/docs/3.2.0-incubating/oozie-default.xml





Starting and Stopping Oozie (시작 Oozie중지)



Oozie 시작하고 중지하려면 표준 Tomcat 명령을 사용합니다


 

Oozie Command Line Installation (Oozie Command Line Installation 설치)



배포 번들 oozie 클라이언트 TAR.GZ 파일을 복사하여 확장합니다. PATH bin/ 디렉토리를 추가합니다



oozie 명령 도구의 전체 내용 Command Line Interface Utilities 문서를 참조하십시오.




Oozie Share Lib (Oozie Lib 공유)



배포판에 함께있는 Oozie 공유 Lib TAR.GZ파일은 Oozie map-reduce 스트리밍과 pig작업을 실행하는데 필요한 파일이 포함되어 있습니다



번들 스트리밍과 Pig JARs Oozie Test case에서 사용하는 것들입니다





Advanced/Custom Environment Settings (고급/맞춤 환경 설정)



Oozie 다른 파일이기 때문에 유닉스 표준 파일 시스템 계층구조를 사용하도록 구성할 있습니다 (구성, 로그, 데이터파일 임시파일)



설정은 bin/oozie-env.sh 스크립트에서 수행되어야 합니다



oozie-env.sh스크립트로 구성하기전에 소스 추가 환경변수를 지원합니다(기본값표시)

export OOZIE_CONF=${OOZIE_HOME}/conf

export OOZIE_DATA={OOZIE_HOME}/data

export OOZIE_LOG={OOZIE_HOME}/logs

export CATALINA_BASE=${OOZIE_HOME}/oozie-server

export CATALINA_TMPDIR=${OOZIE_HOME}/oozie-server/temp

export CATALINA_OUT=${OOZIE_LOGS}/catalina.out

export CATALINA_PID=/tmp/oozie.pid



샘플 값은 Oozie 유닉스 표준 파일 시스템 계층 구조를 따를 있도록하고 있습니다.

export OOZIE_CONFIG=/etc/oozie

export OOZIE_DATA=/var/lib/oozie

export OOZIE_LOG=/var/log/oozie

export CATALINA_BASE=${OOZIE_DATA}/oozie-server

export CATALINA_TMPDIR=/tmp

export CATALINA_PID=/tmp/oozie.pid








Oozie Quick Start

http://oozie.apache.org/docs/3.2.0-incubating/DG_QuickStart.html



지침은 Tomcat 포함하는 서버 임베디드 더비 데이터베이스를 사용 oozie 설치하고 실행합니다



자세한 설치 구성하는 방법에 대한 자세한 내용은 oozie 참조하십시오



--



System Requirements (시스템 요구사항)



Unix (tested in Linux and Mac OS X)

Java 1.6+

Hadoop

Apache Hadoop (tested with 1.0.0 & 0.23.1)

ExtJS library (optional, to enable Oozie webconsole)

ExtJS 2.2

The Java 1.6+ bin directory should be in the command path.



--



Server Installation (서버 설치)



중요 : Oozie OOZIE_HOME 대한 설정 값을 무시하고 oozie 자동으로 home 계산합니다

Oozie 바이너리 배포판을 다운로드하거나 구축.

Hadoop 바이너리 배포판을 다운로드,

ExtJS 라이브러리를 (버전 2.2이어야합니다) 다운로드.



참고 : ExtJS 다른 라이센스를 사용하기 때문에 Oozie 함께 제공되지 않습니다



참고 : Oozie서버로 유닉스를 사용하는 것이 좋습니다



oozie tar.gz 배포를 풉니다



hadoop tar.gz 풉니다



참고 : Oozie프로세스 proxyuser 있는 Hadoop클러스터를 구성합니다



다음 속성을 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 다시 시작 합니다



Oozie hadooplibs tar.gz 풀린 같은 곳에 Oozie distribution tar.gz 풉니다

*hadooplibs/* 디렉토리는 Oozie배포를 지원하는 Hadoop 버전에 대한 Hadoop JAR 포함해 성성됩니다



ExtJS라이브러리는 선택 사항입니다(오직 작동할 있는 Oozie 콘솔에 필요합니다)



중요 : 모든 Oozie서버 스크립트는 Oozie설치 디렉토리를 소유하고 있는 유닉스 사용자에서 실행됩니다. 필요한 경우 sudo -u OOZIE_USER 스크립트를 호출 하면 됩니다  (=oozie-setup.sh=, oozie-start.sh , oozie-run.sh and oozie-stop.sh )



Oozie 확장된 디렉토리에서 libext/ 디렉토리를 만듭니다



Oozie hadooplibs/ 번들 Hadoop버전을 사용하는 경우 hadooplibs/에서 libext/디렉토리에 Hadoop jar 복사합니다

Hadoop 다른 버전을 사용하는 경우 libext/디렉토리의 같은 버전에서 필요한 hadoop jar 복사합니다.



ExtJS라이브러리 사반을 libext/ 디렉토리 zip파일을 사용합니다



libext/ 디렉토리에 추가하는 모든 구성 요소와 Oozie 구성하는 oozie-setup.sh스크립트를 실행해야 합니다.



$ bin/oozie-setup.sh



ooziedb.sh command line도구를 사용하여 oozie DB 만듭니다.

$ bin/ooziedb.sh create -sqlfile oozie.sql -runValidate DB Connection

DONE

Check DB schema does not exist

DONE

Check OOZIE_SYS table does not exist

DONE

Create SQL schema

DONE

DONE

Create OOZIE_SYS table

DONE

Oozie DB has been created for Oozie version '3.2.0'

$



데몬 프로세스 실행으로 Oozie 시작합니다.

$ bin/oozie-start.sh



그라운드 프로세스 실행으로 Oozie 시작합니다.

$ bin/oozie-run.sh



oozie 제대로 실행되었는지 확인하기위해 로그파일 logs/oozie.log 확인



oozie command line도구로 oozie 상태를 확인합니다

$ bin/oozie admin -oozie http://localhost:11000/oozie -status



브라우저를 사용하여 Oozie 콘솔로 이동 Oozie 상태는 정상이어야합니다. (http://localhost:11000/oozie)



예제를 실행에 대한 자세한 내용은 예제를 실행 문서를 참조하십시오.




--



Client Installation (클라이언트 설치)



배포 번들로 oozie 클라이언트 TAR.GZ 파일을 복사하여 확장합니다.

bin/ 디렉토리를 PATH 추가합니다



oozie command line 도구의 유틸리티 문서를 참조하십시오

(http://oozie.apache.org/docs/3.2.0-incubating/DG_QuickStart.html)



참고 : oozie 서버 설치시 oozie 클라이언트도 포함하고 있습니다 클라이언트는 원격 컴퓨터에 설치해야 합니다



--



Oozie Share Lib Installation ( oozie 공유 Lib설치)



배포 번들로 oozie-sharelib TAR.GZ 파일을 확장합니다.



share/ 디렉토리는 HDFS Oozie 디렉토리에 복사해야합니다



$ hadoop fs -put share share



중요 : 작업은 Oozie Hadoop (HDFS) 이용해 수행해야 합니다 공유 디렉토리가 이미 HDFS 있는 경우 복사하기 전에 삭제해야 합니다









Oozie Examples ( oozie 예제)

http://oozie.apache.org/docs/3.2.0-incubating/DG_Examples.html



Command Line Examples (command line )

Setting Up the Examples (예제 설정)

Running the Examples (예제를 실행)

Java API Example (javaAPI 예제)

Local Oozie Example (local oozie 예제)



--




Command Line Examples (command line 예제)



Setting Up the Examples (예제 설정)



Oozie예제는 oozie-examples.tar.gz파일은 Oozie 함께 제공됩니다



파일을 확장하면 로컬파일 시스템 example/디렉토리를 생성합니다



example/ 디렉토리는 HDFS user 디렉토리에 복사해야 합니다



$ hadoop fs -put examples examples



참고 : HDFS 이미 samples디렉토리가 있으면 복사하기전에 삭제해야 합니다 안그러면 복사할 없습니다.



Running the Examples (예제 실행)



streaming pig 예제로 Oozie공유 라이브러리는 HDFS 설치해야 합니다.



환경변수 PATH Oozie bin 추가



초기 설정은 JobTracker localhost:9001이고 NameNode hdfs://localhost9000입니다

실제 이와 다른경우 examples디렉토리내 파일을 올바른 값으로 편집해야 합니다



예를 들어 응용프로그램은 examples/app 디렉토리안에 있습니다

응용프로그램 디렉토리안에 xml 파일이 포함되어 있습니다 job.properties파일 jab JAR파일을 필요로하는 예제가 있을 있습니다

(workflow 또는 coordinator)



모든 예제에 대한 입력은 examples/input-data/ 디렉토리에 있습니다

예제는 examples/output-data/${EXAMPLE)NAME} 디렉토리 아래에 출력을 만들 있습니다



참고 : job.properties파일이 로컬 제출시 파일이 아닌 HDFS경로 여야 합니다




How to run an example application ( 응용프로그램을 실행하는 방법)



$ oozie job -oozie http://localhost:8080/oozie -config examples/apps/map-reduce/job.properties -run

.

job: 14-20090525161321-oozie-tucu

Check the workflow job status:



$ oozie job -oozie http://localhost:8080/oozie -info 14-20090525161321-oozie-tucu



.

.----------------------------------------------------------------------------------------------------------------

Workflow Name :  map-reduce-wf

App Path      :  hdfs://localhost:9000/user/tucu/examples/apps/map-reduce

Status        :  SUCCEEDED

Run           :  0

User          :  tucu

Group         :  users

Created       :  2009-05-26 05:01 +0000

Started       :  2009-05-26 05:01 +0000

Ended         :  2009-05-26 05:01 +0000

Actions

.----------------------------------------------------------------------------------------------------------------

Action Name             Type        Status     Transition  External Id            External Status  Error Code    Start Time              End Time

.----------------------------------------------------------------------------------------------------------------

mr-node                 map-reduce  OK         end         job_200904281535_0254  SUCCEEDED        -             2009-05-26 05:01 +0000  2009-05-26 05:01 +0000

.----------------------------------------------------------------------------------------------------------------



브라우져에서 http://localhost:8080/oozie 이동해서 Oozie 콘솔을 통해 워크 플로우 작업상태를 확인합니다



모든 Oozie명령과 Oozie URL -oozie옵션을 제공하지 않도록 합니다 환경에서 Oozie URL OOZIE_URL 유럽 표준안 변수를 설정합니다

예를 들어

$ export OOZIE_URL="http://localhost:8080/oozie"

$

$ oozie job -info 14-20090525161321-oozie-tucu




--




Java API Example



Oozie provides a =Java Client API that simplifies integrating Oozie with Java applications. This Java Client API is a convenience API to interact with Oozie Web-Services API.



The following code snippet shows how to submit an Oozie job using the Java Client API.



import org.apache.oozie.client.OozieClient;

import org.apache.oozie.client.WorkflowJob;

.

import java.util.Properties;

.

   ...

.

   // get a OozieClient for local Oozie

   OozieClient wc = new OozieClient("http://bar:8080/oozie");

.

   // create a workflow job configuration and set the workflow application path

   Properties conf = wc.createConfiguration();

   conf.setProperty(OozieClient.APP_PATH, "hdfs://foo:9000/usr/tucu/my-wf-app");

.

   // setting workflow parameters

   conf.setProperty("jobTracker", "foo:9001");

   conf.setProperty("inputDir", "/usr/tucu/inputdir");

   conf.setProperty("outputDir", "/usr/tucu/outputdir");

   ...

.

   // submit and start the workflow job

   String jobId = wc.run(conf);

   System.out.println("Workflow job submitted");

.

   // wait until the workflow job finishes printing the status every 10 seconds

   while (wc.getJobInfo(jobId).getStatus() == Workflow.Status.RUNNING) {

       System.out.println("Workflow job running ...");

       Thread.sleep(10 * 1000);

   }

.

   // print the final status o the workflow job

   System.out.println("Workflow job completed ...");

   System.out.println(wf.getJobInfo(jobId));

   ...

Local Oozie Example



Oozie provides a embedded Oozie implementation, LocalOozie , which is useful for development, debugging and testing of workflow applications within the convenience of an IDE.



The code snipped below shows the usage of the LocalOozie class. All the interaction with Oozie is done using Oozie OozieClient Java API, as shown in the previous section.



The examples bundled with Oozie include the complete and running class, LocalOozieExample from where this snipped was taken.



import org.apache.oozie.local.LocalOozie;

import org.apache.oozie.client.OozieClient;

import org.apache.oozie.client.WorkflowJob;

.

import java.util.Properties;

.

   ...

   // start local Oozie

   LocalOozie.start();

.

   // get a OozieClient for local Oozie

   OozieClient wc = LocalOozie.getClient();

.

   // create a workflow job configuration and set the workflow application path

   Properties conf = wc.createConfiguration();

   conf.setProperty(OozieClient.APP_PATH, "hdfs://foo:9000/usr/tucu/my-wf-app");

.

   // setting workflow parameters

   conf.setProperty("jobTracker", "foo:9001");

   conf.setProperty("inputDir", "/usr/tucu/inputdir");

   conf.setProperty("outputDir", "/usr/tucu/outputdir");

   ...

.

   // submit and start the workflow job

   String jobId = wc.run(conf);

   System.out.println("Workflow job submitted");

.

   // wait until the workflow job finishes printing the status every 10 seconds

   while (wc.getJobInfo(jobId).getStatus() == Workflow.Status.RUNNING) {

       System.out.println("Workflow job running ...");

       Thread.sleep(10 * 1000);

   }

.

   // print the final status o the workflow job

   System.out.println("Workflow job completed ...");

   System.out.println(wf.getJobInfo(jobId));

.

   // stop local Oozie

   LocalOozie.stop();

   ...


신고





Posted by 파란물
보물창고/Big Data2013.04.09 23:00









윈도우 하둡 HDInsight 0.4.0 클러스터 구성 - window hadoop HDInsight cluster setting






HDInsight 포럼에 있는 글을 참고 하여 클러스터를 구성했습니다

http://social.msdn.microsoft.com/Forums/en-US/hdinsight/thread/885efc22-fb67-4df8-8648-4ff38098dac6




HDInsight Preview server download

http://www.microsoft.com/web/gallery/install.aspx?appid=HDINSIGHT-PREVIEW







구성 환경
 - VirtualBox, Window Server 2012, 메모리 3G, 호스트 전용 네트워크

 - master 1개, slave 3개







HDInsight 0.4.0버전(130315) 이용하여 cluster 구성하였습니다

9번에서 0.3.0 버전과는 차이가 있으니 참고하고 봐주세요

리눅스 멀티 노드 구성과 대부분 비슷합니다








1. 마스터와 노드가 적절한 IP 가지고 있는지 확인 하세요






2. 모든 노드에 있는 방화벽과 포트 차단 소프트웨어를 끄세요

- 노드끼리 서로 엑세스 권한이 있는지 확인합니다






3. 마스터와 모든 노드에 있는 %WinDir%\system32\drivers\etc\hosts 파일을 편집합니다

다음과 같은 내용을 추가 합니다

<ip-to-master> master
<ip-to-node1> node1
......
<ip-to-nodeN> nodeN






4. 모든 노드의 C:\Hadoop\hadoop-1.1.0-SNAPSHOT\conf\master 파일을 수정합니다

- master 하나만 적혀 있는지 확인하세요

- 호스트 파일에 입력한 내용과 일치해야 합니다






5. 모든 노드의 C:\Hadoop\hadoop-1.1.0-SNAPSHOT\conf\slave파일을 편집:

- 모든 slave 노드 이름을 추가합니다

- 호스트 파일에 입력한 내용과 일치 해야합니다

node1
...
nodeN






6. 마스터와 모든 노드에서 C:\Hadoop\hadoop-1.1.0-SNAPSHOT\conf\core-site.xml 수정합니다

- fs.default.name 속성을 찾아 hdfs://master:8020으로 변경합니다






7. 마스터와 모든 노드에서 C:\Hadoop\hadoop-1.1.0-SNAPSHOT\conf\mapred-site.xml파일을 수정합니다

- 로컬 호스트에 대한 모든 참조 값을 master 수정합니다






8. 마스터와 모든 노드에서 C:\Hadoop\hadoop-1.1.0-SNAPSHOT\conf\hdfs-site.xml파일을 수정합니다

- 로컬호스트 대신 master 모두 수정합니다

- dfs.replication 설정을 찾아 원하는 복제 개수를 적어줍니다 (일반적으로 3)






9. 마스터와 슬레이브 노드 에서 command창을 열고 실행 스크립트 start-onebox.cmd 실행시킵니다

- 파일은 C:\Hadoop 있습니다

- master slave 원하는 설정에 따라 프로세스를 정지시켜 구성합니다

- 경험상 노드를 먼저 실행 시키고 마스터를 실행시키면 master slave 한번에 인식합니다







10. 설정은 사용하던 하둡 시스템에서는 바로 동작하지 않을 있습니다

- 사용하던 시스템에서 구성하려면 dn폴더를 찾아 삭제 시도해 보세요

- 최초 HDInsight 설치한 시스템에서 테스트를 권장합니다






11. HDInsight 0.4.0 cluster 구성 sqoop, pig, hive, streaming 테스트 확인 했습니다







신고





Posted by 파란물
보물창고/Programming2012.11.17 00:10










VirtualBox + Ubunto VirtualBox Guest Addtion 설치 안될때(버추얼4.2.4 박스 우분투12.04)





 버추얼박스 4.2.4에서 우분투 12.04버전 설치 후 바로 VirtualBox Guest Addtion이 설치가 안돼 구글링으로 찾아 해결 후 정리 했습니다





 

  sudo atp-get upgrade

  sudo atp-get update


  sudo apt-get install virtualbox-ose-guest-dkms

  sudo apt-get install virtualbox-ose-guest-x11

  sudo apt-get install virtualbox-ose-guest-utils





이후에 VirtualBox Guest Addtion을 설치해 보세요




참고 사이트

http://whatwant.tistory.com/431

http://askubuntu.com/questions/22743/how-do-i-install-guest-additions-in-virtualbox/22745#22745






신고





Posted by 파란물