OS  설치  및  서버구성


 


작성일 : 2018.07.25


작성자 : 최준영


변경이력 : 2018-11-05


 


목차


 


1.     OS설치 및 Setting


1.0.01) CentOS-6.* 64bit 운영체제 선택


1.0.02) 정의


 


2.     서버 구성


2.0.01) NameServer 설정


2.0.02) 기본 계정 설정 및 시작 프로그램 설정


2.0.03) Hadoop User 추가 및 password 설정


2.0.04) 기본 Daemon 설치


2.0.05) 서버 Time 동기화


2.0.06) DN 혹은 NN일 경우 Hostname 변경


2.0.07) Hosts 설정 변경


2.0.08) SSH 설정 변경 (root 접속 차단, 포트번호 변경)


2.0.09) SNMP 설정 변경 (mysql, httpd session 수 확인 shell script 추가, community 및 기타 설정)


2.0.10) SYSLOG 등록


2.0.11) Java 설치 (버전 확인 필요)


2.0.12) 최대 open file 개수 설정


2.0.13) profile 설정 (Java & Hadoop home 경로 설정)


2.0.14) 디스크 디렉터리


2.0.15) 예약블록 0으로 설정


2.0.16) 하둡 설치 (Zone0: 1.1.2ver / Zone1&4&5&6: 2.6.2ver / Zone2&3: 2.4.1.ver)


2.0.17) 마지막 확인 후 Hosts 설정 마무리


2.0.18) Hadoop 올리고 확인


2.1.19) 서비스 프로그램 설치  (ftp, tomcat, ...)


2.1.20) 기본 배치 Setting


 


1. OS설치 및 Setting


 


 


1.0.01)      CentOS-6.* 64bit 운영체제 선택


 


1.0.02) 파티션 설정


<< 일반적인 경우 >>


-       /swap : 4,096 MB (=4GB)


-      /boot : 500 MB


-      / : 가능한 최대 용량으로 채움


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


2. 서버 구성


 


 


2.0.01) NameServer 설정


-  # vim /etc/resolv.conf


-  nameserver 210.220.163.82     - SK 브로드밴드 보조 DNS 서버


-  nameserver 8.8.8.8                 - 주 DNS서버


-  nameserver 208.67.222.222      - 추가적인 DNS서버


저장 후 ping을 날려 정상적으로 적용되는지 확인


 


 


2.0.02) 기본 계정 설정 및 시작 프로그램 설정


-  # passwd root


-  # useradd neouserk11


-  # passwd neouserk11


-  crond messagebus network rsyslog snmpd sshd 을 모두 ON, 나머지 OFF


ex) # chkconfig crond on


데몬


하는 일


                 설치 이유


crond


반복예약작업을 위한 crontab사용 가능하게 해줌


서버에 필요한 기본적인 반복작업을 위해


messagebus


시스템 이벤트나 다른 메시지를 알려줌


다른 레이어에게 메시지를 보내줌


rsyslog


시스템 로그들을 원격으로 보내줌


시스템 로그를 서버에 직접 들어가지 않고도 확인할 수 있도록 하기 위해


snmp


네트워크 상의 각 호스트에서 정기적으로 여러 정보를 자동으로 수집하여 네트워크 관리를 도움


직접 방문하지 않더라도 네트워크를 통해서 원격으로 서버들의 정보를 알 수 있기 위해


sshd


암호 방식을 사용해 암호화된 메시지를 전송할 수 있도록 해줌


더 안전하고 더 좋은 보안이 보장된 방식으로 메시지를 전송하기 위해


 


 


2.0.03) Hadoop User 추가 및 password 설정


-  Zone0 : # useradd hadoopusersample


-  Zone1,2,3,4,5,6 : # useradd hadoopusersample


Password는 설정해주지 않는다.


 


2.0.04) 기본 Daemon 설치


-  yum -y install lrzsz rdate ntsysv net-snmp openssh-clients iptraf


분류


설치 이유


lrzsz


Zmodem기능을 이용해 파일을 업/다운로드 하기 위해


rdate


서버의 시간을 동기화 해주기 위해


ntsysv


chkconfig를 일일히 사용하지 않고 부팅시 자동으로 실행시켜주도록 해주는 설정/해제 기능 (편의를 위해 설치)


snmp


직접 방문하지 않더라도 네트워크를 통해서 원격으로 서버들의 정보를 알 수 있기 위해


openssh


SSH프로토콜을 기반으로 함, 네트워크 트래픽 암호화를 통해 네트워크 통신 보호하기 위해


php


crontab을 통해서 php파일을 실행하는데 지장이 없도록 하기 위해


 


 


2.0.05) 서버 Time 동기화


-  # rdate -s time.bora.net   - time.bora.net 서버와 시간을 동기화시켜줌


-  # /sbin/clock –w             - CMOS의 시각을 리눅스 시스템 시각으로 설정


-  # date 명령어로 시간이 잘 설정되어있는지 확인


-  # crontab –e


        */5 * * * * rdate -s time.bora.net && /sbin/clock -w


- 10분마다 해당 명령어를 돌려주며 시간을 맞춰준다


 


 


2.0.06) DN 혹은 NN 일 경우 HostName 변경


-  # hostname z*dn-10.1.*.**  (재부팅 후에 초기화됨)


-  # vim /etc/sysconfig/network  (재부팅 후에도 초기화되지 않음, 재부팅 해야 변경된 hostname이 적용됨)


HOSTNAME=datanode-10.1.*.**


    신규 서버의 hostname은 다음과 같이 설정 à z*dn-10.1.*.**


    기존 서버의 hostname은 다음과 같이 설정 à datanode-10.1.*.**


 


 


 


 


 


2.0.07) Hosts  설정  변경


    -  Scp를 사용하여 설정하는 경우


-  scp -P 2222 SrcUser@1.201.145.46:/srcData/bin/etc/hosts.tar.gz /etc


-  tar xvf hosts.tar.gz


-  # vim /etc/hosts


(전부 주석 처리 후 저장)  – 이후에 설정 완료 후 적용 전 최종 검토 후 문제가 없다고 판단되는 경우 주석 제거하여 해당 서버 투입


 


-      Scp를 사용하지 않고 설정하는 경우


# vim /etc/hosts 안에 아래 내용 추가 후 저장


10.2.1.208      namenode194


10.2.1.209      namenode195


10.1.1.108      namenode1108


10.1.1.109      namenode1109


10.1.1.183 namenode1183


10.1.1.184 namenode1184


 


 


10.1.*.**      z*dn-10.1.*.**


 


 


2.0.08) SSH 설정 변경 (root  접속  차단,  포트번호  변경)


-  vim /etc/ssh/sshd_config


Port 3302


PermitRootLogin no


으로 수정


 


 


2.0.09) SNMP 설정 변경 (mysql, httpd session 수 확인 shell script 추가, community 및 기타 설정)


- # cd /etc/snmp/snmpd.conf 안에서 community값 samplesnmpcomm 2줄, samplesnmpcomm 1줄 있는지 확인 후 없는 경우에만 scp 진행


-  # scp -P 2222 SrcUser@1.201.145.46:/srcData/bin/etc/snmp.tar.gz /etc/snmp


-  # tar xvf snmp.tar.gz


-  snmp 재시작


2.0.10) SYSLOG 등록


1. /etc/init.d/snmpd 수정 (불필요한 SNMPD 로그 차단)

 1.1 OPTIONS="-LS0-6d -Lf /dev/null -p /var/run/snmpd.pid" 를 주석처리

 1.2 OPTIONS="-LS 2 d -Lf /dev/null -p /var/run/snmpd.pid -a"로 변경

 1.3 위 작업으로 snmpd 로그 차단이 되지 않는 경우 /etc/sysconfig/snmpd 안의 내용 주석 처리


2. /etc/rsyslog.conf 수정 (설정한 Somename으로 syslog 웹페이지에서 출력)

 2.1 파일 내용 상단에 $LocalHostname SomeHostname 추가

 2.2 ex) $LocalHostname datanode-10.3.1.121

 2.3 파일 내용 맨 마지막에 *.info;mail.none;authpriv.none;cron.none @1.201.146.229 추가


3. /etc/bashrc 수정 (명령어 입력 줄에서의 hostname 일부가 생략되는 문제 해결, 수정 후 hostname 전부가 보임)

 3.1 [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ " 에서 h를 대문자로 수정


source /etc/bashrc                snmpd / rsyslog             restart


 


 


 


2.0.11) Java 설치 (버전 확인 필요)


-  # java –version 으로 java가 설치되어있는지 확인, java 버전은 1.6.0_31 이어야 함. 그렇지않다면 1.6.0_31로 바꿔주기


- # scp -P 2222 SrcUser@1.201.145.46:/srcData/bin/etc/jdk.tar.gz /usr/local/sbin/


-  # tar xvzf jdk.tar.gz


-  # ln -s /usr/local/sbin/jdk/bin/java /usr/bin/java


-  # java -version 로 확인


 


 


 


2.0.12) 최대 open file 개수 설정


-  # vim /etc/security/limits.conf


*      soft      nofile   102400


*      hard    nofile   102400


-  # vim /etc/security/limits.d/90-nproc.conf 안에서 1024를 10240 로 변경


 


2.0.13) profile 설정 (Java & Hadoop home 경로 설정)


-  # vim /etc/profile


export JAVA_HOME=/usr/local/sbin/jdk  


export HADOOP_PREFIX=/home/hadoopusersample/hadoop           


export PATH=$PATH:$JAVA_HOME/bin:           


# source /etc/profile 을 입력해야 적용이 됨


 


 


 


2.0.14) 디스크 디렉터리


-  # mkdir –p /data01/dfs/data     - data01 디스크 디렉터리 만들기


-  zone0 : # chown –R hadoopusersample: /data01


-  zone1~4 : # chown –R hadoopusersample: /data01


-data01 디스크 디렉터리와 그 하위 디렉터리 모두의 권한을 hadoopusersample로 바꾸기


위 작업을 해당 서버에 마운트 된 디스크 수에 따라 유동적으로 data24번까지 만들지, data36 번까지 설정할지 정해짐


 


 


 


2.0.15) 예약블록 0으로 설정


-      # tune2fs –m 0 /dev/sda1     - Reserved block count: 0으로 변경


-      # tune2fs –l /dev/sda1           - Reserved block count: 0 인지 확인


 


 


 


2.0.16) 하둡 설치 ( Zone0: 1.1.2 // Zone1&4&5&6: 2.6.2 // Zone2&3: 2.4.1 )


 


# mkdir /manager


 


-  case 1 : zone 0


scp -P 2222 SrcUser@1.201.145.46:/srcData/bin/hadoop/datanode/zone0/hadoop-z1.tar.gz /home/hadoopusersample 


tar xvf hadoop-z1.tar.gz


scp -P 2222 SrcUser@1.201.145.46:/srcData/bin/hadoop/datanode/zone0/zone0_manager/* /manager


 


 -  case 2 : zone 1&4&5&6


scp -P 2222 SrcUser@1.201.145.46:/srcData/bin/hadoop/datanode/zone1/hadoop-2.6.2.tar.gz /home/hadoopusersample/


tar xvf hadoop-z1.tar.gz


scp -P 2222 SrcUser@1.201.145.46:/srcData/bin/hadoop/datanode/zone1/zone1_manager/* /manager


 


-  case 3 : zone2&3


scp –P 2222 SrcUser@1.201.145.46:/srcData/bin/hadoop/datanode/zone2/hadoop_zone2.tar.gz /home/hadoopusersample


tar xvf hadoop-z1.tar.gz


scp -P 2222


SrcUser@1.201.145.46:/srcData/bin/hadoop/datanode/zone2/zone2_manager/* /manager


 


# ln –s hadoop-2.6.2 hadoop


# mkdir /home/hadoopusersample/hadoop/logs


# chown –R hadoopusersample: /home/hadoopusersample/hadoop


# chown –R root: /manager


 


-  # vim /home/hadoopusersample/Hadoop/conf/hdfs-site.XML


Ex) zone1으로 설치한 경우: ns01 (zone01 정보 일치하는지) 확인


마운트 된 디스크 수 정보가 해당 파일 아래 디스크들 정보에 올바르게 적혀있는지 확인 (24,36 맞춰서 지우거나 추가하기)


 


-  # vim /home/hadoopusersample/hadoop/etc/hadoop/hadoop-env.sh


export HADOOP_HEAPSIZE=5000


 


 


 


2.0.17) 마지막 확인 후 Hosts 설정 마무리


-  # vim /etc/hosts  (주석처리 된 줄 모두 주석 지우기)


 


 


 


2.0.18) Hadoop 올리고 확인


-  # vim /home/hadoopusersample/hadoop/logs/ 안에서 로그 보기


-  해당 데몬 로그에서 Computing 올라오는 것을 확인한 후 관리자 페이지 -> 시스템관리 -> hadoop정보 -> 해당 zone -> Active링크의 Datanode에서 투입한 해당 서버 사설 아이피 검색으로 있는지 확인함으로 Hadoop이 정상적으로 돌아가고 실제로 투입되었는지 확인할 수 있다. +MRTG변동 확인


 


 


 


 


2.1.19) 서비스 프로그램 설치  (kftp, tomcat, ...) 


 


아래에서 필요한 부분들만 진행한다.


 


(example)


-  scp –P 2222 SrcUser@999.999.999.999:/srcData/bin/serviceuser/* /






 


 


 


2.1.20)기본 배치 Setting


 


crontab -e -> service daemon

+ Recent posts