한동안 블로깅이 좀 뜸~ 했었다

작년부터 윈도우 x86에 오라클 깔아서 실험 돌리고 로그 뽑고 했더니 컴퓨터가 아주 그냥 병맛이 됐다.

귀찮아서 대충 써 오고 있었는데 이번에 큰 맘 먹고 포맷을 하고 윈도우를 다시 깔았다.

그런데?! 아니 닝기미?! 별로 안 빨라졌다.

순간 윈도우에 회의가 들기 시작하고 새로 나온 우분투 11.10에 유니티에 관심이 가면서 자연스럽게 넘어오게 되었다.

현재 한 2주째 쓰고 있는데 처음에 한 삼~사일 삽 엄청 푼거 말고는 쓸만하다 아직은....


#1. 기본적으로 gwibber를 지우고 pidgin을 깔았지만 무슨 문제인지 네이트온이 접속이 되질 않아서 그냥 네이트온 리눅스 버전을 깔아서 사용중이다.

뭐 전 버전에 비해서 유니티가 불편하니 어쩌니 하는데 난 잘 모르겠다...지금까진 그냥 버추얼머신에서 돌렸을 뿐, 제대로 사용하는건 저 옛날 고딩 때 얘기니까...


#2. 처음에 한 삽질은 현재 듀얼 모니터를 사용중인데 그래픽 드라이버를 설치 한 후 오른쪽 화면이 나갔다고 아주 그냥 Xorg를 건들고 쌩 난리 부르스를 췄다......하지면 결론은 NVIDIA에서 제공하는 프로그램이 있었긔.............하루를 삽질했다 이걸로....진심 레알 24시간 하루........


#3. 근데 이놈의 11.10은 문제가 뭐 이래 많냐 -_-

유니티3D로 사용하면 ibus와 충돌하는 문제가 생겨서

글 이이따위 로써진다.

즉, 스페이스를 누르면 하나 앞의 글자 사이에 공백이 들어가는 문제가 발생한다.

이게 별거 아닌 것 같아도 아주 미추어버리게 만든다....

해결 방법은 한국어 입력기를 ibus에서 nabi로 바꾸는 우회적인 방법밖에는 아직 없는 모양이다...

그렇지만 nabi를 사용하면 리브레 오피스를 사용할 때 내용을 수정하려고 하면 엉뚱하게 고쳐지는 문제가 있다고 한다....음 아직 안써봐서 잘 모르겠다. 후에 수정하자.

뭐...좀 쓰다가 gnome으로 넘어갈 듯 하다....gnome 3.4가 릴리즈 됐다고 하니....


#4. 대충 처음 환경을 구성할 때 설치한 패키지를 적어 놓는다.

Java : sun-java6-bin sun-java6-fonts sun-java6-jdk sun-java6-jre sun-java6-plugin

(오라클과 라이센스 문제로 더 이상 기본적으로 제공되지 않는다. ppa를 통해 공급받음)

Chrome : google-chrome-stable

Pidgin : pidgin, pidgin-nateon

Flash : adobe-flashplugin

Thunderbird add-on Lightning : xul-ext-lightning xul-ext-gdata-provider

ETC : nixnote, picasa, umplayer, virtualbox, gnome-tweak-tool

Gwibber를 지우고 Tweetdeck을 깔았당

뭐, 더 있을랑가....이제 막 리눅스를 다시 쓰기 시작해서 정신이 하나도 없다

좋은 프로그램은 추천 받아욤 ~_~


 기본적으로 설치되어있는 OpenJava 말고 Sun Java가 필요할 때

# apt-get install python-software-properties
# add-apt-repository "deb http://archive.canonical.com/lucid partner"
# apt-get update
# apt-get install sun-java6-jdk sun-java6-fonts sun-java6-jre sun-java6-plubin
# update-alternatives --config java
-> 설치되어 있는 자바 버전 중 원하는걸 선택 



1. Install Korean language pack 

# apt-get install language-pack-ko

2. Configure
 
# locale-gen ko_KR.EUC-KR
# dpkg-reconfigure locales

3. Change LANG value

# vi /etc/default/locale

LANG=ko_KR.EUC-KR

4. Reboot
5. Check


# locale 

LANG=ko_KR.EUC-KR

LANGUAGE=ko_KR:ko:en_GB:en
LC_CTYPE="ko_KR.EUC-KR"
LC_NUMERIC="ko_KR.EUC-KR"
LC_TIME="ko_KR.EUC-KR"
LC_COLLATE="ko_KR.EUC-KR"
LC_MONETARY="ko_KR.EUC-KR"
LC_MESSAGES="ko_KR.EUC-KR"
LC_PAPER="ko_KR.EUC-KR"
LC_NAME="ko_KR.EUC-KR"
LC_ADDRESS="ko_KR.EUC-KR"
LC_TELEPHONE="ko_KR.EUC-KR"
LC_MEASUREMENT="ko_KR.EUC-KR"
LC_IDENTIFICATION="ko_KR.EUC-KR"
LC_ALL=


1. Install required software

1) Java
2) Ant
3) GNU tar
4) GNU sed
5) GNU make
6) zlib
7) Build-essential
8) Openssl 
9) libssl-dev
10) gpt-autotools

2. Environment variables setting & add user

* using 'which' command check where softwares installed.

1) JAVA_HOME
2) ANT_HOME
3) GLOBUS_LOCATION 

* useradd --ingroup globus --home /home/globus --shell /bin/bash globus
* mkdir /usr/local/globus                            (make globus install dir)
* chown globus:globus -R /usr/local/globus (and change  permission)

Windows7을 기반으로 Cygwin을 사용하여 설치합니다.

1. 다운로드
설치에 필요한 파일들을 다운로드 합니다.
  
1) Cygwin
2) Java
2) Hadoop
3) Eclipse
 
※ Caution : 설치에 사용한 버전은 Cygwin 1.7.9, jdk 1.6.0_25, Hadoop 0.20.2, Eclipse Europa 3.3.2 입니다.
               hadoop 0.20.203과 0.21.0 버전은 아직 많이 불안정한듯 합니다. 설치가 불가능했습니다. ㅠㅠ               

2. 설치
1) Cygwin 
1. Install from Internet
2. Cygwin이 설치될 장소
2. Download 받은 설치 파일이 저장될 장소
4. Direct Connection
5. Download 받을 사이트 선택
6. Download가 완료된 후, select package에서 Net 부분의 Openssh와 Openssl부분에 체크하여 추가 설치
7. 환경변수 Path에 Cygwin이 인스톨 된 폴더와 그 아래의 bin폴더 두군데를 추가
    (default값으로 설치했다면 path 뒤에 ";C:\cygwin\bin;C:\cygwin\usr\bin" 를 추가하면 된다.)
2) Java 
1. Installation
2. 환경변수에 새로운 환경변수를 추가한다.
    변수 이름 : JAVA_HOME
    변수 값 : [자바가 설치된 폴더 지정(default값으로 설치했다면 C:\Program Files\Java\jdk1.6.0_25)]
3. 환경변수 Path에 자바가 설치된 폴더 아래의 bin폴더를 추가
    (마찬가지로 설치시에 변경없이 설치했다면 C:\Program Files\Java\jdk1.6.0_25\bin을 추가하면 된다.)

3) Hadoop
1. Cygwin창을 열어서 "explorer ."
2. 다운받은 하둡 파일을 이 사용자 폴더에 넣는다. 
3.  Cygwin에서 작업한다.
Cardia@Cardia ~
$ tar -xvzf hadoop-0.21.0.tar.gz
$ cd conf
$ explorer .
4. 하둡 환경설정을 한다. 열린 폴더에서 *-site.xml 파일을 텍스트 에디터로 편집한다.
core-site.xml:
<configuration>
    <property> 
        <name>fs.default.name</name> 
        <value>hdfs://localhost:9000</value> 
    </property> 
</configuration>
hdfs-site.xml:
<configuration> 
    <property> 
        <name>dfs.replication</name> 
        <value>1</value> 
    </property> 
</configuration> 
mapred-site.xml:
<configuration> 
    <property> 
        <name>mapred.job.tracker</name> 
        <value>localhost:9001</value> 
    </property> 
</configuration> 
5. conf 폴더에서 나와서 bin폴더로 들어간다. hadoop 파일을 텍스트 에디터로 열어서 $JAVA_PLATFORM 을 찾은 다음 그 줄에 ${JAVA} 부분 앞뒤로 ""를 붙여준다 -> "${JAVA}"
   (버그가 신고되었지만 아직 고쳐지지 않았음)

6. Cygwin에서 작업한다.
Cardia@Cardia-PC ~
# SSH관련 setting
$ ssh-host-config
# 첫번째 권한 분리 질문에 no라고 대답
# 두번째 sshd를 서비스로 등록 하는 질문에 yes라고 대답
# 값을 물어오는 질문에 ntsec 입력
# 다음 질문에선 엔터를 치고 비밀번호를 물어오면 입력한다. 
# 제어판->관리도구->서비스에서 CYGWIN sshd 서비스를 시작한다.

# 이클립스 플러그인을 사용하기 위해 하둡 스크립트와 ssh 인증을 사용한다.
$ ssh-keygen
# 나오는 질문에 전부 엔터
$ cd ~/.ssh
$ cat id_rsa.pub >> authorized_keys
# ssh 연결 확인
$ ssh localhost
# 연결확인 질문이 나오면 yes입력 그 후 프롬프트가 뜨면 인증 성공
$ logout

7. Namenode format
Cardia@Cardia-PC ~
$ cd hadoop-0.20.2 (하둡 설치 디렉토리로 이동)
$ mkdir logs
$ bin/hadoop namenode -format

# format완료 후 cygwin을 다섯개 구동시킨 후 각각 하둡 디렉토리로 이동 후 동작시킨다

$ bin/hadoop namenode
$ bin/hadoop secondarynamenode
$ bin/hadoop datanode
# Starting Periodic block scanner. 메세지를 기다린 후
$ bin/hadoop jobtracker
$ bin/hadoop tasktracker

8. 에러 없이 구동되는 화면을 볼 수 있다.

4) Eclipse
1. 적당한 곳에 압축을 푼다.
2. hadoop이 설치된 폴더 안에 contrib 폴더로 가보면 eclipse-plugin 폴더가 있다.
    이 안에 있는 hadoop-0.20.2-eclipse-plugin.jar 파일을 이클립스의 압축을 푼 폴더 안 plugins 폴더에 넣어준다.

3. 이클립스를 실행시킨다.
4. 오른쪽 맨 위에 perspective 선택 메뉴에서 Others를 선택한 다음  Map/Reduce를 선택한다.


5. 아래의 Map/Reduce Locations 탭에서 New hadoop Location을 선택하고 입력
    (Map/Reduce Locations탭이 없으면 Windows->view->others에서 찾으면 된다.)

Location name : localhost
Map/Reduce Master
Host : location
port : 9001
DFS Master
Use M/R Master host 체크
port : 9000

왼쪽 Project Explorer에서 DFS Locations 하위 폴더로 tmp 파일이 보이면 연결 성공

6. new -> Other -> Map/Reduce Project 선택해서 새 프로젝트 만듬
    project wizard 창에서 Configure Hadoop install directory 선택 후
    Hadoop installation directory에 하둡이 설치된 디렉토리
    (Default : "c:\cygwin\home\[user name]\hadoop-0.20.2") 입력


3. http://localhost:50070http://localhost:50030을 통해서 cluster상태와 map/reduce상태를 체크할 수 있다.


JDK 1.6.0_25
Hadoop 0.20.2
Eclipse 3.3.2

Map/Reduce 를 이용한 WordCount 예제...
삽질끝에 드디어 성공 -_- !
private static void Process_time()
{     
      int intInterval = 1000; // 1 second
      string procName = "ProcessName";
      
      while (true)
      {
             Process[] runningNow = Process.GetProcesses();             
             foreach (Process process in runningNow)
             {
                   using (PerformanceCounter pcProcess = new PerformanceCounter("Process", "% Processor Time", process.ProcessName))
                   {   
                        if (process.ProcessName == procName)>
                        {
                              pcProcess.NextValue();
                              System.Threading.Thread.Sleep(1000);
                              Console.WriteLine("Process:{0} CPU% {1}", process.ProcessName, pcProcess.NextValue());
       
                            //if (pcProcess.NextValue() > float.Parse("10");
                            // process의 점유율을 체크하여 10 이상이면 kill
                            //{
                            //    Console.WriteLine(string.Format("Killing {0} at {1}", procName, DateTime.Now.ToString()));
                            //    process.Kill();
                            //}
                        }
                   }
              }
                // Sleep till the next loop
                Thread.Sleep(intInterval);      
      }
}


1. 루팅이 되어 있어야 할......껄??

2. 모토로라용 USB드라이버 설치

3. 설정 > 응용프로그램 > 개발 > USB디버깅 체크

4. 모토로라 휴대전화 도구로 컴퓨터와 폰 연결

5. cmd 띄워서 adb shell > $ su

6. 폰에서 superuser 화면 확인

7. Do

string sql = "Provider=OraOLEDB.Oracle.1;Data Source=orcl;Persist Security Info=True;User ID=아이다;Password=비밀번호;";     //oracle 서버 연결 문자열

            OleDbConnection conn = new OleDbConnection(sql);
            conn.ConnectionString = sql;
            try
            {
                conn.Open();            //데이터베이스 연결
                OleDbCommand cmd = new OleDbCommand();
                cmd.CommandText = "select * from 테이블";   //테이블
                cmd.CommandType = CommandType.Text;         //검색쿼리
                cmd.Connection = conn;

                OleDbDataReader read = cmd.ExecuteReader(); //select 쿼리 결과
                Console.WriteLine("***** 테이블 분석 결과 *****");
                for (int i = 0; i < read.FieldCount; i++)
                {
                    Console.WriteLine("필드이름 : {0} \n", read.GetName(i));
                }
                Console.WriteLine("총필드 개수는" + read.FieldCount);
                read.Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine("에러발생{0}", ex.Message);
            }
            finally
            {
                if (conn != null)
                {
                    conn.Close();       //데이터베이스 연결 해제
                    Console.WriteLine("데이터베이스 연결 해제..");
                }
            }


대략 클라우드 셀프 정리 2탄 -_-
아오 어제 마신 술이 아직도 안 깨네...ㄷㄷㄷ

클라우드 컴퓨팅을 제공하는 회사는 크게 세가지 모델로 서비스를 고객에게 제공하게 된다.

각각
Paas는 Platform as a Service의 준 말이고,
Iaas는 Infrastructure as a Service, 
Saas는 Software as a Service 다.

각각이 의미하는 바는 이렇다.
아...순서를 조금 바꾸겠다. hierarchical한것이 아무래도 보기 좋으니...

Iaas는 물리적인 컴퓨팅 파워를 제공한다.
네트워크의 bandwidth, 저장장소의 용량, CPU속도, 코어의 갯수 등등....

Paas는 어플리케이션을 개발할 수 있는 환경을 제공하는 것이다.
즉, 클라우드 상에서 SDK환경을 제공한다.
구글 앱 엔진이나 마소의 애져 같은 서비스를 살펴보면 각자의 인프라 위에서 소프트웨어를 설계하고 구현할 수 있는 환경을 제공한다.


한마디로 짱이다 -_-.... 메모리가 딸리면 메모리를 늘리면 되고, 속도가 필요하면 코어를 늘리거나 CPU클럭을 늘려달라고 요청하기만 하면 된다 -_-
물론 비용은 따로 청구되겠지만...anyway~_~

Saas는 말 대로 소프트웨어를 제공하는거다.
필요한 여러가지 OS, 시스템 프로그램, 일반 사용자 프로그램등을 이미지의 형태로 가지고 있다가 요청을 하면 바로바로 제공하게 된다.
요즘은 특히 이런 서비스가 많아졌는데, 네이버의 Ndrive나 구글의 Google Docs를 보면 한글파일(*.hwp)이나 Word파일(*.doc)등을 편집할 때 사용자의 컴퓨터에 따로 프로그램이 깔려있지 않아도 웹 상에서의 편집을 제공한다.

뭐 더 말 안한거 없나 -_-....아오 졸려 ㄷ

+ Recent posts