第二篇隔了這麼久,一個是由於有工做任務,第二個也是由於爲了編譯64位的hadoop2.7.1耽誤了。到如今也不肯定64位系統到底需不須要本身編譯hadoop2,反正我編譯了才安裝成功的。
html
首先:先介紹環境虛擬機安裝的VM12,系統是centOS6.5 ,hdoop2.7.1,JDK是1.7由於hadoop2官網測試了JDK1.6喝1.7都是穩定的,1.8應該也行可是此時官網暫時沒測。java
編譯參照了:http://my.oschina.net/ordinance/blog/521931?fromerr=34qORjYsnode
安裝參照了:http://blog.csdn.net/woshisunxiangfu/article/details/44026207linux
第一步:先到官網下載2.7.1-src版本的源碼,而後安裝JDK(不要搞成jre了),由於編譯64位源碼須要JDK裏面的一些tools。你們不要看到還須要編譯就以爲好難,只要下好工具,其實過程當中沒出啥錯誤,出了小錯按照提示也基本搞定了,無非是缺乏什麼工具或者是JDK不對之類的。web
第二步:編譯,編譯的話網上有許多教程,都差很少的,這裏我就列舉了須要哪些工具:算法
就這麼幾個,Ant,findbugs,Maven,Protobuf(反正是須要不知道具體幹啥用的),jdk1.7(必定要是JDK才能夠編譯jre不行)你們別嫌太多實際上是體力活,就是安裝還有配置環境變量,每一個一個安裝完就用xxxx -version之類的試一試,沒問題就是安裝好了。bash
第三步:順便囉嗦一句安裝JDK吧,前面編譯的時候其實都裝好了。oracle
安裝JDK1.7或者1.6都行。
下載地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 選擇版本
1) 下載jdk-7u79-linux-x64.tar.gz,解壓到/usr/lib/jdk1.7.0_79。
2) 在/root/.bash_profile中添加以下配置:
export JAVA_HOME=/usr/lib/jdk1.7.0_79
export PATH=$JAVA_HOME/bin:$PATH
3) 使環境變量生效,#source ~/.bash_profile 可能會提示沒有權限問題,切換root用戶或者直接重啓一下也行。
4) 安裝驗證#java -version 有打印結果就證實基本是安裝對了。
app
第四步:無密碼登陸,就是一個拷貝生成的祕鑰問題ssh
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
驗證ssh,# ssh localhost
這一步是爲了無密碼登陸,網上也有id_rsa.pub的,其實只是加密算法不一樣,效果都同樣,第一次安裝後執行localhost可能會彈出一大堆,其實只是讓你選yes/no 選yes就OK了。
第五步:安裝編譯好的hadoop-2.7.1
1) 編譯好的文件目錄爲:/root/hadoop/hadoop-2.7.1
2) 在/root /hadoop/目錄下,創建tmp、hdfs/name、hdfs/data目錄,執行以下命令
#mkdir /root/hadoop/tmp
#mkdir /root/hadoop/hdfs
#mkdir /root/hadoop/hdfs/data
#mkdir /root/hadoop/hdfs/name
3) 設置hadoop環境變量,就在當前用戶下的目錄中配置,#vi ~/.bash_profile
# set hadoop path
export HADOOP_HOME=/root /hadoop/hadoop-2.7.1
export PATH=$PATH:$HADOOP_HOME/bin
使環境變量生效,$source ~/.bash_profile
第六步:配置hadoop相關的xml文件,其實沒有太多內容。單機版本的比較少,這部分基本和參照的例子中配置同樣,只是路徑略有不一樣,你們按照路徑配就能夠了。
進入$HADOOP_HOME/etc/hadoop目錄,配置 hadoop-env.sh等。涉及的配置文件以下:
hadoop-2.7.1/etc/hadoop/hadoop-env.sh
hadoop-2.7.1/etc/hadoop/yarn-env.sh
hadoop-2.7.1/etc/hadoop/core-site.xml
hadoop-2.7.1/etc/hadoop/hdfs-site.xml
hadoop-2.7.1/etc/hadoop/mapred-site.xml
hadoop-2.7.1/etc/hadoop/yarn-site.xml
1)配置hadoop-env.sh
# java環境
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/usr/lib/jdk1.6.0_45
2)配置yarn-env.sh
#export JAVA_HOME=/home/y/libexec/jdk1.6.0/
export JAVA_HOME=/usr/lib/jdk1.6.0_45
3)配置core-site.xml
添加以下配置:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
<description>HDFS的URI,文件系統://namenode標識:端口號</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoop/tmp</value>
<description>namenode上本地的hadoop臨時文件夾</description>
</property>
</configuration>
4)配置hdfs-site.xml
添加以下配置
<configuration>
<!—hdfs-site.xml-->
<property>
<name>dfs.name.dir</name>
<value>/root/hadoop/hdfs/name</value>
<description>namenode上存儲hdfs元數據 </description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/root/hadoop/hdfs/data</value>
<description>datanode上數據塊的物理存儲位置</description>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>副本個數,配置默認是3,應小於datanode機器數量</description>
</property>
</configuration>
5)配置mapred-site.xml
添加如下配置:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
6)配置yarn-site.xml
添加如下配置:
<configuration>
<property>
<!-- 這是配置hadoop裏mapreduce的一個混洗 -->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<!-- 注意咱們將端口改了等下啓動這塊的時候也要將端口更改一下 -->
<name>yarn.resourcemanager.webapp.address</name>
<value>${yarn.resourcemanager.hostname}:8099</value>
</property>
</configuration>
第七步:啓動hadoop,進入hadoop2.7.1目錄中
1)初始化HDFS系統,植入hadoop2.7.1目錄執行如下命令
bin/hdfs namenode -format 截圖以下:
2)開啓namenode和datanode守護進程,執行如下命令
sbin/start-dfs.sh 截圖以下:
3)執行jps,直接在當前目錄下打jps,截圖以下:
4)打開hadoop的管理界面和一個yarn的界面
http://localhost:8099 這個端口咱們有修改過,你們能夠自行修改。
http://localhost:50070 這個是默認的沒有改過,都是這個端口。
目前單機版的hadoop搭建工做就完成了,下一篇是往HDFS中導入數據。