kraken logdb plan NCHOVY

kraken-logdb-arbiter
- 실시간으로 모든 노드에서 실행 중인 모든 쿼리의 상태 정보 소유 및 로드밸런싱
- 전체 node 대상 table 상태 관리
- reduce 노드를 먼저 선정해서 쿼리를 오픈. RPC로부터 수신 가능.
- map 노드에 쿼리 할당 및 실행. RPC를 통해 전송 시작
- 클라이언트는 reduce 노드로 직접 바인딩

kraken-logdb-client
- arbiter를 통해서 전체 노드 정보 획득 및 쿼리 실행 결과 획득
- rpc 기반 호출 (인증은 SSL X.509 인증서 및 RPC Peer GUID로 대신함)
- search node에 붙어서 검색하거나 index node에 붙어서 insert

kraken-logdb-api
- 쿼리 커맨드 확장 인터페이스
- 로그 리스너

kraken-logdb 
- query, session 서비스 레이어 포함 
 * RPC 세션 끊어졌을 때 명시적 백그라운드 아닌 모든 쿼리 취소되어야 함
 * timeline 콜백 등의 RPC 전달 지원
- logstorage 사용
- 내장 connector 지원 (syslog, trap, logfile 등)
- 테이블별 로그 포맷 및 정규식 메타데이터 설정

kraken-logindex
- 인덱스 검색 명령어 확장

kraken-logstorage
- 순수하게 raw data storage

kraken radius를 이용한 RADIUS 테스트 서버 구축 (PAP) NCHOVY

kraken@xeraph-pc target> bundle.list
[ ID] Symbolic Name                             Version   Status
------------------------------------------------------------------
[  0] org.apache.felix.framework                3.2.2     ACTIVE
[  1] org.apache.felix.ipojo                    1.4.0     ACTIVE
[  2] org.krakenapps.ipojo                      1.1.0     ACTIVE
[  3] org.krakenapps.radius                     0.6.0     ACTIVE

kraken@xeraph-pc target> radius.createInstance userdb local mem
created org.krakenapps.radius.server.userdatabase.LocalUserDatabase@62381d92

kraken@xeraph-pc target> radius.createInstance auth pap pap
created PAP: last auth [null], auth count [0]

kraken@xeraph-pc target> radius.instances auth
Instances
------------
[pap] PAP: last auth [null], auth count [0]

kraken@xeraph-pc target> radius.instances userdb
Instances
------------
[mem] org.krakenapps.radius.server.userdatabase.LocalUserDatabase@62381d92

kraken@xeraph-pc target> radius.addUser admin PASSWORD
user added

kraken@xeraph-pc target> radius.users
Local Users
-------------
admin

kraken@xeraph-pc target> radius.createProfile sample SHARED_SECRET
---------------------------
Select Authenticators
---------------------------
[1] pap
---------------------------
select index (0 for end): 1
pap added
select index (0 for end): 0
---------------------------
Select User Databases
---------------------------
[1] mem
---------------------------
select index (0 for end): 1
mem added
select index (0 for end): 0
created

kraken@xeraph-pc target> radius.createVirtualServer serv1 sample auth
opened 0.0.0.0/0.0.0.0:1812


로컬 사용자는 현재 메모리에만 저장되므로 (MemoryUserRegistry 구현 사용)
사용자 정보는 크라켄 코어 부팅 후 새로 넣어줘야 함 (..)

그나저나 음.. 설정 익스포트/임포트가 있으면 좋겠군..


크라켄 Mercurial 이전 계획 NCHOVY

1. convert extension을 이용한 저장소 변환

.hgrc 파일 설정해서 익스텐션 활성화
[extensions]
convert =

hg convert /repo/kraken 으로 kraken-hg 마이그레이션
이 때 기본적으로 trunk만 옮겨진다는 점에 유의, 예전 예제 코드 등은 따로 손대야 함..

로컬 저장소/.hg에 .hgignore 파일을 만들고 아래 내용 추가 후 저장
syntax: glob
target
.classpath
.project
.settings

로컬 저장소/.hg에 .hgrc 파일에 사용자 정보 추가

[ui]
username = xeraph

2. trac.ini 수정

[components]
tracext.hg.* = enabled

[trac]
repository_type = hg
repository_dir = /repo/kraken-hg

[hg]
show_rev = yes
node_format = short

3. HTTP 서비스

현재의 http://krakenapps.org/svn/ 을 유지하면서 
http://krakenapps.org/hg/ 를 추가로 open

4. 삽질

커미터들은 hg clone ssh://krakenapps.org//repo/kraken-hg/ 명령으로 저장소 복제
/가 더 붙어있음에 주의할 것, //가 아니면 사용자 계정 상대경로로 인식됨

이클립스 플러그인은 http://cbes.javaforge.com/update 저장소 경로 추가하고 Mercurial Eclipse 설치
이 때 이클립스 기본 파일 인코딩을 utf-8로 바꿔야만 hg 플러그인이 예외를 내지 않음


hg를 기본으로 하고 svn 저장소에는 노가다로 커밋하면서 양쪽 다 최신 상태 유지
현재 변환기준 rev.2792

5. 퀵 레퍼런스 (hginit 참조)

hg clone - 저장소 복제
hg commit - 로컬 저장소 커밋
hg outgoing - 저장소에 push 대기 중인 변경사항 목록
hg push - 로컬 변경사항을 원격 저장소에 반영

서로 같은 코드를 변경한 경우 push가 fail 날 수 있음. 이 때

hg incoming - 원격 저장소에서 받아올 최신 변경 내역을 출력
hg pull - 원격 저장소에서 변경내역 받아옴

이 때 head가 늘어날 수 있음.. hg merge로 병합하고 다시 hg commit, hg push

merge 후 커밋한 상태에서 충돌을 일으켰던 상대방이 pull을 하게 된다고 하더라도 즉시 반영되는 것은 아님. 즉 hg parent를 쳐보면 현재 작업 중인 리비전을 알 수 있음.. 즉 아무 때나 pull을 해도 안전하다는 것!

tip (가장 최신 changeset)으로 변경하려면 hg up을 쳐야 함.

요약하면 작업 사이클은 아래와 같음.
  • 출근하면 hg pull, hg up 칠 것
  • 작업 후에는 hg commit (로컬 반영)
  • 중앙 저장소에 반영해도 좋다고 생각 될 때 hg pull, hg merge, 테스트 후 hg commit (merge한 경우), hg push


제12학기 확정 시간표 잡담


끝내자 이제... -_-

1 2 3 4 5 6 7 8 9 10 다음