環境:rhel6.3node
主機:192.168.0.30 master //slave節點能夠爲多個,這裏咱們演示兩個節點linux
192.168.0.31 slave算法
192.168.0.33 slave瀏覽器
主節點包括名稱節點、從屬名稱節點和 jobtracker 守護進程(即所謂的主守護進程)以及管理
集羣所用的實用程序和瀏覽器。從節點包括 tasktracker 和數據節點(從屬守護進程)。兩種設
置的不一樣之處在於,主節點包括提供 Hadoop 集羣管理和協調的守護進程,而從節點包括實現
Hadoop 文件系統(HDFS)存儲功能和 MapReduce 功能(數據處理功能)的守護進程。
每一個守護進程在 Hadoop 框架中的做用。namenode 是 Hadoop 中的主服務器,它管理文件系
統名稱空間和對集羣中存儲的文件的訪問。還有一個 secondary namenode,它不是
namenode 的冗餘守護進程,而是提供週期檢查點和清理任務。在每一個 Hadoop 集羣中能夠找
到一個 namenode 和一個 secondary namenode。
datanode 管理鏈接到節點的存儲(一個集羣中能夠有多個節點)。每一個存儲數據的節點運行一
個 datanode 守護進程。
每一個集羣有一個 jobtracker,它負責調度 datanode 上的工做。每一個 datanode 有一個
tasktracker,它們執行實際工做。jobtracker 和 tasktracker 採用主-從形式,jobtracker 跨
datanode 分發工做,而 tasktracker 執行任務。jobtracker 還檢查請求的工做,若是一個
datanode 因爲某種緣由失敗,jobtracker 會從新調度之前的任務。服務器
master 節點:網絡
[root@mfs1 hadoop]# sh jdk-6u32-linux-x64.bin [root@mfs1 hadoop]#ls jdk1.6.0_32 jdk-6u32-linux-x64.bin root@mfs1 hadoop]# tar zxf hadoop-1.1.2.tar.gz -C /usr/local/ [root@mfs1 hadoop]# mv jdk1.6.0_32/ /usr/local/hadoop-1.1.2/ [root@mfs1 hadoop]# vi /usr/local/hadoop-1.1.2/conf/hadoop-env.sh export JAVA_HOME=/usr/local/hadoop-1.1.2/jdk1.6.0_32 [root@Snapshot1~]# cd /usr/local/hadoop-1.1.2/conf/ conf/core-site.xml <configuration> <property> <name>fs.default.name</name> <value>hdfs://192.168.0.30:9000</value> #指定namenode </property> </configuration> conf/hdfs-site.xml <configuration> <property> <name>dfs.replication</name> #指定文件保存的副本數 <value>2</value> </property> </configuration> conf/mapred-site.xml <configuration> <property> <name>mapred.job.tracker</name> <value>192.168.0.30:9001</value> </property> </configuration> [root@mfs1 ~]# vi /usr/local/hadoop-1.1.2/conf/masters 192.168.0.30 [root@mfs1 ~]# vi /usr/local/hadoop-1.1.2/conf/slaves 192.168.0.31 192.168.0.33
無密碼ssh設置框架
[root@mfs1 ~]# ssh-keygen [root@mfs1 ~]# ssh-copy-id 192.168.0.31 [root@mfs1 ~]# ssh-copy-id 192.168.0.33
保證master到全部的slave節點實現無密碼登陸ssh
將相關配置文件複製到slave節點分佈式
[root@mfs1 ~]# scp -r /usr/local/hadoop-1.1.2/ 192.168.0.31:/usr/local/ [root@mfs1 ~]# scp -r /usr/local/hadoop-1.1.2/ 192.168.0.33:/usr/local/
格式化一個新的分佈式文件系統oop
[root@mfs1 ~]# /usr/local/hadoop-1.1.2/bin/hadoop namenode -format
啓動服務
[root@mfs1 ~]# /usr/local/hadoop-1.1.2/bin/start-all.sh
查看各個節點服務是否成功開啓
[root@mfs1 ~]# /usr/local/hadoop-1.1.2/jdk1.6.0_32/bin/jps 6296 NameNode 6503 JobTracker 6438 SecondaryNameNode 6598 Jps
slave 節點:
[root@mfs2 hadoop-1.1.2]# jdk1.6.0_32/bin/jps 2738 Jps 2687 TaskTracker 2617 DataNode [root@mfs3 hadoop-1.1.2]# jdk1.6.0_32/bin/jps 2738 Jps 2687 TaskTracker 2617 DataNode
瀏覽 NameNode 和 JobTracker 的網絡接口,它們的地址默認爲:
NameNode – http://192.168.0.30:50070/
JobTracker – http://192.168.0.30:50030/
#分佈式文件系統 /tmp
切忌:先格式化再起服務
上傳文件
[root@mfs1 hadoop-1.1.2]# bin/hadoop fs -put /mnt/1/ zhangxc [root@mfs1 hadoop-1.1.2]# bin/hadoop fs -ls Found 1 items drwxr-xr-x - root supergroup 0 2014-03-11 20:42 /user/root/zhangxc
例:採用相關算法
在文件夾1中查找dfs打頭的字符串,並將結果輸出到output當中。
[root@mfs1 hadoop-1.1.2]# bin/hadoop jar hadoop-examples-1.1.2.jar grep input output 'dfs[a-z.]+' [root@mfs1 hadoop-1.1.2]# bin/hadoop fs -ls drwxr-xr-x - root supergroup 0 2014-03-11 20:55 /user/root/input drwxr-xr-x - root supergroup 0 2014-03-11 21:11 /user/root/output
例:將分佈式文件系統拷貝到本地進行查看
[root@mfs1 hadoop-1.1.2]# bin/hadoop fs -get output output [root@mfs1 hadoop-1.1.2]# cat output/* cat: output/_logs: Is a directory 1 dfshah
或者
[root@mfs1 hadoop-1.1.2]# bin/hadoop fs -cat output/* 1 dfshah cat: File does not exist: /user/root/output/_logs
[root@mfs1 hadoop-1.1.2]# bin/hadoop fs --help #查看幫助
項目模塊依賴
特別提醒:開發人員在開發的時候能夠將本身的業務REST服務化或者Dubbo服務化
2. 項目依賴介紹
2.1 後臺管理系統、Rest服務系統、Scheculer定時調度系統依賴以下圖:
2.2 Dubbo獨立服務項目依賴以下圖:
3. 項目功能部分截圖:
zookeeper、dubbo服務啓動
dubbo管控臺
REST服務平臺