Hadoop的安裝以及配置
一、linux下java環境的配置
1、 下載linux版本的jdk安裝包,我用的就是jdk-6u43-linux-i586.bin(二進制文件)
執行Apt-get install /opt/jdk-6u43-linux-i586.bin
將文件安裝在/opt/路徑下
2、 Jdk開發環境的配置
執行vim /etc/profile
將下面代碼加入profile文本最後面
#set javaenvironment
export JAVA_HOME=/opt/jdk1.6.0_43
exportJRE_HOME=/opt/jdk1.6.0_43/jre
exportCLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
exportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
執行source /etc/profile 使文件生效
執行java –version 查看java的版本號,如果配置成功會有一下信息出來
二、ssh免鑰匙登陸的配置
先看看僞分佈的ssh免鑰匙的登陸
三、hadoop的安裝以及配置
1、 下載hadoop文件
現在穩定版本是hadoop1.1x版本,最好是穩定版的,因爲支持是功能是最多的,hadoop最好下tar包,如圖
2、 添加一個hadoop賬戶
執行useradd hadoop 這樣就在/home 目錄下新建了一個賬戶
3、 把下載的hadoop文件放到/home/hadoop 下面
進入/home/hadoop目錄
執行 tar –xvf hadoop-1.1.2-bin.tar.gz 對文件進行解壓縮
4、 hadoop環境變量配置
(1)修改hadoop-env.sh文件
進入/home/hadoop/hadoop-1.1.2/conf
執行gedit hadoop-env.sh
將export JAVA_HOME=/opt/jdk1.6.0_43 加入文件當中
執行source /home/hadoop/hadoop-1.1.2/conf/hadoop-env.sh 使文件生效
(2)修改hdfs-site.xml文件
進入/home/hadoop/hadoop-1.1.2/conf目錄
執行gedit hdfs-site.xml
在文檔中加入<property>
<name>dfs.replication</name>
<value>1</value>
</property>
(3)修改core-site.xml文件
同上的方法修改<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
(4)修改mapred-site.xml文件
同上的方法 <property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
5、 添加hadoop命令行到linux
執行gedit /etc/profile
添加export HADOOP_HOME=/home/hadoop-1.1.2/ hadoop安裝目錄
執行 source /etc/profile 使文件生效
6、 使hadoop 文件系統格式化
進入 /home/hadoop/ hadoop-1.1.2/bin
執行./hadoop namenode –format 進行格式化
執行./hadoop start-all.sh 全面啓動hdfs文件系統
7、 測試hadoop文件系統
執行jps看結果
使用web功能
localhost:50070hdfs 文件系統
localhost:50030hdfs mapreduce文件框架
四、測試文件傳輸功能
傳輸文件、刪除文件。。。。。。。。。
上傳文件
Hdfs的命令格式
./hadoopfs –rmr /tmp
./hadoopfs –put /opt/java hdfs://localhost:9000/
啓動Hadoop
· 進入HADOOP_HOME目錄。
· 執行sh bin/start-all.sh
關閉Hadoop
· 進入HADOOP_HOME目錄。
· 執行sh bin/stop-all.sh
1、查看指定目錄下內容
hadoop dfs –ls [文件目錄]
eg: hadoop dfs –ls /user/wangkai.pt
2、打開某個已存在文件
hadoop dfs –cat [file_path]
eg:hadoop dfs -cat /user/wangkai.pt/data.txt
3、將本地文件存儲至hadoop
hadoop fs –put [本地地址] [hadoop目錄]
hadoop fs –put /home/t/file.txt /user/t
(file.txt是文件名)
4、將本地文件夾存儲至hadoop
hadoop fs –put [本地目錄] [hadoop目錄]
hadoop fs –put /home/t/dir_name /user/t
(dir_name是文件夾名)
5、將hadoop上某個文件down至本地已有目錄下
hadoop fs -get [文件目錄] [本地目錄]
hadoop fs –get /user/t/ok.txt /home/t
6、刪除hadoop上指定文件
hadoop fs –rm [文件地址]
hadoop fs –rm /user/t/ok.txt
7、刪除hadoop上指定文件夾(包含子目錄等)
hadoop fs –rm [目錄地址]
hadoop fs –rmr /user/t
8、在hadoop指定目錄內創建新目錄
hadoop fs –mkdir /user/t
9、在hadoop指定目錄下新建一個空文件
使用touchz命令:
hadoop fs -touchz /user/new.txt
10、將hadoop上某個文件重命名
使用mv命令:
hadoop fs –mv /user/test.txt /user/ok.txt (將test.txt重命名爲ok.txt)
11、將hadoop指定目錄下所有內容保存爲一個文件,同時down至本地
hadoop dfs –getmerge /user /home/t
12、將正在運行的hadoop作業kill掉
hadoop job –kill [job-id]
五、測試mapreduce功能
目的:將/home/hadoop/ hadoop-1.1.2/bin下面的全部*.sh文件放到hdfs://localhost:9000/input文件中,並且通過mapreduce計算他裏面require單詞出現的頻率
執行./hadoop fs –mkdir /input 在hadoop系統根目錄下建input文件夾
執行./hadoop fs -put *.sh /input/
執行./hadoop jar hadoop-examples-1.1.2.jarwordcount /input /output計算require單詞數
點擊part—r00000查看結果
在電腦上面計算所有*.sh文件裏面required出現的次數
執行 grep *.sh 然後執行grep require *.sh |wc
結果是14個與mapreduce結果一樣