【Hadoop】- Hadoop1.x 僞分佈式環境搭建

Hadoop體系的主要組件:HDFS/MapReducejava


HDFS: Hadoop Distribution File System

NameNode、SecondNameNode:名稱節點

做用:維護Hadoop中存儲數據塊的相關信息,例如記錄hadoop集羣中某個數據塊所在的服務器位置,SecondNameNode主要是起到冗餘做用,當NameNode宕機時,可以使用SecondNameNode做爲NameNode的替代工具,防止整個Hadoop集羣的崩潰node

DataNode: 數據節點

做用: 主要是存儲HDFS數據塊的服務器,負責HDFS數據庫的存儲(讀寫)linux


MapReduce: 分佈式計算框架

  • JobTracker: 做業跟蹤器,相似司令的角色,主要用於處理做業,將做業進行分割成任務task,統一調度數據庫

  • TaskTracker:任務跟蹤器:主要管理節點上task,相似士兵的角色,向JobTracker報告服務器

  • master:JobTracker NameNode節點所在的服務器框架

  • slave: DataNode TaskTracker節點所在的服務器ssh

注意:1個Hadoop集羣只有1個JobTracker做業跟蹤器,JobTracker和NameNdoe可在同1個服務器,TaskTracker和DataNode通常在同一個服務器,一個TaskTracker管理所在服務器的任務分佈式


Hadoop僞分佈式:全部節點都在同1個服務器(開發用)ide

①:配置hadoop環境(hadoop-env.sh): export JAVA_HOME=/usr/local/java/jdk1.8.0_112 (hadoop基於Java開發,須要配置jdk)工具

②:Hadoop的核心配置:core-site.xml(例如:名稱節點、I/O配置等)

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

因是僞分佈式,這裏配置的名稱節點的ip爲localhost,實際徹底分佈式狀況須要設置實際的服務主機的ip

③:配置hdfs文件系統 hdfs-site.xml:配置dataNode的存儲位置及數據塊的備份次數

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.data.dir</name>
<value>/usr/local/hadoop-0.20.2/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

④:配置MapReduce mapred-site.xml:JobTracker節點服務器配置

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>

⑤:格式化HDFS文件系統:bin目錄自帶的hadoop命令(名稱節點服務器格式化): ./hadoop namenode –format

⑥:啓動hadoop集羣:/bin/start-all.sh :hadoop啓動腳本 查看Hadoop是否成功啓動:使用jdk自帶的jps命令,能夠查詢linux中和Java相關的進程信息:

[root@localhost bin]# jps 19344 SecondaryNameNode 19152 NameNode 19249 DataNode 19511 TaskTracker 19417 JobTracker 19551 Jps

**結果:**顯示Hadoop關鍵的守護進程的信息代表hadoop僞集羣成功啓動

注意:這裏是使用僞分佈式的hadoop,徹底分佈式須要配置各個節點的ssh的公鑰共享,無需ssh密碼登錄就可實現hadoop集羣中各個節點之間的數據傳輸,僞分佈式經過單點模擬hadoop集羣,只需將本身的公鑰加入authorized_keys便可。

相關文章
相關標籤/搜索