hadoop簡介
Apache Hadoop軟件庫是一個框架,允許使用簡單的編程模型跨計算機集羣分佈式處理大型數據集。它旨在從單個服務器擴展到數千臺計算機,每臺計算機都提供本地計算和存儲。該庫本身不是依靠硬件來提供高可用性,而是設計用於檢測和處理應用層的故障,從而在計算機集羣之上提供高可用性服務,每個計算機都可能容易出現故障。
hadoop的思想之源來源於Google在大數據方面的三篇論文
GFS => HDFS
Map-Reduce => MR
BigTable => HBase
hadoop的優勢:
1)高可靠性:
因爲Hadoop假設計算元素和存儲會出現故障,因爲它維護多個工作數據副本,在出現故障時可以對失敗的節點重新分佈處理。
2)高擴展性:
在集羣間分配任務數據,可方便的擴展數以千計的節點。
3)高效性:
在MapReduce的思想下,Hadoop是並行工作的,以加快任務處理速度。
4)高容錯性:
自動保存多份副本數據,並且能夠自動將失敗的任務重新分配。
Hadoop組成:
1)MapReduce(計算):一個分佈式的離線並行計算框架。
2)Yarn(資源調度):作業調度與集羣資源管理框架。
3)HDFS(數據存儲):一個高可靠,高吞吐量的分佈式文件系統。
4)common(輔助工具類):支持其他模塊的工具模塊(Configuration、RPC、序列化機制、日誌操作)。
hadoop安裝
說明:
使用3臺虛擬機服務器
分別是:10.1.255.121,10.1.255.1212 ,10.1.255.123
域名配置
vi /etc/hosts
bigdata121 10.1.255.121
bigdata122 10.1.255.122
bigdata123 10.1.255.123
下載地址:
https://archive.apache.org/dist/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz
1,上傳解壓
我這裏的解壓目錄爲:/opt/moudle/hadoop-2.7.3
2,環境變量
vi /etc/profile
添加如下內容
export HADOOP_HOME=/opt/moudle/hadoop-2.7.3
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
使配置生效
source /etc/profile
3,配置hadoop
cd /opt/moudle/hadoop-2.7.3/etc/hadoop
vi hadoop-env.sh (用於指定jdk路徑)
添加
export JAVA_HOME=/opt/moudle/jdk1.8.0_181
vi core-site.xml (hadoop全局配置)
<configuration>
<!-- 配置HDFS主節點,namenode的地址,9000是RPC通信端口 -->
<property>
<name>fs.default.name</name><!-- fs.defaultFS -->
<value>hdfs://bigdata121:9000</value>
</property>
<!-- 配置HDFS數據塊和元數據保存的目錄,一定要修改 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/moudle/hadoop-2.7.3/tmp</value>
</property>
</configuration>
vi hdfs-site.xml (HDFS配置)
<configuration>
<!-- 數據塊的冗餘度,默認是3 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- 配置HDFS的權限檢查,默認是true -->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
vi mapred-site.xml (默認沒有)
cp mapred-site.xml.template mapred-site.xml
<configuration>
<!-- 配置MR程序運行的框架 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
vi yarn-site.xml
<configuration>
<!-- 配置Yarn的節點 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata121</value>
</property>
<!-- NodeManager執行MR任務的方式是Shuffle洗牌 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
vi slaves (配置從節點)
bigdata122
bigdata123
通過HDFS namenode格式化
hdfs namenode -format
成功日誌:
Storage directory /opt/moudle/hadoop-2.7.3/tmp/dfs/name has been successfully formatted.
scp 拷貝
scp -r /opt/moudle/hadoop-2.7.3/tmp/ root@bigdata122:/opt/moudle/hadoop-2.7.3/tmp/
scp -r /opt/moudle/hadoop-2.7.3/tmp/ root@bigdata122:/opt/moudle/hadoop-2.7.3/tmp/
ssh免密登錄
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub root@bigdata121
ssh-copy-id -i ~/.ssh/id_rsa.pub root@bigdata122
ssh-copy-id -i ~/.ssh/id_rsa.pub root@bigdata123
其它兩臺機器重複上面的操作。
啓動
start-all.sh
查看java進程
jps
顯示結果如下
11761 NameNode
12049 SecondaryNameNode
12306 NodeManager
12644 Jps
12203 ResourceManager
11887 DataNode
web訪問:
yarn: http://10.1.255.121:8088
hdfs: http://10.1.255.121:50070