2015.09.18 14:00
1. 호스트 환경 설정
- Hosts 변경
[root@node1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.30.101.143 node1
10.30.101.145 node2
10.30.101.146 node3
[root@node1 ~]#
- Java 설치 및 변경 (root권한)
- CentOS 6.x의 경우 openjdk 버전이 자동으로 설치
- Hadoop1.x 버전은 Java 1.6버전 이상에서 정상 구동
- [root@node1 ~]# rpm -qa |grep java
tzdata-java-2012c-1.el6.noarch
java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.x86_64
[root@node1 ~]#
- 기존 JDK제거
[root@node1 ~]#
[root@node1 ~]# mv /usr/bin/java /usr/bin/java-old
[root@node1 ~]#
- 1.6.x 이상버전 JDK 설치
[root@node1 ~]# wget http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45-linux-x64.tar.gz
[root@node1 ~]# tar zxvf jdk-8u45-linux-x64.tar.gz
[root@node1 ~]# mv jdk1.8.0_45/ /usr/local/
[root@node1 local]# ln -s jdk1.8.0_45/ java
[root@node1 local]# vi /etc/profile
#환경변수 추가
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
#환경변수 반영
[root@node1 local]# source /etc/profile
[root@node1 local]# java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
[root@node1 local]#
- 상기 설정은 모든 서버에서 동일
2. SSH 공개키 생성 및 교환
- 공개키 생성
[root@node1 ~]# su - hadoop
[hadoop@node1 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):
Created directory '/home/hadoop/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
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:
a5:df:d2:e4:15:b3:5e:c4:81:51:9e:49:ee:0c:ee:74 hadoop@node1
The key's randomart image is:
+--[ RSA 2048]----+
| .++ |
| .+.+|
| . .o=o|
| o . += |
| S .ooE.|
| . =oo.. |
| o +.. |
| . |
| |
+-----------------+
[hadoop@node1 ~]$
- 공개키 통합 파일 생성
[hadoop@node1 ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[hadoop@node1 ~]$ ssh hadoop@node2 cat ~/.ssh/id_rsa.pub >>.ssh/authorized_keys
The authenticity of host 'node2 (10.30.101.145)' can't be established.
RSA key fingerprint is ad:ec:74:80:8d:ea:8a:07:5a:27:67:95:50:bc:87:0d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'node2,10.30.101.145' (RSA) to the list of known hosts.
hadoop@node2's password:
[hadoop@node1 ~]$ ssh hadoop@node3 cat ~/.ssh/id_rsa.pub >>.ssh/authorized_keys
The authenticity of host 'node3 (10.30.101.146)' can't be established.
RSA key fingerprint is ad:ec:74:80:8d:ea:8a:07:5a:27:67:95:50:bc:87:0d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'node3,10.30.101.146' (RSA) to the list of known hosts.
hadoop@node3's password:
[hadoop@node1 ~]$
- 공개키 각 서버로 복사
[hadoop@node1 ~]$ scp -rp .ssh/authorized_keys hadoop@node2:~/.ssh/
hadoop@node2's password:
authorized_keys 100% 1576 1.5KB/s 00:00
[hadoop@node1 ~]$ scp -rp .ssh/authorized_keys hadoop@node3:~/.ssh/
hadoop@node3's password:
authorized_keys 100% 1576 1.5KB/s 00:00
[hadoop@node1 ~]$
- 공개키를 이용한 SSH 접속 테스트
[hadoop@node1 ~]$ ssh hadoop@node2
[hadoop@node2 ~]$ ssh hadoop@node3
[hadoop@node3 ~]$
3. Hadoop 설치 및 설정 변경
- Hadoop 다운로드
[hadoop@node1 ~]$ wget https://archive.apache.org/dist/hadoop/core/hadoop-1.2.1/hadoop-1.2.1.tar.gz
--2015-07-09 16:42:34-- https://archive.apache.org/dist/hadoop/core/hadoop-1.2.1/hadoop-1.2.1.tar.gz
Resolving archive.apache.org... 140.211.11.131, 192.87.106.229, 2001:610:1:80bc:192:87:106:229
Connecting to archive.apache.org|140.211.11.131|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 63851630 (61M) [application/x-gzip]
Saving to: “hadoop-1.2.1.tar.gz”
100%[===========================================================>] 63,851,630 4.70M/s in 15s
2015-07-09 16:42:51 (3.96 MB/s) - “hadoop-1.2.1.tar.gz” saved [63851630/63851630]
[hadoop@node1 ~]$
- 압축 해제 및 설정
[hadoop@node1 ~]$ tar zxvf hadoop-1.2.1.tar.gz
[hadoop@node1 ~]$ ln -s hadoop-1.2.1 hadoop
[hadoop@node1 ~]$ ls
hadoop hadoop-1.2.1
[hadoop@node1 ~]$
- HADOOP_HOME 생성 및 경로를 PATH에 추가
[root@node3 hadoop]# vi /etc/profile
export HADOOP_HOME=/home/hadoop/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
[root@node3 hadoop]# source /etc/profile
- Hadoop 운영에 필요한 기본 저장소 생성 (모든 서버)
[root@node1 hadoop]# mkdir ./hdfs
[root@node1 hadoop]# mkdir hdfs/pids
[root@node1 hadoop]# mkdir hdfs/namenode
[root@node1 hadoop]# mkdir hdfs/datanode
[root@node1 hdfs]# ls -la
total 20
drwxr-xr-x. 5 root root 4096 Jul 9 16:52 .
drwx------. 5 hadoop hadoop 4096 Jul 9 16:50 ..
drwxr-xr-x. 2 root root 4096 Jul 9 16:52 datanode
drwxr-xr-x. 2 root root 4096 Jul 9 16:51 namenode
drwxr-xr-x. 2 root root 4096 Jul 9 16:51 pids
[root@node1 hdfs]#
- Hadoop 관련 디렉토리 접근 권한 확인 및 변경
하둡 관련 디렉토리들은 모두 소유자 외 쓰기 권한이 없어야 함
상기 과정을 통해 생성된 모든 디렉토리는 ‘rwxr-xr-x’권한이어야 함
그렇지 않은 경우 다음을 통해 권한을 변경
- 'core-site.xml
[hadoop@node1 ~]$ vi hadoop/conf/core-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://node1:9000</value>
</property>
- 'hdfs-site.xml'
[hadoop@node1 ~]$ vi hadoop/conf/hdfs-site.xml
<property>
<name>dfs.name.dir</name>
<value>/home/hadoop/hdfs/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/hadoop/hdfs/datanode</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
- 'mapred-site.xml'
[hadoop@node1 ~]$ vi hadoop/conf/mapred-site.xml
<name>mapred.job.tracker</name>
<value>node1:9001</value>
</property>
<property>
<name>mapred.tasktracker.map.tasks.maximum</name>
<value>4</value>
</property>
<property>
<name>mapred.tasktracker.reduce.tasks.maximum</name>
<value>4</value>
</property>
- 'master'
[hadoop@node1 ~]$ vi hadoop/conf/masters
node1
- 'slaves'
[hadoop@node1 ~]$ vi hadoop/conf/slaves
node2
node3
- 'hadoop-env.sh'
[hadoop@node1 ~]$ vi hadoop/conf/hadoop-env.sh
export HADOOP_PID_DIR=/home/hadoop-user/hadoop/pids
- 환경 설정 파일 전송
[hadoop@node1 ~]$ scp -rp ./hadoop/conf/* hadoop@node2:~/hadoop/conf/
capacity-scheduler.xml 100% 7457 7.3KB/s 00:00
configuration.xsl 100% 1095 1.1KB/s 00:00
core-site.xml 100% 265 0.3KB/s 00:00
fair-scheduler.xml 100% 327 0.3KB/s 00:00
hadoop-env.sh 100% 2529 2.5KB/s 00:00
hadoop-metrics2.properties 100% 2052 2.0KB/s 00:00
hadoop-policy.xml 100% 4644 4.5KB/s 00:00
hdfs-site.xml 100% 432 0.4KB/s 00:00
log4j.properties 100% 5018 4.9KB/s 00:00
mapred-queue-acls.xml 100% 2033 2.0KB/s 00:00
mapred-site.xml 100% 449 0.4KB/s 00:00
masters 100% 6 0.0KB/s 00:00
slaves 100% 13 0.0KB/s 00:00
ssl-client.xml.example 100% 2042 2.0KB/s 00:00
ssl-server.xml.example 100% 1994 2.0KB/s 00:00
taskcontroller.cfg 100% 382 0.4KB/s 00:00
task-log4j.properties 100% 3890 3.8KB/s 00:00
[hadoop@node1 ~]$ scp -rp ./hadoop/conf/* hadoop@node3:~/hadoop/conf/
capacity-scheduler.xml 100% 7457 7.3KB/s 00:00
configuration.xsl 100% 1095 1.1KB/s 00:00
core-site.xml 100% 265 0.3KB/s 00:00
fair-scheduler.xml 100% 327 0.3KB/s 00:00
hadoop-env.sh 100% 2529 2.5KB/s 00:00
hadoop-metrics2.properties 100% 2052 2.0KB/s 00:00
hadoop-policy.xml 100% 4644 4.5KB/s 00:00
hdfs-site.xml 100% 432 0.4KB/s 00:00
log4j.properties 100% 5018 4.9KB/s 00:00
mapred-queue-acls.xml 100% 2033 2.0KB/s 00:00
mapred-site.xml 100% 449 0.4KB/s 00:00
masters 100% 6 0.0KB/s 00:00
slaves 100% 13 0.0KB/s 00:00
ssl-client.xml.example 100% 2042 2.0KB/s 00:00
ssl-server.xml.example 100% 1994 2.0KB/s 00:00
taskcontroller.cfg 100% 382 0.4KB/s 00:00
task-log4j.properties 100% 3890 3.8KB/s 00:00
[hadoop@node1 ~]$
- 네임노드 서버 및 분산 파일 시스템 초기화
*모든 노드에서 실행
[hadoop@node1 ~]$ hadoop namenode -format
- Hadoop 실행
[hadoop@node1 ~]$hadoop/bin/start-all.sh
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
266 | 리눅스 서버 보안 관련 설정 | 호스트웨이 | 2015.09.23 | 9002 |
» | hadoop 1.x 설치 & 설정 | 호스트웨이 | 2015.09.18 | 9101 |
264 | kornet SMTP 서비스 종료에 따른 구글 SMTP 활용 방안 | 호스트웨이 | 2016.04.28 | 9165 |
263 | vsFTPd 사용시 디렉토리 목록 조회가 안될때 | 호스트웨이 | 2012.11.30 | 9292 |
262 | 삭제된 파일 복구 - 1 | 호스트웨이 | 2015.09.23 | 9331 |
261 | Linux ssh 무작위 공격 방어하기 - fail2ban | 호스트웨이 | 2015.09.24 | 9367 |
260 | /tmp 디렉토리 보안 설정하기 | 호스트웨이 | 2015.09.17 | 9977 |
259 | Sysbench를 통한 System, MySQL 성능 테스트 | 호스트웨이 | 2015.06.26 | 10038 |
258 | /proc/sys/net/ipv4/conf/ 네트워크 세팅 | 호스트웨이 | 2015.09.22 | 10168 |
257 | Linux 설치된 OS 커널의 Bit확인 | 호스트웨이 | 2015.09.26 | 10527 |
256 | bonding mode 종류 알아보기 | 호스트웨이 | 2012.11.08 | 10562 |
255 | find 명령을 통한 소유자, 백도어, 파일 찾기 | 호스트웨이 | 2015.09.29 | 10676 |
254 | 사용 가능한 쉘 확인 및 변경법 | 호스트웨이 | 2015.09.24 | 11073 |
253 | 동일 네트워크의 중복 IP검색 | 호스트웨이 | 2015.09.23 | 11122 |
252 | /etc/fstab 등록 | 호스트웨이 | 2015.09.22 | 11258 |
251 | vi 로 ^M 제거하기 | 호스트웨이 | 2012.11.15 | 11260 |
250 | chfn 명령어를 통한 사용자 정보변경 | 호스트웨이 | 2012.09.07 | 11410 |
249 | 우분투 기본 쉘 dash 에서 bash로 변경하기 | 호스트웨이 | 2015.09.07 | 11417 |
248 | 리눅스 Ubuntu 네트워크 설정 | 호스트웨이 | 2012.09.14 | 11586 |
247 | 리눅스 Memory관리 | 호스트웨이 | 2012.08.24 | 11746 |