2014년 10월 20일 월요일

Ubuntu : solr 4.6 살펴보기 2

  • Nutch


  다운로드 : archive.apache.org/dist/nutch/


  • Nutch 설치 및 solr과 연동


  : 1.5.1 버전을 가지고 진행하였다.

  1. 다운로드 

  # 1.5.1 버전을 다운받는 과정이다.
  # 상위 폴더에는 다양한 버전들이 존재하므로 선택하여 다운로드 받아도 무방하다.
  > wget http://archive.apache.org/dist/nutch/1.5.1/apache-nutch-1.5.1-bin.tar.gz

  2. 압축 해제

  > gzip -d apache-nutch-1.5.1-bin.tar.gz
  > tar -xvf apache-nutch-1.5.1-bin.tar

  3. 폴더 이동

  # 편의를 위해 폴더를 옮기는 것 뿐이다.
  # 이 과정을 패스해도 상관없다.
  > sudo mv apache-nutch-1.5.1 /usr/share/nutch

  4. Path 설정

  # 편의를 위해 패스를 선언하여 진행하는 것이다.
  # 이 과정을 패스해도 상관없다.
  > sudo nano .bashrc

 ================================================================
  export NUTCH_HOME=/usr/share/nutch
  export PATH=$PATH:$NUTCH_HOME/bin:
 ================================================================

  > source .bashrc

  5. NUTCH_HOME으로 이동

  # urls 폴더 에서 seed.txt 파일을 생성하여 주소를 날린다.
  # crawl 폴더에 crawling한 데이터들을 저장한다.
  > sudo mkdir urls
  > sudo mkdir crawl

  6. NUTCH_HOME/conf/nutch-default.xml 파일 수정

  # 중간에 http.agent.name의 내용을 수정한다.
  > sudo nano nutch-default.xml

 ================================================================
  ...
  (생략)

  <!-- HTTP properties -->
  <property>
  <name>http.agent.name</name>
  <!-- value를 지정해준다. -->
  <value>nutch spider</value>
  <description>HTTP 'User-Agent' request header.</description>
  </property>

  (생략)
  ...
 ================================================================

  7. NUTCH_HOME/conf/regex-urlfilter.txt 파일 수정

  # 마지막 라인을 수정해 준다.
  > sudo nano regex-urlfilter.txt
 ================================================================
  ...
  (생략)

  +^http://([a-z0-9]*\.)*naver.com/
 ================================================================

  8. NUTCH_HOME/conf/schema-solr4.xml 파일 수정

  > sudo nano schema-solr4.xml

 ================================================================
  ...
  (생략)

  <!-- version="1.5.1" 을  version="1.5"로 수정한다. --> 
  <schema name="nutch" version="1.5">

  ...
  (생략)

  <!-- <fields> 안에 선언되어 있는 <field name ="boost"...>를 찾는다.
  type="string"을 type="long"으로 수정한다.
  또한 _version_을 추가한다.  -->   
  <field name="_version_" type="long" stored="true" indexed="true"/>
  <field name="boost" type="float" stored="true" indexed="true"/>  

  (생략)
  ...
 ================================================================

  9. NUTCH_HOME/conf/schema-solr4.xml 파일 복사

  #기존에 있던 schema 파일의 이름을 변경한다.
  #nutch에서 수정한 schema-solr4.xml을 schema.xml로 사용한다.
  > sudo mv SOLR_HOME/collection1/conf/schema.xml SOLR_HOME/collection1/conf/schema.xml.org
  > sudo cp NUTCH_HOME/conf/schema-solr4.xml SOLR_HOME/collection1/conf/schema.xml

  10. SOLR_HOME/collection1/conf/stopwords_en.txt 생성

  > sudo nano stopwords_en.txt

 ================================================================
 #빈 공간으로 남기고 저장한다.
 ================================================================

  11. NUTCH_HOME/urls/seed.txt 생성

  #앞서 regex-urlfilter.txt에서 지정한 주소를 기록한다.
  > sudo nano seed.txt

 ================================================================
  http://www.naver.com
 ================================================================

  12. jetty 재실행

  > sudo service jetty restart

  13. crawling 실행

  # NUTCH_HOME에서 명령어를 타이핑한다.
  # 깊이는 3으로, 앞에 존재하는 길이 50을 긁어온다.
  > bin/nutch crawl urls -solr http://localhost:8983/solr/collection1 -depth 3 -topN 50

2014년 10월 15일 수요일

Ubuntu : solr 4.6 살펴보기 1



  • 한글 형태소 분석기(Arirang)

  다운로드 : http://cafe.naver.com/korlucene
  한글 연동 참고 : http://dev.meye.net/entry/Solr-%EC%84%A4%EC%A0%95




  • etc...

  설치와 연동은 저기 블로그에서 너무 설명을 잘해주셔서 링크를 달아두었다.  

  이후는 open web crawler인 nutch를 이용하여 crawling 하는 방법에 대해 진행한다.

2014년 10월 14일 화요일

Ubuntu Server : File/Redmine Server 만들기

  • Ubuntu Server USB 만들기


  1. 준비 과정

  Ubuntu Server : http://www.ubuntu.com/server
  UUI : http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/

  2. 설치과정 참조

  참조 링크 : http://webdir.tistory.com/187
  ※주의사항 : 중간 설치 과정에서 Samba Package를 포함하여 설치하도록 한다.




  • Samba File Server 만들기


  1. etc/samba/smb.conf 수정

 ================================================================

  [ubuntu_user_name]
  comment = comment
  path = samba_conf_path
  valid users = samba_user
  public = yes/no
  writable = yes/no

 ================================================================

  2. Samba에 접속할 user 생성

  #valid users에서 설정한 유저 값과 동일한 유저 이름을 생성한다.
  > sudo smbpasswd -a samba_user
  > 삼바 패스워드 입력

  3. Samba Server 재시작

  > sudo service smbd restart




  • Redmine Server 만들기



  1. 준비 과정

  bitnami : https://bitnami.com/stack/redmine/installer

  2. 주어진 링크에서 설치파일 다운로드 받기

  > wget https://bitnami.com/redirect/to/43933/bitnami-redmine-2.5.2-3-linux-x64-installer.run

  3. run 파일 설치하기

  > chmod +x bitnami-redmine-2.5.2-3-linux-x64-installer.run
  > ~/bitnami-redmine-2.5.2-3-linux-x64-installer.run

  4. 과정에 따라 설치하기

  5. etc/rc.local

 ================================================================

  (상략)
  ...
  #아래 코드만 추가한다.
  redmine 설치 경로/ctlscript.sh start &
  exit 0

 ================================================================

  ※ 위 코드를 추가하면 서버가 시작될 때 자동으로 Redmine이 실행된다.



  • Subversion 설정하기


  1. SVN 저장 폴더를 생성


  2. 저장소 설정

  > svnadmin create --fs-type fsfs [SVN 저장 폴더 경로]/[저장소 이름]

  3. conf/svnserve.conf

 ================================================================

  (상략)
  ... 
  [general]
  # 임의의 유저의 접근은 허용하지 않는다.
  anon-access = none
  # 아이디로 접근한 유저는 쓰기를 허용한다.
  auth-access = write
  # db테이블에 접속할 수 있는 비밀번호를 설정한다.
  password-db = password
  ...
  (하략)

 ================================================================

  4. conf/passwd

 ================================================================

  [users]
  # id = password 형식을 사용
  sally = 1111

 ================================================================

  5. SVN 재시작


  ※ 참조 : http://jhroom.co.kr/23908

2014년 10월 7일 화요일

Cassandra & NoSQL

  • NoSQL


  1. NoSQL 특징

  데이터 관계를 정의하지 않음.
  Table Schema 구성이 유동적.(Schemaless)
  분산형 구조가 기본.


  CAP 이론 중 2개만 만족.(3개를 모두 만족할 순 없다.)
    - Availability : 고가용성.
    - Consistency : 일관성. 어떤 노드를 통해 접근해도 같은 결과값이 출력.
    - Patition tolerance : 네트워크에 장애가 있어도 어떻게든 수행.

  참조 : http://www.oss.kr/oss_repository14/81878
  Fault tolerance : 데이터 손실을 우려하여 Recovery Data를 같이 전송한다.


2014년 10월 1일 수요일

Eclipse와 톰캣 연동하기

1. Eclipse Java EE 설치 

1) 이클립스 다운로드 : http://eclipse.org/downloads/
2) 위 링크로 이동하여 'Java EE Developer'를 다운받는다.
3) 다운받은 파일을 압축을 풀고 eclipse를 실행한다.

2. 아파치 톰캣 설치

1) 아파치 톰캣 8.0 버전 다운로드 : http://tomcat.apache.org/download-80.cgi
2) Core > Window Service Installer 32/64bit 를 다운받는다.
3) 실행 과정은 http://dkatlf900.tistory.com/35 아래 주소를 참고한다.

3. 환경 변수 설정

1) 시작 > 컴퓨터(마우스 우클릭) > 속성을 클릭한다.

2) 고급 시스템 설정을 클릭한다.
 

3) 환경 변수를 설정한다.

4.1) 시스템 변수 > 새로 만들기 선택
4.2) 새 시스템 변수 > 변수 이름 > CATALINA_HOME
4.3) 새 시스템 변수 > 변수 값 > C:\Program Files\Apache Software Foundation\Tomcat 8.0

5.1) 시스템 변수 > Path를 더블 클릭
5.2) 시스템 변수 편집 > 변수 값에서 마지막에 %CATALINA_HOME%\bin을 추가한다.(각 변수들은 세미콜론(;)으로 구분한다.)

6) 명령어 콘솔 창(cmd)에서 "catalina start"를 입력한다.

7) 아래와 같은 화면이 뜨면 성공!

4. Eclipse 내부 설정

1) Tomcat 서버 연동하기

① 이클립스 실행 후 Window > Preferences 를 선택한다.

② Server > Runtime Environment 를 선택한 뒤, Add를 클릭한다. 

③ Apache Tomcat v8.0(자신이 설치한 톰캣 버전)을 선택한다.

2) 프로젝트와 톰캣 서버 연동하여 사용하기 

① File > New > Other 를 클릭한뒤 Web > Dynamic Web Project를 선택한다.

② 프로젝트 이름을 생성한 뒤 Targer Runtime은 방금 만든 서버로 선택한다.

③ Next 버튼을 누르고 클래스패스는 보면서 Next 버튼을 눌러준다.

④ Context root를 확인하고 Finish를 누른다. 
(localhost:8080/(Context root)/(파일 이름) 으로 접속된다.)
(Context root는 따로 설정하지 않으면 프로젝트 이름과 동일하다.)

⑤ JSP파일을 생성하여 파일을 실행하여 본다.

HDFS 살펴보기 3


  • 생각해보기

TopN 예제 분석하기
1. Scheduling
비선점 알고리즘
선점 알고리즘 : RR, WRR, DWRR, WFQ, GFQ(FQ로 검색)
CountTrigram 예제 분석하기