hadoop集羣部署

1、Hadoop框架簡介
Hadoop的框架最核心的設計就是:HDFS和MapReduce。HDFS爲海量的數據提供了存儲,則MapReduce爲海量的數據提供了計算。java

HDFS(Hadoop Distribution File System),稱爲Hadoop分佈式文件系統,主要特色:node

HDFS最小以64MB的數據塊存儲文件,相比其餘文件系統中的4KB~32KB分塊大得多。 HDFS在時延的基礎上對吞吐量進行了優化,它可以高效處理了對大文件的讀請求流,但不擅長對衆多小文件的定位請求 HDFS對普通的「一次寫入,屢次讀取」的工做負載進行了優化。 每一個存儲節點運行着一個稱爲DataNode的進程,它管理着相應主機上的全部數據塊。這些存儲節點都由一個稱爲NameNode的主進程來協調,該進程運行於一臺獨立進程上。 與磁盤陣列中設置物理冗餘來處理磁盤故障或相似策略不一樣,HDFS使用副原本處理故障,每一個由文件組成的數據塊存儲在集羣衆的多個節點,HDFS的NameNode不斷監視各個DataNode發來的報告。
(1)MapReduce工做原理
客戶端,提交MapReduce做業;jobtracker,協調做業的運行,jobtracker是一個java應用程序,它的主類是JobTracker;tasktracker。運行做業劃分後的任務,tasktracker是一個java應用程序,TaskTracker是主類。web

(2)Hadoop優勢
Hadoop是一個可以讓用戶輕鬆架構和使用的分佈式計算平臺。用戶能夠輕鬆地在Hadoop上開發和運行處理海量數據的應用程序。它主要有如下幾個優勢:apache

高可靠性:Hadoop按位存儲和處理數據的能力值得人們信賴。服務器

高擴展性:Hadoop是在可用的計算機集簇間分配數據並完成計算任務的,這些集簇能夠方便地擴展到數以千計的節點中。網絡

高效性:Hadoop可以在節點之間動態地移動數據,並保證各個節點的動態平衡,所以處理速度很是快。架構

高容錯性:Hadoop可以自動保存數據的多個副本,而且可以自動將失敗的任務從新分配。app

低成本:與一體機、商用數據倉庫以及QlikView、Yonghong Z-Suite等數據集市相比,hadoop是開源的,項目的軟件成本所以會大大下降。框架

Hadoop帶有用Java語言編寫的框架,所以運行在 Linux 生產平臺上是很是理想的。Hadoop 上的應用程序也可使用其餘語言編寫,好比 C++。webapp

Hadoop官網:http://hadoop.apache.org/
2、部署hadoop集羣
①下載安裝包
mkdir /root/software
mkdir /home/hadoop 我將全部的服務都放在了home下,具體狀況根據磁盤情況而定
cd /root/software
wget http://s***.hc-yun.com:10081/down/hadoop-2.8.4.tar.gz
hadoop集羣部署
②解壓到指定目錄
tar zxvf hadoop-2.8.4.tar.gz -C /home/hadoop/
③配置hadoop-env.sh文件
hadoop集羣部署
④配置yarn.sh文件
hadoop集羣部署
Hadoop 3種運行模式

本地獨立模式:Hadoop的全部組件,如NameNode,DataNode,Jobtracker,Tasktracker都運行在一個java進程中。

僞分佈式模式:Hadoop的各個組件都擁有一個單獨的Java虛擬機,它們之間經過網絡套接字通訊。

徹底分佈式模式:Hadoop分佈在多臺主機上,不一樣的組件根據工做性質的不一樣安裝在不通的Guest上。

⑤修改core-site.xml文件
#配置徹底分佈式模式
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>13107200</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.8.4/tmp</value>
</property>
</configuration>
hadoop集羣部署
⑥修改hdfs-site.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/hadoop-2.8.4/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/hadoop-2.8.4/data</value>
</property>
</configuration>
hadoop集羣部署
⑦修改mapred-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:19888</value>
</property>
</configuration>
hadoop集羣部署
⑧配置節點yarn-site.xml
#該文件爲yarn架構的相關配置
<?xml version="1.0"?>

<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>
hadoop集羣部署
⑨複製配置文件到hadoop的配置文件夾下,並建立對應目錄。
cp -r /root/software/hdp_config/hadoop/ /home/hadoop/hadoop-2.8.4/etc/hadoop/
mkdir -p /home/hadoop/hadoop-2.8.4/{name,data,logs,tmp}
⑩將hadoop文件夾拷貝到兩臺slave服務器上
scp -r /home/hadoop/ hadoop-2.8.4 root@slave01:/home/hadoop
scp -r /home/hadoop/ hadoop-2.8.4 root@slave02:/home/hadoop
⑪在master初始化NameNode
/home/hadoop/hadoop-2.8.4//bin/hdfs namenode –format*
tree /home/hadoop/hadoop-2.8.4/name 查看是否格式化ok
hadoop集羣部署
⑫啓動hadoop集羣
sh /home/hadoop/hadoop/sbin/start-all.sh
echo "/home/hadoop/hadoop/sbin/start-all.sh" >> /etc/rc.d/rc.local
hadoop集羣部署

相關文章
相關標籤/搜索