hadoop單機版和偽分散式搭建
單機版:使用的是linux上的檔案系統,用於測試
使用過程: 解壓到 /usr/local/ 配置/etc/profile下的環境變數
source /etc/profile ,然後修改 /usr/local/etc/hadoop/hadoop-env.sh 中的JAVA_HOME為jdk的路徑
測試:
查詢input目錄下查詢含有dfs的單詞
1)在 /usr/local/ hadoop-2.7.2 路徑下
mkdir input
cp /usr/local/ hadoop-2.7.2 /etc/hadoop/*.xml input (把hadoop的etc下的hadoop的xml複製到input下)
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output ‘dfs[a-z.]+’ (grep 查詢 output之前不能存在)
計算檔案中含有的單詞數
新建一個資料夾wcinput,再問夾中新建有文字的檔案wc.txt(也可以直接用檔案)
mkdir wcinput
touch wcinput/wc.txt
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount wcinput wcoutput
偽分散式:在搭建偽分散式後,wordcount 和grep 等 命令所指的檔案都是 hdfs 上的 ,而不是linux系統上的檔案
http://192.168.136.128:50070
先把資料來源放到hdfs(分散式檔案系統後,在hdfs上執行)
1)修改xml配置檔案
修改安裝目錄下/usr/local/hadoop/etc/hadoop 下的 core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value> nameNode所在的主機
</property>
</configuration>
修改安裝目錄下/usr/local/hadoop/etc/hadoop 下的 hdfs-site.xml
<configuration>
<property>
<name >dfs.replication</name>
<value>1</value>副本數量 為1
</property> </configuration>
2)啟動叢集
a) 格式化namenode(第一次啟動時格式化,以後就不要總格式化)
bin/hdfs namenode -format
b) a啟動 namenode
sbin/hadoop-daemon.sh start namenode
c)啟動datanode
sbin/hadoop-daemon.sh start datanode
注:可以直接用sbin/start-dfs.sh,一塊啟動namenode 和 datanode
3)檢視是否啟動成功
jps檢視是否啟動成功 輸入jps 出現NameNode、DataNode
4) web端檢視HDFS檔案系統:
http://ip地址:50070