Ubuntu Hadoop 완전 분산 설치

참고 문헌:
1.   http://hadoop.apache.org/common/docs/r0.19.2/cn/quickstart.html#%E8%BF%90%E8%A1%8CHadoop%E9%9B%86%E7%BE%A4%E7%9A%84%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C
2.  http://yymmiinngg.iteye.com/blog/706699
3.  http://www.linuxidc.com/Linux/2011-08/41661.htm
jdk 설정
     중요:환경 변수 설정
     vi /etc/profile/
    맨 뒤에 가입:
set Java Environment export JAVA_HOME=/usr/lib/jvm/java-6-sun export CLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH" export PATH="$JAVA_HOME/:$PATH"VA_HOME=/usr/lib/jvm/java-6-sun PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME export PATH export CLASSPATH export CATALINA_HOME=/usr/local/tomcat export CLASSPATH=.:$JAVA_HOME/lib:$CATALINA_HOME/lib export PATH=$PATH:$CATALINA_HOME/bin ANT_HOME=/usr/local/ant PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH export  ANT_HOME PATH
설정 ssh
SSH 설치
sudo apt-get install openssh-server
    a.ssh-key-gen 으로 로 컬 호스트 에 공개 키 와 키 를 만 듭 니 다.                            [[email protected] ~]# ssh-keygen -t  rsa
                            Enter file in which to save the key (/home/jsmith/.ssh/id_rsa):[Enter key]
                            Enter passphrase (empty for no passphrase): [Press enter key]
                            Enter same passphrase again: [Pess enter key]
                            Your identification has been saved in /home/jsmith/.ssh/id_rsa.
                            Your public key has been saved in /home/jsmith/.ssh/id_rsa.pub.
                            The key fingerprint is: 33:b3:fe:af:95:95:18:11:31:d5:de:96:2f:f2:35:f9
                            [email protected]
            완료 후 홈 과 디 렉 터 리 에 숨겨 진 폴 더 가 생 성 됩 니 다.ssh
                                   $ cd .ssh
이후 ls 파일 보기
 
                                  cp id_rsa.pub  authorized_keys
uthorized
hadoop@hadoop .ssh]$ scp authorized_keys   node2:/home/hadoop/.ssh/
hadoop@hadoop .ssh]$chmod 644 authorized_keys
b.ssh-copy-id 로 공개 키 를 원 격 호스트 에 복사 합 니 다.                            [[email protected] ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub  root@Datanode1   //Datanode 1 은 IP 입 니 다.
                            root@Datanode1's password:
                            Now try logging into the machine, with ―ssh ?root@Datanode1‘‖, and check in:
                            .ssh/authorized_keys to make sure we haven‘t added extra keys that you weren‘t expecting.
                            [주:ssh-copy-id 키 를 원 격 호스트 에 추가 하 는.ssh/authorized키 에...]
   c.원 격 호스트 에 직접 로그 인                            [[email protected] ~]# ssh Datanode1
                            Last login: Sun Nov 16 17:22:33 2008 from 192.168.1.2
                            [주:SSH 는 비밀 번 호 를 묻 지 않 습 니 다.]
                            [root@Datanode1 ~]
                            [주:당신 은 지금 원 격 호스트 에 로그 인 했 습 니 다.]
   d.메모:여기 서 실행 은 모두 Namenode 위 에 있 고 Namenode 도 자신 에 게 암호 없 는 작업 을 해 야 합 니 다.
            다음 명령 실행:$ssh-keygen-t dsa-P'-f~/.ssh/iddsa $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
      【이 말 을 실행 할 필요 가 없다][[email protected] ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub  [email protected]조작
      다른 것 은 a-c 에 따라 Datanode 2 와 Datanode 3 를 반복 하면 됩 니 다.
      암호 없 이 접근 할 수 있어 야 합 니 다.그렇지 않 으 면 hadop 을 모 을 수 없습니다.실패 할 것 입 니 다.
3.hadop 설정(conf 폴 더 아래)
       A。namenode:
                 a.  core-site.xml:
                     
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
   <property>
       <name>fs.default.name</name>
       <value>hdfs://10.108.32.97:9000</value>   //10.108.32.97 IP
   </property>
 <property>
     <name>hadoop.tmp.dir</name>
    <value>/home/yourname/tmp</value>    //  :tmp      
 </property>
</configuration>

             
b. hadoop-env.sh
 
# The java implementation to use.  Required.
 export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.06

           c.  hdfs-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
	<name>dfs.replication</name>
	<value>2</value>
  </property>
        <property>
               
                <name>dfs.name.dir</name>
                <value>/home/yourname/hdfs/name</value>
        </property>
        <property>
             
                <name>dfs.data.dir</name> 
                <value>/home/yourname/hdfs/data</value>
        </property>
        <property>
                
                <name>dfs.permissions</name>
                <value>false</value>
       </property>
</configuration>

          d. mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->
   <configuration>  
            <property>  
                  
                    <name>mapred.job.tracker</name>  
                    <value>10.108.32.97:9001</value>  
            </property>  
            
    </configuration>  
     e. conf/masters:
     namenode 의 iP 주소
    f.  conf/slaves:
     datanode 의 ip 주소
g. scp -r /home/yourname/hadoop slave1:/home/dataname1/
   scp -r /home/yourname/hadoop slave2:/home/dataname2/
B.새로운 분포 식 파일 시스템 포맷:$bin/hadop namenode-format Hadoop 데 몬 시작:$bin/start-all.sh Hadoop 데 몬 로 그 를${HADOOP 에 기록 합 니 다.LOG_DIR}디 렉 터 리(기본 값${HADOOPHOME}/logs).NameNode 와 JobTracker 의 네트워크 인 터 페 이 스 를 탐색 하고,그들의 주 소 는 기본 값:NameNode-http://localhost:50070/ JobTracker - http://localhost:50030/ 입력 파일 을 분포 식 파일 시스템 으로 복사 합 니 다:$bin/hadop fs-put conf input 실행 발행 판 에서 제공 하 는 예제 프로그램:$bin/hadop jar hadop-*-examples.jar grep input output'dfs[a-z.]+'출력 파일 보기:출력 파일 을 분포 식 문 에서파일 시스템 을 로 컬 파일 시스템 으로 복사 하여 보기:$bin/hadop fs-get output$cat output/*또는 분포 식 파일 시스템 에서 출력 파일 보기:$bin/hadop fs-cat output/*모든 작업 을 완료 한 후 데 몬 을 중단 합 니 다:$bin/stop-all.sh

좋은 웹페이지 즐겨찾기