
Add Group + rocky(users), win7(users,managed)

사용자 추가 admin:owncloud, users: rocky, win7

disk quota 500MB

10, 10mb
settings


All files -> owncloud 폴더 생성


다음 문제를 해결하기 위해서,

/var/www/owncloud/config/config.php

array (
0 => 'localhost','192.168.100.180', // localhost에 추가로 다음과 같이 IP 설정
),
'overwrite.cli.url' => 'http://localhost','http://192.168.100.180/owncloud',





링크로도 들어갈 수 있음.

이런식으로 클라우드 서비스

앞에 php 서버도 실행
systemctl start apache2 => 웹 서버 구동
198 systemctl start mysql => mysql 구동
199 ufw allow 80/tcp => http 방화벽 허용
201 netstat -nltp |grep LISTEN => 확인
202 ufw allow 3306/tcp => mysql 방화벽 허용
203 netstat -nltp |grep LISTEN
204 mysql -u root -p => sql 접속
설정 후
208 systemctl restart mysql
209 nano -c /var/www/owncloud/config/config.php
=> own 클라우드 설정파일.
210 sudo systemctl restart apache2
Hadoop은 클라우드 환경에서 사용되는 분산 파일 시스템(HDFS: Hadoop Distributed File System) 을 기반으로 한다.
HDFS는 데이터를 여러 노드에 분산 저장하여, 사용자가 가까운 위치의 노드에서 데이터를 빠르게 사용할 수 있도록 지원한다.
→ 이러한 개념은 CDN(Contents Delivery Network) 과 유사하다.
Hadoop과 관련된 여러 서비스들을 묶어 Hadoop EcoSystem이라고 부르며,
주요 구성요소로는 ZooKeeper, Avro, Chukwa, Flume, Pig, Hive, HBase, Sqoop, Impala, Woozie 등이 있다.
Hadoop은 클라우드와 같은 분산 파일 시스템에서 다음과 같은 다양한 작업을 수행한다:
요약하면:
Hadoop 서버 = 클라우드 환경에서 데이터를 분산 저장하고 병렬 처리하기 위한 오픈소스 플랫폼
(HDFS + 여러 도구로 구성된 EcoSystem 구조)

<키:값> 형태의 JSON 포맷으로 저장된다.👉 이러한 병렬 처리 덕분에 Hadoop은 매우 빠른 데이터 처리 속도를 가진다.
Map 과정이 끝난 뒤 Reduce 과정이 실행된다.
| 구분 | RDBMS (MySQL, Oracle, MSSQL 등) | NoSQL (MongoDB, Cassandra 등) |
|---|---|---|
| 데이터 구조 | 스키마(Schema)를 지정해야 함 (이름, 타입, 크기 정의 필요) | 스키마 지정 없이 <키:값> 형태로 저장 |
| 데이터 저장 형태 | 정형 데이터 중심 | 비정형 데이터(문서, 동영상, 이미지 등)도 저장 가능 |
| 유형 예시 | 관계형 테이블 기반 | JSON 기반 문서 저장 |
| 사용 예시 | 고객 정보, 거래 내역 등 구조화된 데이터 | SNS 게시글, 로그, 이미지, 동영상 등 비정형 데이터 |
데이터 구조:
<키:값> 형태로 구성한다.| 역할 | 설명 |
|---|---|
| NameNode (서버 역할) | 데이터의 키(메타데이터) 만 저장한다. (작은 용량으로 가능) |
| DataNode (클라이언트 역할) | 실제 데이터를 분산 저장한다. (큰 용량 필요) |
Hadoop은
<키:값>구조 기반의 분산 파일 시스템으로,
NameNode가 데이터의 위치와 메타데이터를 관리하고,
DataNode가 실제 데이터를 분산 저장한다.
MapReduce를 통해 데이터를 병렬 처리하며, 장애 발생 시에도 안정적으로 복구 가능한 클라우드형 분산 처리 시스템이다.

ubuntu에서 hduser 사용자를 생성해본다.
adduser hduser → pw : hduser
echo "hduser ALL=(ALL) ALL" >> /etc/sudoers
sudoers 파일에 가입 => 모든 권한 허용 (sudo가능 )
sudo apt update를 통해 update를 진행해준다.
sudo apt -y install default-jdk

#JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=JAVA_HOME/bin

deb https://ppa.launchpadcontent.net/ondrej/php/ubuntu focal main
#deb-src https://ppa.launchpadcontent.net/ondrej/php/ubuntu focal main

참고: myisam => mysql을 움직이는 엔진
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4f4ea0aae5267a6c
sudo apt -y install apache2
sudo apt -y install mysql-server
sudo service mysql start && sudo service apache2 start
sudo chmod 755 -R /home/
sudo apt -y install net-tools // netstat 과 같은 명령어 사용에 필요
sudo apt -y install ssh
sudo ufw disable
//원래는 개별적으로 필요한 서비스에 한해 열어주는 것이 좋음
ssh-keygen -t rsa -P "” // 키 생성
hduser/.ssh 디렉터리에 존재하는 파일들을 확인해본다.
cat .ssh/id_rsa.pub >> .ssh/authorized_keys
명령어를 통해 authorized_keys를 생성
chmod +x .ssh/authorized_keys
이후 ssh hduser@ubuntu18-1 명령어를 통해 ssh 연결을 시도해보면
키가 존재하기 때문에 크레덴셜 인증 없이 키를 통해 로그인이 되는
모습을 확인할 수 있다.
wget https://archive.apache.org/dist/hadoop/core/hadoop-1.2.0/hadoop-1.2.0.tar.gz
// hadoop 다운로드 실습 안정성을 위해 1버전을 다운로드
Single Mode Hadoop (단일 모드)
Multi Mode Hadoop (다중 모드)
여러 대의 컴퓨터에 분산되어,
실제 운영 환경(Production) 에서는 대부분 Multi Mode를 사용한다.
Hadoop은
- 단일 머신에서 동작하는 Single Mode
- 여러 노드가 협력하는 Multi Mode
두 가지 형태로 구성할 수 있으며,
실무에서는 Multi Mode 클러스터 환경이 일반적으로 사용된다.
sudo tar xvfz hadoop-1.20.tar.gz -C /usr/local

7 sudo apt -y install apache2
8 sudo rm -f /var/lib/dpkg/lock-frontend
9 sudo dpkg --configure -a
10 sudo apt -y install apache2
11* sudo apt -y install libapache2-mod-php7.2 openssl php-imagick php7.2–common php7.2-curl php7.2-gd php7.2-imap php7.2-intl php7.2-json php7.2-ldap php7.2- mbstring php7.2-mysql php7.2-pgsql php-smbclient php-ssh2 php7.2-sqlite3 php7.2 -xml php7.2-zip --fix-missing
12 sudo apt -y install libapache2-mod-php7.2 openssl php-imagick php7.2-common php7.2-curl php7.2-gd php7.2-imap php7.2-intl php7.2-json php7.2-ldap php7.2-mbstring php7.2-mysql php7.2-pgsql php-smbclient php-ssh2 php7.2-sqlite3 php7.2-xml php7.2-zip --fix-missing
13 sudo apt -y install mysql-server
14 sudo service mysql start && sudo service apache2 start
15 sudo chmod 755 -R /home/
16 php -v
17 apache2 -v
18 mysql -V
19 sudo apy -y install net-tools
20 sudo apt -y install net-tools
21 netstat -nltp |grep LISTEN
22 sudo apt -y install ssh
23 sudo ufw disable
24 ssh-keygen -t rsa -P ""
25 ls -al /home/hduser/.ssh
26 cd /home/hduser/
27 ls
28 ls -a
29 cat .ssh/id_rsa.pub >> .ssh/authorized_keys
30 ls -a .ssh/
31 cat -a .ssh/
32 cat .ssh/authorized_keys
33 chmod +x .ssh/authorized_keys
34 ssh hduser@ubuntu18-1
35 wget http://archive.apache.org/dist/hadoop/core/hadoop-1.2.0/hadoop-1.2.0.tar.gz
36 sudo tar xvfz hadoop-1.20.tar.gz -C /usr/local
37 sudo tar xvfz hadoop-1.20.tar.gz -C /usr/local/
38 sudo tar xvfz hadoop-1.2.0.tar.gz -C /usr/local/
39 ls /usr/local/
40 sudo mv /usr/local/hadoop-1.2.0 /usr/local/hadoop
41 ls /usr/local/
42 sudo chmod 777 -R /usr/local/hadoop/
43 sudo chown hduser:hduser -R /usr/local/hadoop/
44 ls -dl /usr/local/hadoop/
45 sudo nano ~/.bashrc
46 source ~/.bashrc
47 echo $HADOOP_HOME
48 echo $PATH
49 LS $HADOOP_HOME/bin
50 ls $HADOOP_HOME/bin
51 ls $HADOOP_HOME/sbin
52 hadoop version
53 cd $HADOOP_HOME/conf && ls



core-site.xml

mapred-site.xml

hdfs-site.xml

HDFS(Hadoop Distributed File System) 은 데이터를 로컬 Ubuntu 호스트에서 Hadoop 클러스터(DataNode) 로 업로드하거나,
반대로 Hadoop 클러스터에 저장된 데이터를 로컬 호스트로 내려받는 역할을 한다.
HDFS는 데이터를 분산 저장하고, Mapping(매핑) 과 Reducing(리듀싱) 과정을 통해 데이터를 처리한다.
Hadoop 작업은 GitHub, ownCloud 등 외부 저장소에서 내려받아 클러스터 내 노드들이 병렬로 작업을 수행한 뒤,
결과를 다시 통합하여 새로운 데이터 세트를 생성하는 구조다.
NameNode (마스터 노드)
DataNode (슬레이브 노드)
| 구성요소 | 역할 |
|---|---|
| JobTracker (마스터) | 전체 클러스터의 MapReduce 작업을 관리하고, 각 노드에 작업을 분배 |
| TaskTracker (슬레이브) | 각 DataNode에서 실제 Map, Reduce 작업을 실행하고 상태를 JobTracker에 보고 |
Hadoop은 HDFS를 이용해 데이터를 분산 저장하고,
MapReduce 구조(JobTracker ↔ TaskTracker) 로 병렬 처리함으로써
대용량 데이터를 빠르게 분석할 수 있는 분산 컴퓨팅 시스템이다.


jar => java 실행 파일.


chunk 사이즈가 일정한 이유
먼저 Single mode Hadoop(즉, 하나의 머신에 NameNode와 DataNode가 함께 있는 환경)을 만든다.
이 환경을 복제하여 여러 노드로 분산시킨다.
master(=NameNode) 1대 + slave(=DataNode) 여러 대클러스터 내부에서 NameNode가 JobTracker처럼 작업을 분배하고,
DataNode(TaskTracker)는 실제 연산을 수행한다.
이 개념은 Docker Swarm이나 Kubernetes(K8s) 와 유사하다.
이들 또한
“기본 머신(컨테이너 혹은 노드)을 하나 생성한 뒤,
이를 복제해 여러 개의 머신(노드)으로 확장하는 구조”
를 사용한다.
✅ 정리 문장
Multi Mode Hadoop은 Single Mode 환경을 여러 노드로 복제해
분산 처리 환경을 구축하는 구조이며,
Docker Swarm이나 Kubernetes의 노드 확장 원리와 동일한 기본 개념을 가진다.
멀티실습

클론 2개
hostname
networkinterfaces 설정
hosts 설정


windows server에 가서
그리고 superPutty를 켜서 진행


마스터만 들어올 수 있음.

slave2-> master

master-> slave1
이제 마스터와 슬레이브에서 지정으로


localhost->ubuntu18-1

localhost->ubuntu18-1

1->3


master이기 때문에 datanode는 안보임.

Slave이기 때문에 보이는 환경이 다름.

Slave2도 마찬가지

master를 제외한 slave2개 == Live Nodes

log를 가지고 있음.


작업 로그
Multi Mode Hadoop을 구축하면 비로소 HDFS(Hadoop Distributed File System) 를 정상적으로 분산 환경에서 사용할 수 있다.
Master 노드에는 주로 아래와 같은 서비스나 분석 도구를 설정한다:
Python / R 환경을 추가로 구성하면,
예를 들어,
Multi Mode Hadoop 환경에서는
HDFS 분산 저장 + SQL/NoSQL + Python/R 분석을 결합해
DataNode들이 병렬로 데이터를 처리하고,
Master가 이를 통합함으로써 고속 대용량 데이터 분석이 가능하다.