1. 程式人生 > 其它 >Hadoop叢集搭建之完全分散式搭建

Hadoop叢集搭建之完全分散式搭建

1. Hadoop叢集搭建的三種模式

  • 本地執行模式
    無需執行任何守護進行,所有程式都在單個JVM上執行
  • 偽分散式執行模式
    Hadoop對應的Java程序都執行在一個物理機器上
  • 完全分散式執行模式
    Hadoop對應的Java程序都執行在多臺物理機器上

2. 具體步驟及解釋

1. 準備安裝環境

  # 將hadoop-3.1.2.tar.gz從官網上下載,上傳到/opt目錄,解壓,刪除
  tar -zxvf hadoop-3.1.2.tar.gz
  rm -rf hadoop-3.1.2.tar.gz

2. 修改叢集環境

  cd /opt/hadoop3.1.2/etc/hadoop  
  • 配置檔案之hadoop-env.sh

    作用:配置環境變數
  export JAVA_HOME=/usr/local/java/jdk1.8.0_261
  export HDFS_NAMENODE_USER=root
  export HDFS_DATANODE=root
  export HDFS_SECONDARYNAMENODE_USER=root
  • 配置檔案之coer-site.xml
    作用如下:
  寫到configuration標籤中
  <property>
  <name>fs.defaultFS</name> # 如果hdfs-site.xml中不配置namenode和datanode存放檔案的位置,預設就放在這個路徑中
  <value>hdfs://node001:9000</value>
  </property>

  <property>
  <name>hadoop.tmp.dir</name> # hadoop檔案系統依賴的基礎配置,很多路徑都依賴他
  <value>/var/bdp/hadoop/full</value>
  </property>
  • 配置檔案之hdfs-site.xml
    作用如下:
  <property>
  <name>dfs.namenode.secondary.http-address</name> # 配置SNN的web地址
  <value>node002:50090</value>
  </property>

  <property>
  <name>dfs.namenode.secondary.http-address</name> # 配置SNN的web地址
  <value>node002:50091</value>
  </property>

  <property>
  <name>dfs.replication</name> # 配置副本的數量,一般最小值為3,否則會影響到資料的可靠性
  <value>2</value>
  </property>
  • 配置檔案之workers
  node001
  node002
  node003
  • 拷貝分發軟體
  cd /opt/
  scp -r hadoop-3.1.2 node002:/opt/
  scp -r hadoop-3.1.2 node003:/opt/
  • 修改環境變數
  vim /etc/profile

  export HADOOP_HOME=/opt/hadoop-3.1.2
  export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

  source /etc/profile
  
  scp /etc/profile node002:/etc/
  scp /etc/profile node003:/etc/

  ssh root@node002 "source /etc/profile"
  ssh root@node003 "source /etc/profile"

3. 關於SSH免密碼登入

  私鑰:金鑰留在本機
  公鑰:金鑰留在本機

  node001:
  生成金鑰:
  ssh-keygen -t rsa(金鑰存放位置:/root/.ssh , id_rsa私鑰, id_rsa.pub公鑰)
  傳送私鑰(本機):
  ssh-copy-id localhost(需要輸入node001結點的密碼)
  傳送公鑰(其他計算機node002):
  ssh-copy-id node002(需要輸入node001結點的密碼)
  傳送公鑰(其他計算機node003):
  ssh-copy-id node003(需要輸入node003結點的密碼)

  測試免金鑰登入;
  ssh localhost
  ssh node002
  ssh node003

4. 格式化NameNode

  hdfs namenode -format
  start-dfs.sh

5. 測試叢集

在瀏覽器中輸入192.168.200.1         32:9870或192.168.200.135:50091

6. 關閉叢集

stop-dfs.sh

本文來自部落格園,作者:jsqup,轉載請註明原文連結:https://www.cnblogs.com/jsqup/p/15952611.html