Install Ambari and Deploy HDP in CentOS

Posted at 2016. 6. 5. 11:41 | Posted in Study/Hadoop
반응형

소개


스터디를 위해서 Ambari를 이용하여 하둡 환경을 구성하면서 기록을 남긴다.


 Host

 IP 

 CPU/RAM/HDD

 Service

 hadoop-00

 192.168.20.20

 4vCPU / 4GB / 16GB

 Ambari

 hadoop-01

 192.168.20.21

 4vCPU / 4GB / 120GB 

 NameNode

 hadoop-02

 192.168.20.22

 4vCPU / 4GB / 120GB

 Hive / DataNode

 hadoop-03

 192.168.20.23

 4vCPU / 4GB / 120GB

 DataNode

 hadoop-04

 192.168.20.24

 4vCPU / 4GB / 120GB

 DataNode




환경 준비


아래 항목들은 모든 서버에 공통적으로 적용해야 할 것들이다.



FQDN[각주:1] 및 호스트네임 설정


호스트들 등록 x N


# vi /etc/hosts

# 추가한다.

192.168.20.20   hadoop-00 hadoop-00.antop.org

192.168.20.21   hadoop-01 hadoop-01.antop.org

192.168.20.22   hadoop-02 hadoop-02.antop.org

192.168.20.23   hadoop-03 hadoop-03.antop.org

192.168.20.24   hadoop-04 hadoop-04.antop.org


호스트네임 설정값 변경


각각 서버에 맞는 번호로 이름 변경 x N


# hostname hadoop-00.antop.org

# hostname -f

hadoop-00


# hostname

hadoop-00.antop.org


네트워크 설정 쪽에도 호스트네임이 들어가 있다. 이것도 변경 x N


# vi /etc/sysconfig/network


NETWORKING=yes

HOSTNAME=hadoop-00.antop.org

GATEWAY=192.168.20.1



Password-less SSH 설정


비밀번호를 물어보지 않는 SSH를 사용할 수 있도록 설정


Ambari 쪽에서 다른 각각의 서버로만 뚫으면 된다.


공개키/개인키 생성


[root@hadoop-00 ~]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

Generating public/private dsa key pair.

Created directory '/root/.ssh'.

Your identification has been saved in /root/.ssh/id_dsa.

Your public key has been saved in /root/.ssh/id_dsa.pub.

The key fingerprint is:

de:3a:1a:9b:cb:5d:ee:b4:a1:b6:e3:8a:64:a9:d2:54 root@hadoop-00.antop.org

The key's randomart image is:

.. 중략 ..


인증 심어놓기(?)


# 나 자신 서버에도 한다.

[root@hadoop-00 ~]# ssh-copy-id -i ~/.ssh/id_dsa.pub root@hadoop-00.antop.org

The authenticity of host 'hadoop-00.antop.org (192.168.20.20)' can't be established.

RSA key fingerprint is 93:02:94:19:21:aa:99:a8:94:87:75:36:06:08:3f:12.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'hadoop-00.antop.org,192.168.20.20' (RSA) to the list of known hosts.

root@hadoop-00.antop.org's password:

Now try logging into the machine, with "ssh 'root@hadoop-00.antop.org'", and check in:


  .ssh/authorized_keys


to make sure we haven't added extra keys that you weren't expecting.


[root@hadoop-00 ~]# ssh-copy-id -i ~/.ssh/id_dsa.pub root@hadoop-01.antop.org

[root@hadoop-00 ~]# ssh-copy-id -i ~/.ssh/id_dsa.pub root@hadoop-02.antop.org

[root@hadoop-00 ~]# ssh-copy-id -i ~/.ssh/id_dsa.pub root@hadoop-03.antop.org

[root@hadoop-00 ~]# ssh-copy-id -i ~/.ssh/id_dsa.pub root@hadoop-04.antop.org


Ambari 쪽에서 다른 서버들로 SSH 접속시 비밀번호를 물어보지 않고 접속이 잘 되어야 한다.


[root@hadoop-00 ~]# ssh root@hadoop-01.antop.org 'ls /'

# 비밀번호를 물어보지 않고 정상적으로 디렉터리 목록이 나와야함...


※ hadoop-00(Ambari)에 생성된 /root/.ssh/id_dsa 파일을 다운로드 받아놓자. Ambari Web UI에서 클러스터 생성시에 필요하다.



NTP[각주:2] 서비스 설치 및 실행


NTP 가 안깔려 있으면 설치하자.


# yum -y install ntp

# service ntpd start

# chkconfig ntpd on



방화벽 해제


하둡은 상당히 많은 포트를 사용한다. 철저하게 관리하면 좋겠지만..... 전부 해제!


# chkconfig iptables off

# /etc/init.d/iptables stop



SELinux 비활성화


# setenforce 0

vi /etc/selinux/config


# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#     enforcing - SELinux security policy is enforced.

#     permissive - SELinux prints warnings instead of enforcing.

#     disabled - No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of these two values:

#     targeted - Targeted processes are protected,

#     mls - Multi Level Security protection.

SELINUXTYPE=targeted



THP[각주:3] 비활성화


CentOS에서 THP가  활성화 되어있으면 성능 이슈가 발생할 수 있다고 경고가 나오게 된다.


HDP 가 설치되는 호스트들에 적용한다. (hadoop-01 ~ hadoop-04)


[root@hadoop-01 ~]# vi /etc/rc.local


#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

# 추가된 부분
if test -f /sys/kernel/mm/redhat_transparent_hugepage/enabled; then
   echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled; fi
if test -f /sys/kernel/mm/redhat_transparent_hugepage/defrag; then
   echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag; fi


재부팅 후 값 확인


[root@hadoop-01 ~]#  cat /sys/kernel/mm/transparent_hugepage/enabled


※ 이렇게 하는게 맞는지는 확실히 모르겠슴.. 어찌어찌 하다가 경고 없어짐... 여기 참조



unmask 값 변경


/etc/profile 파일을 열어서 umask 설정 로직 하단에 umask 값을 강제로 변경하는 부분을 추가해 주도록 하자.


# vi /etc/profile


# 중략

# By default, we want umask to get set. This sets it for login shell

# Current threshold for system reserved uid/gids is 200

# You could check uidgid reservation validity in

# /usr/share/doc/setup-*/uidgid file

if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then

    umask 002

else

    umask 022

fi


# 추가

umask 022



JDK 설치


여기선 1.7을 설치 하자.


# wget 없다면 설치

# yum install -y wget


# 다른 종류의 JDK 있으면 삭제

# yum remove -y java-1.6.0-openjdk

# yum remove -y java-1.7.0-openjdk


# RPM 파일 다운로드

# cd ~

# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u80-b15/jdk-7u80-linux-x64.rpm"


# 설치

# yum localinstall -y jdk-7u80-linux-x64.rpm

# rm -f ~/jdk-7u80-linux-x64.rpm


# 환경 변수 설정

# echo 'export JAVA_HOME=/usr/java/jdk1.7.0_80' >> /etc/profile

# echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile


# 설치 확인

# java -version




Ambari Server 설치



Public Repositories[각주:4] 등록


yum 으로 설치될 수 있도록 저장소를 등록한다.


[root@hadoop-00 ~]# cd /etc/yum.repos.d/

[root@hadoop-00 yum.repos.d]# wget http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.2.2.0/ambari.repo



설치


[root@hadoop-00 ~]# yum install ambari-server



설정


[root@hadoop-00 ~]# ambari-server setup

Using python  /usr/bin/python

Setup ambari-server

Checking SELinux...

SELinux status is 'disabled'

Customize user account for ambari-server daemon [y/n] (n)? n

Adjusting ambari-server permissions and ownership...

Checking firewall status...

Checking JDK...

[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8

[2] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7

[3] Custom JDK

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

Enter choice (1): 3

WARNING: JDK must be installed on all hosts and JAVA_HOME must be valid on all hosts.

WARNING: JCE Policy files are required for configuring Kerberos security. If you plan to use Kerberos,please make sure JCE Unlimited Strength Jurisdiction Policy Files are valid on all hosts.

Path to JAVA_HOME: /usr/java/jdk1.7.0_80

Validating JDK on Ambari Server...done.

Completing setup...

Configuring database...

Enter advanced database configuration [y/n] (n)? n

Configuring database...

Default properties detected. Using built-in database.

Configuring ambari database...

Checking PostgreSQL...

Running initdb: This may take upto a minute.

Initializing database: [  OK  ]


About to start PostgreSQL

Configuring local database...

Connecting to local database...done.

Configuring PostgreSQL...

Restarting PostgreSQL

Extracting system views...

.....ambari-admin-2.2.2.0.460.jar

.

Adjusting ambari-server permissions and ownership...

Ambari Server 'setup' completed successfully.



시작


[root@hadoop-00 ~]# ambari-server start

Using python  /usr/bin/python

Starting ambari-server

Ambari Server running with administrator privileges.

Organizing resource files at /var/lib/ambari-server/resources...

Server PID at: /var/run/ambari-server/ambari-server.pid

Server out at: /var/log/ambari-server/ambari-server.out

Server log at: /var/log/ambari-server/ambari-server.log

Waiting for server start....................

Ambari Server 'start' completed successfully.




Deploy CLuster using Ambari Web UI


브라우저로 http://<hostname>:8080 에 접속하자.


최초 로그인 아이디는 admin/admin



중앙 Create a Cluster 항목의 Launch Install Wizard 버튼 클릭!



클러스터 이름을 설정한다. 나는 MicroscopeHadoop 으로 하였다.



서비스 스택 버전을 선택한다.


최신 버전인 2.4 해도 되고, 나의 경우 Toad for Hadoop 1.5.0 버전에서 HDP 2.3 을 지원 한다고 하여 2.3 으로 설치한다. 



설치할 호스트를 지정한다. FQDN을 줄줄이 써주면 된다.


위에서 다운로드 받아놓은 id_dsa 파일을 여기서 첨부 파일로 넣어준다.



각 호스트에 Ambari Agent 설치 및 이것저것 검사를 한다.


※ 위에 THP 처리를 안하면 아래와 같이 경고가 나오게 된다.



서비스를 선택한다. (항목이 너무 많아서 스크린샷을 편집함...)


나는 Hive 만을 사용하기 위한 최소 항목만 선택 하였다. 나중에 추가 설치 가능하다.



어느 호스트에 무엇을 설치할 것인지 설정한다.


이 부분은 경험과 노하우가 필요하겠다...


나의 경우 서버가 4대라서... 1번에 다 몰고... 2번에 하이브.. 2,3,4 를 데이터 노드로 사용하려고 하였다.



DataNode 로 쓸 호스트를 선택하자.



설정값을 조정하는 부분이다.


특별히 변경 할 건 없는거 같고... -_-/... 아래 처럼 탭 부분에 빨간색 숫자 뜨는 부분 찾아가서 채워 주자.



설치(Deploy) 전 마지막 확인!



설치 시작 그리고 테스트


설치 완료!



설치 완료 요약



완료... 된 것인가 ㅠ_ㅠ





추가로 HTTP 포트 변경하기


https://ambari.apache.org/1.2.3/installing-hadoop-using-ambari/content/ambari-chap2-2a.html



참조

https://ambari.apache.org/1.2.2/installing-hadoop-using-ambari

http://guruble.com/?p=147

  1. https://wiki.kldp.org/KoreanDoc/html/PoweredByDNS-KLDP/fqdn.html [본문으로]
  2. http://www.terms.co.kr/NTP.htm [본문으로]
  3. Transparent Huge Pages [본문으로]
  4. https://cwiki.apache.org/confluence/display/AMBARI/Install+Ambari+2.2.2+from+Public+Repositories [본문으로]
반응형

'Study > Hadoop' 카테고리의 다른 글

Installing Hive(Hadoop 1) + MySQL on CentOS 6.7  (0) 2016.01.05
Installing Hadoop 1 on Ubuntu 14.04  (0) 2015.11.12
//

Installing Hive(Hadoop 1) + MySQL on CentOS 6.7

Posted at 2016. 1. 5. 22:04 | Posted in Study/Hadoop
반응형

Introduction



Hive 를 공부해보기 MySQL을 메타 스토어로 사용하는 최소한의 설치를 설치해보자..




Requirements


여기서 MySQL 설치에 대해서 다루지 않겠다... 데이터베이스와 유저까지 만들자.


Host: mysqldb

Database: hive

Username: hive


※ MySQL 을 사용 하지 않을 경우를 위해서 생략 가능한 절차를 코맨트 하겠다.


하둡은 이미 설치되어 있어야 한다. 설치된 환경은 아래와 같다.


$ rpm -qa *-release

centos-release-6-7.el6.centos.12.3.x86_64


$ java -version

java version "1.7.0_80"

Java(TM) SE Runtime Environment (build 1.7.0_80-b15)

Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)


$ whoami

hadoop


$ pwd

/opt/hadoop


$ hadoop version

Hadoop 1.2.1

Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152

Compiled by mattf on Mon Jul 22 15:23:09 PDT 2013

From source with checksum 6923c86528809c4e7e6f493b6b413a9a

This command was run using /opt/hadoop/hadoop-1.2.1/hadoop-core-1.2.1.jar


하이브가 설치될 환경을 미리 잡아주자.


$ cat ~/.bashrc

# .bashrc

# 생략

# User specific aliases and functions

export HADOOP_HOME=/opt/hadoop/hadoop-1.2.1

export HIVE_HOME=/opt/hadoop/hive-1.2.1

export PATH=$PATH:$HADOOP_HOME/bin:$HIVE_HOME/bin




Download Hive


하이브 최신(1.2.1) 파일을 다운로드 받아 설치하자.


# 파일 다운로드

$ wget http://mirror.apache-kr.org/hive/hive-1.2.1/apache-hive-1.2.1-bin.tar.gz


# 압축 해제

$ tar -xzvf apache-hive-1.2.1-bin.tar.gz


# 이름 변경

$ mv apache-hive-1.2.1-bin hive-1.2.1




Install MySQL Connector/J


※ MySQL 을 사용하지 않을 거라면 패스


하이브에서 메타스토어를 다른 데이터베이스로 사용할 시에 해당 JDBC 라이브러리를 넣어줘야한다.


MySQL을 사용할 것이기 때문에 이에 맞는 라이브러리를 찾아 넣어주자. 


# 파일 다운로드

$ wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.38.tar.gz


# 압축 해제

$ tar -xzvf mysql-connector-java-5.1.38.tar.gz


# jar 파일 복사

$ cp mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /opt/hadoop/hadoop-1.2.1/lib


MySQL 스키마 파일은 하이브에 포함되어 있다. 어떤 방법을 쓰든.... 실행하자.


$HIVE_HOME/scripts/metastore/upgrade/mysql/hive-schema-1.2.0.mysql.sql


나는 mysql client 를 이용해서 넣었다..


$ mysql --host=mysqldb --database=hive --user=hive --password=**** < $HIVE_HOME/scripts/metastore/upgrade/mysql/hive-schema-1.2.0.mysql.sql


Setting


하이브에서 사용하게 될 영역을 HDFS 내에 만들자.


$ $HADOOP_HOME/bin/hadoop fs -mkdir /tmp

$ $HADOOP_HOME/bin/hadoop fs -mkdir /user/hive/warehouse

$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /tmp

$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /user/hive/warehouse


설정 파일을 만들자. (이 파일이 처음에는 없을 것이다)


$ vi $HIVE_HOME/conf/hive-site.xml


<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://hadoop-01:9000</value>
    </property>
    <!-- MySQL 사용 안할 거라면 이 아래는 패스 -->
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://mysqldb:3306/hive</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>hive</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>****</value>
    </property>
</configuration>




이제 하이브를 한번 실행 해보자. 아래와 같이 CLI 커맨드가 나오면 OK!

$ hive

Logging initialized using configuration in jar:file:/opt/hadoop/hive-1.2.1/lib/hive-common-1.2.1.jar!/hive-log4j.properties
hive> _


반응형

'Study > Hadoop' 카테고리의 다른 글

Install Ambari and Deploy HDP in CentOS  (1) 2016.06.05
Installing Hadoop 1 on Ubuntu 14.04  (0) 2015.11.12
//

Installing Hadoop 1 on Ubuntu 14.04

Posted at 2015. 11. 12. 03:37 | Posted in Study/Hadoop
반응형

Introduction


시작하세요! 하둡 프로그래밍
국내도서
저자 : 정재화
출판 : 위키북스 2014.12.31
상세보기


거침없이 배우는 하둡
국내도서
저자 : 척 램(Chuck Lam) / 강택현,이현남역
출판 : 지앤선(지&선) 2012.07.17
상세보기


하둡을 공부하기 위하여 설치해보자.


연습을 실전 같이! 완전분산(Fully distributed) 모드로 설치한다.


 호스트

 아이피

 역할

 코어/메모리

 hadoop-01

 192.168.153.10

 NameNode

 1 코어 / 1 GB

 hadoop-02

 192.168.153.11

 Secondary NameNode / DataNooe

 1 코어 / 1 GB

 hadoop-03

 192.168.153.12

 DataNode 1 코어 / 1 GB

 hadoop-04

 192.168.153.xxx DataNode 1 코어 / 1 GB




하둡 실행 계정 생성


하둡 실행 계정은 하둡 클러스터를 구성하는 모든 서버에 동일하게 생성해야 한단다. (정말? 실화야?)


"hadoop" 계정을 사용하도록하겠다. 각 서버에 생성하자.


root@hadoop-01:~# adduser hadoop

root@hadoop-02:~# adduser hadoop

root@hadoop-03:~# adduser hadoop




호스트 파일 수정


IP를 직접 사용해도 되지만 호스트명을 사용하자. 각 서버에서 /etc/hosts 파일을 아래와 같이 수정한다.


※ 물론 이 작업을 수행하는 나의 컴퓨터에도 호스트 파일 수정 작업이 되어 있어야 한다.


root@hadoop-01:~# vi /etc/hosts


127.0.0.1       localhost

192.168.153.10  hadoop-01

192.168.153.11  hadoop-02

192.168.153.12  hadoop-03


root@hadoop-02:~# vi /etc/hosts

root@hadoop-03:~# vi /etc/hosts




인코딩 방식 설정


하둡은 인코딩 방식으로 UTF-8을 사용한단다... 다행이 우분투는 기본적으로 UTF-8 사용해서 천만 다행 -_-/




방화벽 해제


어차피 내부통신에다 연습용이니 다 해제!


root@hadoop-01:~# ufw disable

root@hadoop-02:~# ufw disable

root@hadoop-03:~# ufw disable




자바 설치


Oracle JDK 1.7 을 설치 하도록 하겠다.


http://ubuntuhandbook.org/index.php/2014/02/install-oracle-java-6-7-or-8-ubuntu-14-04/


Oracle JDK 7 을 설치 했을 시에 설치되는 위치는 "/usr/lib/jvm/java-7-oracle" 이다.




하둡 클러스터를 위한 SSH 설정


마스터 노드는 클러스터에 위치한 다른 모든 노드들에 접근할 수 있어야 한다. 하둡은 이러한 접근을 위해 SSH를 사용한다.


마스터 노드(hadoop-01)에서 쌍으로 이루어진 SSH 키를 생성한다.


hadoop@hadoop-01:~$ pwd

/home/hadoop


hadoop@hadoop-01:~$ ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): [Enter]
Created directory '/home/hadoop/.ssh'.
Enter passphrase (empty for no passphrase): [Enter]
Enter same passphrase again: [Enter]
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
c5:f5:5b:3a:83:13:1b:9b:07:2c:dc:11:34:3d:a9:41 hadoop@hadoop-01
The key's randomart image is:
...


생성된 공개키를 다른 서버에 복사한다.


ssh-copy-id -i [복사할 공개키 경로] [대상 서버 계정]@[대상 서버]


hadoop@hadoop-01:~$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@hadoop-02

The authenticity of host 'hadoop-02 (192.168.153.11)' can't be established.

ECDSA key fingerprint is 28:1a:ab:fa:2d:a8:e0:c8:5b:ef:f7:ff:74:69:45:96.

Are you sure you want to continue connecting (yes/no)? yes

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed

/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys

hadoop@hadoop-02's password: [SSH 비밀번호 입력]


Number of key(s) added: 1


Now try logging into the machine, with:   "ssh 'hadoop@hadoop-02'"

and check to make sure that only the key(s) you wanted were added.


hadoop@hadoop-01:~$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@hadoop-03

hadoop@hadoop-01:~$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@hadoop-01




하둡 다운로드 및 압축 해제


현재 최신 버전은 1.2.1 이다.


hadoop@hadoop-01:~$ pwd

/home/hadoop


hadoop@hadoop-01:~$ wget https://archive.apache.org/dist/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz


압축 해제!


hadoop@hadoop-01:~$ tar xvfz hadoop-1.2.1.tar.gz




hadoop-env 수정


이것 저것....


hadoop@hadoop-01:~/hadoop-1.2.1/conf$ pwd

/home/hadoop/hadoop-1.2.1/conf


hadoop@hadoop-01:~/hadoop-1.2.1/conf$ vi hadoop-env.sh


# The java implementation to use.  Required.

# 현재 우분투 14에 Oracle JDK 7을 설치하면 아래와 같은 경로에 설치된다.

export JAVA_HOME=/usr/lib/jvm/java-7-oracle


# The maximum amount of heap to use, in MB. Default is 1000.

export HADOOP_HEAPSIZE=768


# The directory where pid files are stored. /tmp by default.
# NOTE: this should be set to a directory that can only be written to by
#       the users that are going to run the hadoop daemons.  Otherwise there is
#       the potential for a symlink attack.
export HADOOP_PID_DIR=/home/hadoop/hadoop-1.2.1/pids




masters 수정


masters 파일에는 보조네임 노드를 실행할 서버를 설정한다. (여러개 가능)


hadoop@hadoop-01:~/hadoop-1.2.1/conf$ vi masters


hadoop-02




slaves 수정


slaves 파일에는 데이터 노드를 실행할 서버를 설정한다.


hadoop@hadoop-01:~/hadoop-1.2.1/conf$ vi slaves


hadoop-02

hadoop-03




core-site.xml 수정


이것 저것... ㅠㅠ


hadoop@hadoop-01:~/hadoop-1.2.1/conf$ vi 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://hadoop-01:9000</value>

        </property>

        <property>

                <name>hadoop.tmp.dir</name>

                <value>/home/hadoop/hadoop-data</value>

        </property>

</configuration>




hdfs-site.xml 수정


...


hadoop@hadoop-01:~/hadoop-1.2.1/conf$ vi 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>3</value>

        </property>

        <property>

                <name>dfs.http.address</name>

                <value>hadoop-01:50070</value>

        </property>

        <property>

                <name>dfs.secondary.http.address</name>

                <value>hadoop-02:50090</value>

        </property>

</configuration>




mapred-site.xml 수정


..


hadoop@hadoop-01:~/hadoop-1.2.1/conf$ vi 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>hadoop-01:9001</value>

        </property>

</configuration>




하둡 환경설정 복사


네임노드에서 모든 수정 작업이 완료되면 다른 데이터노드 서버로 파일을 복사한다.


hadoop@hadoop-01:~$ cd ~

hadoop@hadoop-01:~$ tar zcvf hadoop.tar.gz hadoop-1.2.1

hadoop@hadoop-01:~$ scp hadoop.tar.gz hadoop@hadoop-02:/home/hadoop

hadoop@hadoop-01:~$ scp hadoop.tar.gz hadoop@hadoop-03:/home/hadoop


각각 서버로 전송된 파일 압축 해제


hadoop@hadoop-02:~$ tar xvfz hadoop.tar.gz

hadoop@hadoop-03:~$ tar xvfz hadoop.tar.gz




하둡 실행


네임노드를 초기화한다.


hadoop@hadoop-01:~/hadoop-1.2.1/bin$ ./hadoop namenode -format


INFO namenode.NameNode: STARTUP_MSG: /************************************************************ STARTUP_MSG: Starting NameNode STARTUP_MSG: host = hadoop-01/192.168.153.10 STARTUP_MSG: args = [-format] STARTUP_MSG: version = 1.2.1 STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152; compiled by 'mattf' on ... STARTUP_MSG: java = 1.7.0_80 ************************************************************/ INFO util.GSet: Computing capacity for map BlocksMap INFO util.GSet: VM type = 64-bit INFO util.GSet: 2.0% max memory = 778502144 INFO util.GSet: capacity = 2^21 = 2097152 entries INFO util.GSet: recommended=2097152, actual=2097152 INFO namenode.FSNamesystem: fsOwner=hadoop INFO namenode.FSNamesystem: supergroup=supergroup INFO namenode.FSNamesystem: isPermissionEnabled=true INFO namenode.FSNamesystem: dfs.block.invalidate.limit=100 INFO namenode.FSNamesystem: isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s), accessTokenLifetime=0 min(s) INFO namenode.FSEditLog: dfs.namenode.edits.toleration.length = 0 INFO namenode.NameNode: Caching file names occuring more than 10 times INFO common.Storage: Image file /home/hadoop/hadoop-data/dfs/name/current/fsimage of size 112 bytes saved in 0 seconds. INFO namenode.FSEditLog: closing edit log: position=4, editlog=/home/hadoop/hadoop-data/dfs/name/current/edits INFO namenode.FSEditLog: close success: truncate to 4, editlog=/home/hadoop/hadoop-data/dfs/name/current/edits INFO common.Storage: Storage directory /home/hadoop/hadoop-data/dfs/name has been successfully formatted. INFO namenode.NameNode: SHUTDOWN_MSG: /************************************************************ SHUTDOWN_MSG: Shutting down NameNode at hadoop-01/192.168.153.10 ************************************************************/


전부 실행


hadoop@hadoop-01:~/hadoop-1.2.1/bin$ ./start-all.sh


starting namenode, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-namenode-hadoop-01.out hadoop-03: starting datanode, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-datanode-hadoop-03.out hadoop-02: starting datanode, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-datanode-hadoop-02.out hadoop-01: starting secondarynamenode, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-secondarynamenode-hadoop-01.out starting jobtracker, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-jobtracker-hadoop-01.out hadoop-03: starting tasktracker, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-tasktracker-hadoop-03.out hadoop-02: starting tasktracker, logging to /home/hadoop/hadoop-1.2.1/libexec/../logs/hadoop-hadoop-tasktracker-hadoop-02.out




제대로 올라갔는지 확인하자


hadoop@hadoop-01:~$ jps

3050 JobTracker

2730 NameNode


hadoop@hadoop-02:~$ jps

3067 SecondaryNameNode

2951 DataNode

3190 TaskTracker


hadoop@hadoop-03:~$ jps

3087 TaskTracker

2949 DataNode


http://hadoop-01:50070




반응형

'Study > Hadoop' 카테고리의 다른 글

Install Ambari and Deploy HDP in CentOS  (1) 2016.06.05
Installing Hive(Hadoop 1) + MySQL on CentOS 6.7  (0) 2016.01.05
//