首先須要配置JDK,你們能夠從網上找到許多教程。 java
我的感受是,在Linux下配置環境,最重要的是掌握shell的一些命令及其格式,否則可能遇到各類命令格式上的錯誤,耽誤大量的時間。 node
貼出從《從零開始學習hadoop》一書中學習到的的基本配置方法,,指令用""括出: linux
1 下載的 jdk 1.7 ,存放到 「 /home/sr/setup/java-jdk-1.8/」目錄。下載的文件是 」 jdk-8u65-linux-x64.tar.gz」,java jdk 的版本經常有更新,次版本號有可能 更高一點。 shell
2 "sudo su -" ps:這裏我用的是「sudo -i」
切換到 root 用戶,參考 」 man sudo」。這個命令會切換到 root 用戶,也就是最高權限的用戶。由於後面要執行的
jdk 安裝操做是在/usr/local 目錄下進行的,用 root 用戶更方便。 apache
3 "cd /usr/local/lib" 安全
4 "tar -zxvf /home/sr/setup/java-jdk-1.8/jdk-8u65-linux-x64.tar.gz" ps: sr是做者的用戶名,請改爲本身的!
tar 是 linux 下的打包和解壓命令行工具,具體細節能夠參考 」 man tar」 。這個命令將 jdk-8u65-linux-x64.tar.gz 壓縮包解壓到當前目錄下。解壓縮完畢以後,執行"ls",能看到當前目錄下有一個新目錄叫"jdk 1.8.0_65" ssh
5 配置環境變量:4.5.1 「gedit /etc/profile」
gedit 是 linux 下相似 Windoes 的記事本的編輯器,文件/etc/profile 是 linux 下的配置文件。本命令會打開這個
配置文件,以備編輯。 編輯器
6 添加配置
在/etc/profile 文件末尾加上以下的三行代碼: ps:注意更改本身的JDK版本
export JAVA_HOME=/usr/local/lib/jdk1.8.0_65
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin 分佈式
7 "source /etc/profile"使配置當即生效 工具
8 "java -version"
這條命令檢查 jdk 安裝是否成功。
其次,下載hadoop2.7.1放到」 /home/sr/setup/hadoop」目錄
hadoop stable版下載連接:
http://mirror.esocc.com/apache/hadoop/common/stable/
1 "su sr"
su 命令,切換用戶。安裝 jdk 用的是 root 用戶。如今切回 sr 用戶。
2 "mkdir -p ~/usr/hadoop"建立 Hadoop 的安裝目錄
3 "cd ~/usr/hadoop"
4 "tar -xvzf ~/setup/hadoop/hadoop-2.7.1.tar.gz"解壓縮完畢後,就有目錄~/usr/hadoop/hadoop-2.7.1,這是 hadoop 的主目錄
5 配置僞分佈式 hadoop:
配置文件在~/usr/hadoop/hadoop-2.7.1/etc/hadoop目錄下
將 core-site.xml 文件內容修改爲以下: ps:注意是在<configuration> </configuration>中間添加
<configuration>
<property><name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
將 mapred-site.xml 文件內容修改以下:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
將 hdfs-site.xml 文件內容修改以下:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
在 hadoop-env.sh 文件裏添加以下一條語句:
export JAVA_HOME=/usr/local/lib/jdk 1.8.0_65
6 "sudo apt-get install ssh rsync"這條命令安裝 ssh 和 rsync。 ssh 是一個很著名的安全外殼協議 Secure Shell Protocol。 rsync 是文件同步命令行工具。
7 "ssh-keygen -t dsa -f ~/.ssh/id_dsa"執行這條命令生成 ssh 的公鑰/私鑰,執行過程當中,會一些提示讓輸入字符,直接一路回車就能夠。
8 "cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys"ssh 進行遠程登陸的時候須要輸入密碼,若是用公鑰/私鑰方式,就不須要輸入密碼了。上述方式就是設置公鑰/私鑰登陸。
9 「ssh localhost」第一次執行本命令,會出現一個提示,輸入 」 yes」而後回車便可。
10 "cd ~/usr/hadoop/hadoop-2.7.1"
11 "./bin/hadoop namenode -format"格式化 NameNode。
12 "./sbin/start-all.sh"啓動全部節點,包括 NameNode, SecondaryNameNode, JobTracker, TaskTracker, DataNode。
13 「jps」檢查各進程是否運行,這時,應該看到有 6 個 java 虛擬機的進程,分別是 Jps, NameNode, SecondaryNameNode,DataNode, JobTracker, TaskTracker,看到 6 個是對的,代表啓動成功。若是提示 」 jps」沒安裝或者找不到,執行一次 」 source /etc/profile」便可。
最後,一塊兒來運行wordcount:
1 "cd ~/usr/hadoop/hadoop-2.7.1"
2 「bin/hadoop fs -mkdir /input」HDFS下建立input文件夾
3 「bin/hadoop fs -put LICENSE.txt /input」將LICENSE.txt放入文件夾
4「bin/hadoop fs -ls /input」顯示input中內容
5「bin/hadoop fs -cat /input/LICENSE.txt」查看文件內容
6「bin/hadoop jar /home/sr/usr/hadoop/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /input /output」運行並輸出 PS:請注意絕對路徑!
hadoop之路已開啓,努力~