Chuẩn bị

1. Tạo 3 máy ảo (VM) ubuntu 16.04 với các hostname lần lượt là node-master, node1, node2 với cấu hình như dưới:
node-master:
  CPU: 1 core
  RAM: 1024 MB
  Network:
    Adapter 1: Host-only Adapter
    Adapter 2 (Option: for internet connection): Bridge Adapter

node1:
  CPU: 2 core
  RAM: 2048 MB
  Network:
    Adapter 1: Host-only Adapter
    Adapter 2 (Option: for internet connection): Bridge Adapter

node2:
  CPU: 2 core
  RAM: 2048 MB
  Network:
    Adapter 1: Host-only Adapter
    Adapter 2 (Option: for internet connection): Bridge Adapter

Các bước dưới đây mặc định được thực hiện trên node-master nếu không nói là node nào

2. Sử dụng user lúc cài đặt ubuntu để install packages, tạo user hadoop để chạy các hadoop services

3. Cấu hình network interfaces cho các VMs ví dụ như sau:
node-master:
  auto enp0s3
  iface enp0s3 inet static
  address 192.168.99.100
  netmask 255.255.255.0
  network 192.168.99.0

  auto enp0s8
  iface enp0s8 inet dhcp

node1:
  auto enp0s3
  iface enp0s3 inet static
  address 192.168.99.101
  netmask 255.255.255.0
  network 192.168.99.0

  auto enp0s8
  iface enp0s8 inet dhcp

node2:
  auto enp0s3
  iface enp0s3 inet static
  address 192.168.99.102
  netmask 255.255.255.0
  network 192.168.99.0

  auto enp0s8
  iface enp0s8 inet dhcp

4. Install Oracle JDK 8:
  - sudo apt-get install software-properties-common
  - sudo add-apt-repository ppa:webupd8team/java
  - sudo apt-get update
  - sudo apt-get install oracle-java8-installer

Kiến trúc Hadoop Cluster

Một master node sẽ kiểm soát và theo dõi hệ thống file phân tán (DFS - distributed file system) và lập lịch cho việc phân bổ các tài nguyên. Máy node-master sẽ đảm nhận vai trò này và chạy 2 services ngầm:

  • NameNode: quản lý DFS 
  • ResourceManager: quản lý YARN jobs và lập lịch việc thực thi các tác vụ trên các slave nodes

Các Slave nodes là nơi thực sự lưu trữ data và cung cấp sức mạnh phần cứng để chạy các jobs. Trong trường hợp này ta có máy node1 và node2 đóng vai trò slave nodes, chúng sẽ chạy 2 services ngầm:

  • DataNode: quản lý dữ liệu vật lý thực của DFS trên node
  • NodeManager: quản lý việc thực thi các tasks trên node 

 

Cấu hình hệ thống 

Cấu hình host file trên mỗi node

Các node giao tiếp với nhau qua tên của chúng, sửa file /etc/hosts (continue....)