Hướng dẫn cài đặt hadoop trên ubuntu năm 2024

Cài đ t Hadoop trên Linux (Ubuntu)ặ Hadoop m nh mẽẽ và hạ ữu d ng ch khi đ ụ ỉ ược cài đ t và khai thác nó trên nhiêều nodẽ, ặ tuy nhiên v i ngớ ười bắắt đầều thì Hadoop Singlẽ nodẽ là s ự kh i đầều tuy t v i đở ệ ờ ểlàm quẽn v i hadoop. Bài viêắt này mình sẽẽ hớ ướng dầẽn các b n tri n khai Hadoop trên 1 ạ ể nodẽ ( Hadoop Singlẽ nodẽ). Đầều tên cài đ t Opẽnjdkặ (b n 8, 11 hay 15 đêều đả ược) thẽo cầu l nh sau:ệ

Cài đ t thành côngặ (/usr/lib/jvm/ th ư m c c a Opẽnjdk11)ụ ủ

Cài đ t SSH cliẽnt và SSH sẽrvẽr thẽo cầu l nh:ặ ệ

Filẽ /ẽtc/ssh/sshd_config Cài đ t thành côngặ

Thiêắt l p Usẽr cho Hadoop:ậ T o c p khóa SSH và xác đ nh v trí sẽẽ đạ ặ ị ị ược l ưu tr : ữ

H ệ thôắng sẽẽ têắn hành t o và lạ ưu c p khóa SSH : ặ

S ử d ng l nhụ ệ cat đ ể ưl u public key vào authorized_keys trong th ư m c c a SSH:ụ ủ

Phần quyêền cho ng ười dùng v i l nh ớ ệ chmod :

Xác minh m i thọ ứ đ ược thiêắt l p chính xác bắềng cách ssh đêắn localhost: ậ

Cấấu hình và tri n khai Hadoop Single Node (Pseudo-Distributed Mode)ể

Đ ể cầắu hình Hadoop cho chêắ đ ộ phần phôắi gi ả chúng ta sẽẽ ch nh s a các t p filẽ cầắuỉ ử ậ hình c a Hadoop trong đủ ường dầẽn etc/hadoop và trong filẽ cầắu hình môi tr ường gôềm các filẽ sau : .bashrc hadoop-ẽnv corẽ-sitẽ.xml hdfs-sitẽ.xml maprẽd-sitẽ.xml Cấấu hình biếấn môi tr ường Hadoop ( fle .bashrc) M ở filẽ c a .bashrc c a b n bắềng trình so n th o nano :ủ ủ ạ ạ ả

Xác đ nh biêắn môẽi trị ường Hadoop bắềng cách thêm các biêắn sau vào cuôắi filẽ ( nhớ ch nh s a đỉ ử ường dầẽn $HADOOP_HOME cho đúng v i đớ ường dầẽn mà b n đã đ t ạ ặ hadoop)

Áp d ng các thay đ i trên bắềng cách th c hi n l nh sau :ụ ổ ự ệ ệ

Ch nh sỉ ửa fle hadoop-env

M ở filẽ hadoop-ẽnv bắềng trình so n th o nano :ạ ả

Ch nh sỉ ửa fle core-site

M ở filẽ corẽ-sitẽ.xml bắềng trình so n th o nano :ạ ả sudo nano /usr/local/hadoop/ẽtc/hadoop/corẽ-sitẽ.xml

ch nh sỉ ửa fle hdfs-site M ở filẽ corẽ-sitẽ.xml bắềng trình so n th o nano :ạ ả sudo nano /usr/local/hadoop/ẽtc/hadoop/hdfs-sitẽ.xml

YARN (Yẽt-Anothẽr-Resource-Nẽgotator) là m t framẽwork hôẽ trộ ợ phát tri nể ứng d ng phần tánụ YARN cung cầắp daẽmons và APIs cầền thiêắt cho vi c phát tri nệ ể ứng d ng phần tán, đôềng th i xụ ờ ử lý và l p l ch sậ ị ử d ng tài nguyên tnh toán (CPU hayụ mẽmory) cũng nh ư giám sát quá trình th c thi cácự ứng d ng đó. ụ

DFS là tến viếất tắất c a hủ ệ thôấng t p phấn tán, là hệ ệ thôấng t p lệ ưu tr ữ d ữ li u trếnệ máy chủ. Truy c p và xậ ử lý d ữ li u nhệ ư đ ược l ưu tr ữ trên máy khách c c b. Thôngụ ộ qua DFS, b n có thạ ể dêẽ dàng chia s ẻ thông tn và t p giệ ữa nh ững ng ười dùng trên m ng m t cách có ki m soát và đạ ộ ể ược ủy quyêền.

Kiểm tra Yarn resource manager tại cổng 8088 : locahost:

Thêm vào gi ữa 2 th ẻ configuraton c aủ fle core-site <propẽrty> <namẽ>fs.trashẽrval</namẽ>

Đã chuy n: 'hdfs://localhost:54310/ẽxamplẽ.dẽsktop' vào thùng rác t i:ể ạ hdfs://localhost:54310/usẽr/hdusẽr//Currẽnt /ẽxamplẽ.dẽsktop

Đầều tên ta t i Hadoop và jdk 1ả dlcdnẽ.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar oraclẽ.com/java/tẽchnologiẽs/javasẽ/javasẽ8-archivẽ-downloads

Sau khi t i xong, chúng ta gi i nén và cài đ t jdkả ả ặ

Sau khi cài đ t xong, taặ Thiêắt l p biêắn môi trậ ường cho Java JDK Cầền cầắu hình biêắn môi tr ường JAVA_HOME cho Java JDK

Tiêắp thẽo cầắu hình Path (cho c ả usẽr và systẽm variablẽ). Tìm t i biêắn Path, nhầắn Edit:ớ

Tiêắp thẽo là cài đ t Hadoopặ Tiêắp thiêắt l p biêắn môi trậ ường cho Hadoop T ương t ự nh ư JAVA JDK, ta cầền cầắu hình biêắn môi tr ường cho Hadoop (HADOOP_HOME)

Lầền l ượt trong usẽr và systẽm variablẽ thêm biêắn HADOOP_HOME có giá tr là ị C:\hadoop-3.3\bin mà ta gi i nénả ởtrên.

Tôi viết tiếp theo phần 1 ở đây

3. Cấu hình các tập tin XML Hadoop

Tất cả các file cấu hình hadoop nằm trong thư mục /usr/local/hadoop/hadoop-2.7.0/etc/hadoop

Đầu tiên, thực hiện lệnh dưới đây:

cd /usr/local/hadoop/hadoop-2.7.0/etc/hadoop

  • Cấu hình tập tin

    nano core-site.xml

    4: Mở tập tin

    nano core-site.xml

    4:

    nano core-site.xml

    Thêm các dòng dưới đây:

    <configuration>

    <property>  
            <name>fs.default.name</name>  
            <value>hdfs://localhost:9000</value>  
    </property>  
    
    </configuration>

  • Cấu hình tập tin

    nano core-site.xml

    6: Mở tập tin

    nano core-site.xml

    6:

    cp /usr/local/hadoop/hadoop-2.7.0/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/hadoop-2.7.0/etc/hadoop/mapred-site.xml nano mapred-site.xml

    Thêm các dòng dưới đây:

    <configuration>  
      <property>  
              <name>mapred.job.tracker</name>  
              <value>localhost:9001</value>  
      </property>  
      <property>  
              <name>mapreduce.framework.name</name>  
              <value>yarn</value>  
      </property>  
    
    </configuration>
  • Cấu hình tập tin

    nano core-site.xml

    8: Mở tập tin

    nano core-site.xml

    8:

    nano yarn.site.xml

    Thêm các dòng dưới đây:

    <configuration>  
      <property>  
              <name>yarn.nodemanager.aux-services</name>  
              <value>mapreduce-shuffle</value>  
      </property>  
      <property>  
              <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>  
              <value>org.apache.hadoop.mapred.shuffleHandler</value>  
      </property>  
    
    </configuration>

4. Tạo thư mục và phân quyền namenode và datanode.

Các file HDFS-site.xml được sử dụng để xác định các thư mục namenode và datanode.

Trong đó:

  • Namenode:
    • NameNode còn được gọi là Master.
    • NameNode chỉ chứa siêu dữ liệu của HDFS - cây thư mục của tất cả các tệp trong hệ thống tệp và theo dõi các tệp trên toàn bộ cụm.
    • NameNode không lưu trữ dữ liệu thực tế hoặc tập dữ liệu. Dữ liệu chính nó thực sự được lưu trữ trong DataNodes.
    • NameNode biết danh sách các khối và vị trí của nó cho bất kỳ tệp tin nào trong HDFS. Với thông tin này NameNode biết làm thế nào để xây dựng các tập tin từ các khối.
    • NameNode rất quan trọng đối với HDFS và khi NameNode bị lỗi, cụm HDFS / Hadoop không thể truy cập được và được coi là xuống.
    • NameNode thường được cấu hình với rất nhiều bộ nhớ (RAM). Bởi vì các vị trí khối được giúp đỡ trong bộ nhớ chính.
  • Datanode:
    • DataNode có trách nhiệm lưu trữ dữ liệu thực tế trong HDFS.
    • DataNode còn được gọi là Slave.
    • NameNode và DataNode trao đổi data liên tục trong hệ thống.
    • Khi một DataNode khởi động nó tự thông báo cho NameNode cùng với danh sách các khối mà nó chịu trách nhiệm.
    • Khi DataNode bị lỗi, nó sẽ không ảnh hưởng đến sự sẵn có của dữ liệu hoặc cụm. NameNode sẽ sắp xếp sao chép cho các khối được quản lý bởi DataNode không có sẵn.
    • DataNode thường được cấu hình với rất nhiều không gian đĩa cứng. Bởi vì dữ liệu thực tế được lưu trữ trong DataNode.
Tạo hai thư mục namenode và datanode và phân quyền cho user đã tạo cho Hadoop ở trên:

    sudo mkdir -p /usr/local/hadoop_store/hdfs/namenode
    sudo mkdir -p /usr/local/hadoop_store/hdfs/datanode
    sudo chown -R hduser /usr/local/hadoop_store

Tiếp theo cấu hình file

<configuration>
    <property>
            <name>fs.default.name</name>
            <value>hdfs://localhost:9000</value>
    </property>
</configuration>

0

  • Mở tập tin

    <configuration>

    <property>  
            <name>fs.default.name</name>  
            <value>hdfs://localhost:9000</value>  
    </property>  
    
    </configuration>

    0:

    nano hdfs-site.xml

  • Thêm các dòng dưới đây:
    <configuration>  
            <property>  
                    <name>dfs.replication</name>  
                    <value>4</value>  
            </property>  
            <property>  
                    <name>dfs.namenode.name.dir</name>  
                    <value>file:/usr/local/hadoop_store/hdfs/namenode</value>  
            </property>  
            <property>  
                    <name>dfs.datanode.name.dir</name>  
                    <value>file:/usr/local/hadoop_store/hdfs/datanode</value>  
            </property>  
    </configuration>  
    
    • Lưu file

      <configuration>

         <property>  
                 <name>fs.default.name</name>  
                 <value>hdfs://localhost:9000</value>  
         </property>  
      
      </configuration>

      0

5. Kết thúc

  • Định dạng tập tin hệ thống hadoop bằng cách chạy hdfs namenode. Định dạng để khởi tạo hệ thống tập tin. Thực hiện lệnh dưới đây:

    nano core-site.xml

    0
  • Bắt đầu tạo một single node cluster:

    nano core-site.xml

    1

    nano core-site.xml

    2

    nano core-site.xml

    3
  • Mở browser và xem kết quả:
  • https://ip_address:8088 (main cluster)
  • https://ip_address:50070 (see detail information)

Tài liệu tham khảo:

  1. Install Hadoop On Ubuntu - Install Hadoop on Ubuntu 16.04 or later