반응형 Data Base/Hadoop42 [Hadoop] : 하둡 방화벽 포트 열기 - MasterNode 슬레이브 서버는 마스터 노드의 네임 노드와 통신하며 데이터를 저장한다. 네임 노드 포트는 9000번 포트로 방화벽을 해제해야 한다. 하둡 관리를 위한 리소스매니저는 8088포트로 이것도 방화벽을 해제해 줘야 한다. 중요한 점은 꼭! ⭐ hadoop 계정으로 실행 ⭐ 해야 한다. 리소스 매니저 8088 방화벽 포트와 네임 노드 9000 방화벽 포트를 열고 방화벽을 적용하고 방화벽을 확인한다. sudo firewall-cmd --permanent --zone=public --add-port=8088/tcp sudo firewall-cmd --permanent --zone=public --add-port=9000/tcp sudo firewall-cmd --reload sudo firewall-cmd --lis.. 2022. 4. 21. [Hadoop] : 하둡 NameNode 포멧 - Master Server 하둡에 저장되는 데이터는 네임노드와 데이터노드에 저장한다. 네임노드는 데이터노드에 저장되는 위치 등 메타 정보를 저장하고 실제 데이터는 데이터 노드에 저장한다. 하둡에 데이터를 저장하기 위해 반드시 네임노드를 하둡분산파일시스템에 맞게 저장 방식을 포멧해야 한다. 중요한 점은 꼭! ⭐ hadoop 계정으로 실행 ⭐ 해야 한다. root 계정으로 실행하면 네임 노드 폴더를 삭제하고 다시 네임 노드로 포멧해야 한다. root로 실행한 경우 해결법 cd / chown -R hadoop:hadoop /data 권한을 다 바꿔주고 하둡을 껐다가 키면된다. 아래 코드를 모든 Server에서 실행해야 한다. 마스터, 슬레이브1, 슬레이브2 등.. 아래 코드는 Master Server에서만 진행한다. root 계정에서 .. 2022. 4. 21. [Hadoop] : 하둡 Slave Server 설정 - Masger Server 마스터 서버에서 사용할 데이터 노드 역할을 수행하는 서버들을 설정한다. 아래 경로로 들어간다. cd /usr/local/hadoop/etc/hadoop 편집기를 열어준다. vi slaves or vi /usr/local/hadoop/etc/hadoop/slaves 마스터 노드도 데이터 노드 역할을 수행하도록 설정하여 데이터 3중화 수행한다. 하둡은 데이터가 저장되면 기본 3중화를 실행한다. master slave1 slave2 이렇게 적어준다. 2022. 4. 21. [Hadoop] : 하둡 Slave Server 1, 2 설정하기 슬레이브 서버 1,2 모두 같게 적용한다. hadoop-env.sh 설정 파일 위치로 이동한다. cd /usr/local/hadoop/etc/hadoop 편집 모드를 실행한다. vi hadoop-env.sh 이 코드를 수정해야 한다. 위 빨간 박스를 아래 코드로 바꿔준다. export JAVA_HOME=/usr/local/java 아래로 또 내려보면 이렇게 주석이 처리된 부분을 수정해 줘야한다. 위 빨간 박스를 아래 코드로 바꿔준다. export HADOOP_LOG_DIR=/data/hadoop/log 이렇게 바꿔 넣어주면 된다. 이제 wq 명령어로 저장하고 편집 모드를 종료한다. core-site.xml 도 편집 모드를 열어 수정한다. vi core-site.xml 아래 코드를 넣어준다. 위에서부터 하.. 2022. 4. 21. [Hadoop] : 하둡 Master Server 설정하기 마스터 서버와 슬레이브 서버1,2 환경 설정은 거의 동일하지만 마스터 서버는 네임 노드를 가지고 있다. 따라서 마스터 서버는 네임 노드 설정 관련 내용을 포함하고 슬레이브 서버 1,2는 네임 노드를 설정하지 않는다. 마스터 서버에만 아래 설정을 진행한다. hadoop-env.sh 에서 자바 설치 위치를 설정한다. 하둡 실행의 전반적인 설정이다. cd /usr/local/hadoop/etc/hadoop ll | grep hadoop-env.sh vi hadoop-env.sh vi 편집기로 접속해 아래 내용을 수정해준다. 위 빨간 박스 내용을 아래 코드로 바꿔준다. export JAVA_HOME=/usr/local/java 아래로 더 내리면 아래 처럼 주석 처리가 된 부분이 있다. 하둡에서 발생되는 로그 위.. 2022. 4. 21. [Hadoop] : 하둡 저장 디렉토리 생성 및 권한 부여하기 하둡 데이터 저장 디렉토리와 로그 저장 디렉토리를 생성해 준다. 마스터 서버와 슬레이브 서버1,2 모두 다 생성을 한다. mkdir -p /data/hadoop/data mkdir -p /data/hadoop/log hadoop 계정이 사용할 수 있게 권한을 부여한다. chown -R hadoop:hadoop /data/ 아래 경로에 가서 정상적으로 생성이 되었는지 확인한다. cd /data/hadoop ll https://ohju96.notion.site/4f290f30ad4a4233be715b277d67be03 하둡 저장 디렉토리 생성 및 권한 부여 하둡 데이터 저장 디렉토리와 로그 저장 디렉토리를 생성해 준다. ohju96.notion.site 2022. 4. 21. [Hadoop] : 하둡 디렉토리 구조 파악하기 아래 노션 페이지에서 확인할 수 있다. https://ohju96.notion.site/Hadoop-610a079e2186416ca1bb92f2d3fa8823 Hadoop 디렉토리 구조 A new tool for teams & individuals that blends everyday work apps into one. ohju96.notion.site 2022. 4. 21. [Hadoop] : CentOS에 하둡 설치하기 하둡 2.10.x 버전 특징이 있다. 필수 핵심 코어가 증가했다. 변경 전에는 맵리듀스, 하둡분산파일시스템, 변경 후에는 맵리듀스, 하둡분산파일시스템, 얀 YARN(얀)의 특징은 잡 스케줄링과 클러스터 자원 관리이다. 리눅스 파일은 전송 후 반드시 크기를 확인한다. 네트워크 문제로 가끔 100% 완벽하게 파일 전송이 안 되는 경우가 있기 때문이다. 하둡 설치는 root 계정을 통해 설치하는 것이 편리해 root 접속해 파일 업로드 및 설치한다. 마스터 서버, 슬레이브 서버1,2 모두 다 업로드한다. su - cd /usr/local/ rz hadoop-2.10.1.tar.gz 파일이 정상적으로 들어온 것을 확인한다. 이때, Java는 7~8버전이 설치되어 있어야 한다. Java8 버전을 추천한다. jav.. 2022. 4. 21. [Hadoop] : CentOS에 Java 설치하기 이제 서버 3대 전부 다 Java를 설치한다. Java는 반드시 1.8 버전을 다운로드한다. 리눅스 64비트 버전을 다운로드하면 된다. Download the Latest Java LTS Free 다운 받은 java를 서버로 옮겨주기 위해 2가지 방법이 있다. 첫 번째 방법이다. 다운로드 후 WinSCP로 local에서 마스터 서버로 옮겨주었다. 경로는 /usr/local이다. 두 번째 방법이다. cd /usr/local/ rz rz로 java를 가져오면 된다. putty에서는 안 된다고 하는 것 같다. xShell을 사용하자.. 파일을 받아 왔으면 다음을 진행한다. 자바 파일 압축을 해제한다. root 사용자에서 입력하자. tar -zxvf jdk-8u201-linux-x64.tar.gz jdk1.8... 2022. 4. 20. [Hadoop] : Master Server에서 Slave Server로 SSH 접속하기 파일 전달을 완전히 마쳤으면 이제 마스터 서버에서 슬레이브 서버로 SSH 접속을 한다. ssh slave1 ssh slave2 ssh master ssh 호스트네임으로 접속할 수 있다. 마스터 서버에서 hadoop 계정으로 SSH 통신을 통해 슬레이브 서버1, 2에 접속이 가능해야 한다. 그래야 마스터 서버가 슬레이브 서버1, 2에 하둡의 데이터 노드 데몬을 실행 및 중지 명령을 내릴 수 있게 된다. 2022. 4. 20. [Hadoop] : 하둡 외부 접속 및 SSH 생성 모든 서버를 xShell을 통해 SSH 접속을 한다. ifconfig 마스터 서버 SSH키를 생성해야 한다. 마스터 서버는 데이터 노드 역항르 하는 슬레이브 서버에 SSH 접속을 통해 데이터 노드 시작 등 역할을 수행한다. 마스터 서버에서 슬레이브 서버 접속이 가능하도록 SSH 통신에 사용할 키 교환을 수행해야 한다. 반대로 슬레이브 서버에서는 마스터 서버로 접속이 필요하지 않다. 키 수정은 상당히 번거로워서 절대 오타를 내면 안된다. ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa; \\ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys; \\ chmod 0600 ~/.ssh/authorized_keys 생성된 키 권한은 600으로 설정한다... 2022. 4. 20. [Hadoop] : 하둡 계정 생성하고 권한 주기 총 3대의 CentOS 7에 신규 hadoop 계정을 생성한다. 하둡 실행 및 관리는 root 계정이 아닌 신규 hadoop 계정으로 사용할 것이다. hoaddp 계정을 신규 추가하고 hadoop 계정 비밀번호를 설정한다. useradd hadoop passwd hadoop 생성된 사용자 폴더를 확인해 본다. 이 폴더는 추후 hadoop간에 SSH 통신을 위한 Key 값을 생성하기 때문에 꼭 정상적으로 생성이 되었는지 체크해야한다. cd /home/hadoop/ ll 새로 추가된 hadoop 계정은 root 권한을 빌려오는 sudo 명령 사용이 불가능하다. sudo 명령 사용 권한을 획득하기 위해 설정이 필요하다. vi /etc/sudoers 위 파일에서 root ALL=(ALL) ALL 이 있는 곳을 .. 2022. 4. 20. [Hadoop] : master Server, Slave Server1, 2 설정하기 마스터 서버, 슬레이브1,2 서버의 호스트 네임을 변경해준다. IP로 접속하는 것 보다 호스트 네임으로 설정하는 것이 직관적으로 서버를 찾기 편하고 DHCP 특성상 IP가 변경되어도 호스트네임은 변경되지 않기 때문에 사용한다. 마스터 서버는 master로, 슬레이브 서버는 각각 slave1 salve2로 설정한다. hostnamectl set-hostname master hostname hostnamectl set-hostname slave1 hostname hostnamectl set-hostname slave2 hostname 이름을 모두 수정해 주었다면 다시 시작을 해주자 그럼 호스트 네임이 바뀌어있다. 재시작을 하고 나면 다시 root 계정으로 접속하자 마스터 서버와 슬레이브1,2 서버에 호스트를.. 2022. 4. 20. [Hadoop] : 하둡을 위한 CentOS 설치 및 환경 셋팅 hadoop을 위한 CentOS 설치 및 환경 셋팅 Vmware를 통해 총 3대의 CentOS 7.xx 최소 버전을 설치한다. 먼저 c드라이브에 hadoopPrj 폴더를 생성해 준다. 그리고 hadoopPrj 폴더 안에 hadoop01폴더를 생성해 주었다. Index of /centos/7.9.2009/isos/x86_64 Index of /centos/7.9.2009/isos/x86_64 mirror.navercorp.com c:/hadoopPrj/hadoop01 경로에 CentOS Minimal iso버전을 다운로드한다. [CentOS] : 센트os 다운로드 및 설치 방법 [CentOS] : 센트os 다운로드 및 설치 방법 CentOS 다운로드 및 설치하기 사전 준비 설치하기에 앞서 VMware를 설.. 2022. 4. 20. [Hadoop] : Hadoop 자문 자답 12제 1. 다음 gz로 압축된 로그 파일에 존재하는 이미지 호출에 대해 하둡분산파일시스템에 업로드하는 명령어를 작성하시오. - 이미지 파일 확장자 : jpeg, jpg, png, gif - 업로드되는 파일명 : /img/log - 로그파일 : /access_log.gz 💡 대소문자 구분) zcat access_log.gz | grep -E 'JPEG|JPG|PNG|GIF' | hadoop fs -put - /img/log 대소문자 구분없음) zcat access_log.gz | grep -Ei 'JPEG|JPG|PNG|GIF' | hadoop fs -put - /img/log 2. 다음 gz로 압축된 로그 파일에 10.250 대역의 IP 호출에 대해 하둡분산파일시스템에 업로드하는 명령어를 작성하시오. - 업로.. 2021. 12. 9. [Hadoop] : 웹 서버 배포(3부) 데이터 수집 환경설정 Flume에서 자주 사용되는 예제입니다. vi로 flume-netcat을 만들어 줍니다. # The configuration file needs to define the sources, # ths channels and the sinks. # Sources, chnnels and sinks are defined per agent, # in this case called 'agent' agent.sources = s1 agent.channels = c1 agent.sinks = k1 agent.sources.s1.type = netcat agent.sources.s1.bind = localhost agent.sources.s1.port = 10001 agent.sources.s1.ch.. 2021. 11. 18. [Hadoop] : 웹 서버 배포(2부) 웹 접속 포트 변경 8080 포트에서 10000 포트로 변경합니다. server.xml 파일 내용을 수정해 줍니다. vi server.xml 편집 모드를 통해 server를 편집해 줍니다. 위에 8080포트는 변경이 가능합니다. 포트 번호를 10000으로 변경해 줬습니다. 이 부분은 https에서 ssl 인증서가 사용된 톰켓 서버라고 보면 됩니다. 아파치와 충돌하면 안 되기 때문에 정해준 것 입니다. 웹 서버 웹 애플리케이션 서버 ws was 아파치 톰켓 nginx 간단하게 보면 웹 서버와 웹 애플리케이션 서버에서 아파치와 톰켓이 나누어 집니다. 여기서 웹 서버는 html, css, js 등을 실행할 목적으로 사용되고 웹 애플리케이션 서버는 말 그대로 애플리케이션을 돌아가게 하기 위해 만들어진 것 입니다.. 2021. 11. 18. [Hadoop] : 웹 서버 배포(1부) 웹 서버 배포 스프링 프레임워크 등 웹 프로젝트의 배포 방법은 보통 war 파일로 프로젝트를 압축하여 웹 서버에 파일을 업로드 합니다. war 파일은 압축효율 0%의 순하게 파일을 묶은 압축파일입니다. - war 파일명은 반드시 ROOT.war (대소문자 구분)으로 생성해야 합니다. tar 압축과 유사합니다. War 파일을 압축하는 방법입니다. 우클릭하여 익스포트해 줍니다. 바탕화면에 ROOT.war 파일을 생성해 줍니다. ROOT.war 파일이 정상적으로 바탕화면에 익스포트 되었습니다. war 파일을 WinSCP를 통해 옮겨줍니다. 파일이 정상적으로 들어왔습니다. cp ROOT.war /usr/local/tomcat/webapps/ cd /usr/local/tomcat/webapps/ 복사를 해주고 확.. 2021. 11. 18. [Hadoop] : Apache Flume 응용 (2부) 로그 생성용 간단한 웹 프로젝트 생성하기 Dynamic Web Project를 만들어 줍니다. 기본적인 자바 기반 웹 프로젝트는 모두 Dynamic Web Project로 구현합니다. Dynamic Web Project는 js 등 동적 프로젝트를 만들고 Static Web Project는 정적으로 HTML 등 프로젝트를 만들 때 사용합니다. 프로젝트 이름을 설정해 줍니다. 모든 WAS(톰켓 포함)은 WEB-INF 폴더 밑에 존재하는 파일만 인식할 수 있도록 설정이 되어 있습니다. 실제 톰켓에 동작, 배포하기 위해 반드시 컴파일 되는 자바파일은 WEB-INF\classes에 존재해야 합니다. Content root는 도메인 주소의 위치를 의미합니다. 변경하지 않는다면 [ localhost:8080/프로젝트.. 2021. 11. 11. [Hadoop] : Apache Flume 응용 (1부) 톰켓 WAS VMware를 실행시키고 PuTTY를 열어줍니다. apache-tomcat.tar.gz 파일을 받아줍니다. WinSCP를 통해 sw파일에 옮겨줍니다. 정상적으로 파일이 들어와 있습니다. cp apache-tomcat-8.5.70.tar.gz /usr/local/ 복사를 해 줍니다. 경로에 들어가서 확인해 보면 정상적으로 파일이 복사된 것을 볼 수 있습니다. tar -zxvf apache-tomcat-8.5.70.tar.gz 파일 압축을 풀어줍니다. 압축이 정상적으로 풀렸습니다. ln -s apache-tomcat-8.5.70 tomcat 가상디렉토리(링크)를 생성해 줍니다. tomcat에 들어가서 보면 1번부터 4번 순서로 톰켓 실행파일, 톰켓 환경설정, 톰켓 로그(이클립스 콘솔), War .. 2021. 11. 11. [Hadoop] : Flume ( 플룸 ) 셋팅 및 실행 Flume ( 플룸) - 텍스트 형태의 데이터를 수집하기 위해 사용하는 빅데이터 기술입니다. - 일반적으로 로그 수집에 사용됩니다. 예를 들면 톰켓에서 주기적으로 생성되는 웹 로그 분석에 많이 사용됩니다. - 공식적으로 윈도우 서버는 없고 리눅스에서 지원을 합니다. - 웹 서버 > 소스 > 채널 > 싱크 > 하둡 순으로 흐릅니다. - 소스 = 원천 파일을 가져가기 위한 데몬이고 가지고 가서 하둡에 보내기 위해 - 채널이란 길을 통해 전송을 하고 - 싱크를 통해 맞춰서 보냅니다. Download — Apache Flume Download — Apache Flume flume.apache.org 위 링크에서 플룸을 설치해 주면 됩니다. 받은 플룸을 winSCP를 이용해 sw파일로 옮겨줍니다. 파일이 정상적으.. 2021. 10. 28. 이전 1 2 다음 반응형