Hadoop-hdfs安裝與配置


一、安裝要求

  安裝JDK
    yum -y install jdk(或手動安裝)
  設置namenode節點到datanode節點的免密碼登陸
    a. 本地免密碼登錄
      # ssh localhost #檢測能否在本機上實現免密碼登陸
      # ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa #創建登陸的公鑰和私鑰,公鑰放在id_dsa.pub中,私鑰放在id_dsa中
      # cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys #將公鑰追加到已認證信息中
      # ssh localhost #實現免密碼登陸
    b. 跨主機免密碼登陸
      # scp ~/.ssh/id_dsa.pub root@node2:~/.ssh/ #在namenode上執行
      # cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys #將公鑰追加到已認證信息中,在datanode上執行該操作
    c. 對所有的datanode執行上述操作
  設置域名解析(在所有的節點增加)
    # vi /etc/hosts # 增加節點對應節點,如果不加入節點則在配置文件中需要直接寫節點的IP
      192.168.150.128 node1
      192.168.150.129 node2
      192.168.150.130 node3
      192.168.150.131 node4
    

二、安裝

  由於hadoop有bin包,所以hadoop下載后只需要解壓即可使用。
  版本hadoop-1.2.1
  namenode和datanode上軟件包的放置位置要完全相同,否則在集群啟動服務的時候會出現找不到文件的情況。
  在軟件解壓到/root/hadoop-1.2.1文件夾

三、配置  

核心模塊的配置
  #vi /root/hadoop-1.2.1/conf/core-site.xml
    <configuration>
     <property>

       <name>fs.default.name</name> # namenode節點名

      <value>hdfs://node1:9000</value> #namenode域名(或IP)和端口

     </property>

     <property>

      <name>hadoop.tmp.dir</name> #文件儲存目錄

       <value>/opt/hadoop-1.2</value> #fs的放置位置

     </property>

    </configuration>

    其它具體配置可以查看./hadoop-1.2.1/docs的文檔。

  #vi /root/hadoop-1.2.1/conf/hdfs-site.xml
    <configuration>

     <name>dfs.replication</name> #block的副本數,不能超過datanode的數目

    <value>2</value>

    </configuration>

  #vi /root/hadoop-1.2.1/conf/slaves #該文件設置datanode節點的域名(IP)

    node2

    node3

  #vi /root/hadoop-1.2.1/conf/masters #該文件設置secondarynamenode節點的域名(IP)

    node2 # 只要跟namenode不在同一台機器上即可
  
  #vi /root/hadoop-1.2.1/conf/hadoop-env.sh #設置運行環境

    export JAVA_HOME=/usr/java/jdk1.7.0_79 # 只要設置jdk的目錄即可

  在所有的節點上進行上述的相同配置。

四、測試

  # /root/hadoop-1.2.1/bin/hadoop namenode -format #進行格式化,創建dfs
  # /root/hadoop-1.2.1/bin/start-dfs.sh #啟動dfs服務


  # jps #查看啟動的java進程(namenode上)
   
  # jps #查看啟動的java進程(datanode上)
   
  在瀏覽器上輸入namenode的IP和端口,即可進入文件系統
   http://192.168.150.128:50070
   注意:如果要進入子目錄,那么要在windows上hosts文件也設置同樣的域名解析,否則瀏覽器會提示錯誤,因為沒有對應的ip時瀏覽器會訪問外網。
  文件傳輸和執行java程序
    # /root/hadoop-1.2.1/bin/hadoop -fs -put file input #將file文件傳輸到文件系統的root用戶下的input目錄
    # /root/hadoop-1.2.1/bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+' # 執行jar程序
    
    # /root/hadoop-1.2.1/bin/hadoop fs -get output output 獲取並在本地文件系統中顯示數據
    # cat output/*
    或 #/root/hadoop-1.2.1/bin/hadoop fs -cat output/*
  關閉進程
    # /root/hadoop-1.2.1/bin/stop-dfs.sh

五、總結  

  雖然說hdfs是文件系統,但本質上並沒有格式化本機上的硬盤,所以其實只是硬盤上的一種特殊的文件儲存格式,並且必須通過IP:PORT進行訪問。實質上在配置並啟動了集群之后,集群之間便會進行網絡通信,並通過namenode的IP和指定端口(50070)對外提供訪問。

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM