標籤:單位 share script val 分布 tar 需求 sha 設定
什麼是大資料
PB = 1024tb
7123913827189tb
Reids
無共用
HDFS
優點 :特別適合儲存大型檔案
TFS
hdfs 架構
NameNode: 整個hadoop總管,只有一個,DataNode down了
儲存為鏡像檔案fsimage 和edites
secondary 定期合并記錄檔及鏡像檔案
DataNode 負責儲存資料
以固定大小的block為基本單位組織檔案內容 預設大小是64M
MapReduce
JobTracker 主要負責資源監控及作業調度。
TaskTrachker
slot 分為Map slot Reduce slot
Task
map Task Reduce Tack
配置單台hadoop 偽分布式環境
1編輯 ~/.bashrc
export HADOOP_HOME=/usr/local/hadoop //hadoop 安裝路徑
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
儲存後讓設定生效
source ~/.bashrc
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output ‘dfs[a-z.]+‘
資料本地化
運算移動,資料不移動
需求:查詢哪個賬戶錢最多
moneys[] ....//moneys = 56789778687687;
max = 0L;
for(i=0L:moneys){
if(i>max){
max=i;
}
}
MapReduce
Map1 Map 2 Map4
1233 4223423 423432
1000 800 1200
1200
./etc/hadoop/core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
優酷Java視頻總匯地址:http://i.youku.com/i/UMTI4MTEzNTA0MA==?spm=a2hww.20023042.uerCenter.5~5!2~A
Java之使用Hadoop探索大資料的世界