搭建Spark1.5集群(一)-Hadoop2.7.1的單節(jié)點安裝

服務器環(huán)境:Ubuntu15.04儿奶、jdk1.7、Hadoop2.7.1

1. 創(chuàng)建spark用戶####

為了隔離Hadoop和其它軟件缘挽, 創(chuàng)建了可以登陸的 spark 用戶锨侯,并使用 /bin/bash 作為 shell:

sudo useradd -m spark-s /bin/bash

設置spark用戶密碼:

sudo passwd spark

可為 spark用戶增加管理員權限,避免部署時候遇到一些奇怪的權限問題:

sudo adduser hadoop sudo

添加完用戶后早抠,用戶spark賬戶登錄服務器霎烙,進行服務器配置撬讽。

2. SSH登錄配置#####

集群、單節(jié)點模式都需要用到 SSH登陸 悬垃,并且配置ssh的免密碼登錄游昼,在集群啟動時候可以免去輸入密碼的麻煩。Ubuntu 默認已安裝了 SSH client尝蠕,此外還需要安裝 SSH server:

sudo apt-get install openssh-server

測試使用ssh登錄本機:

ssh localhost

登錄成功后可以輸入exit退出

ssh登錄本機

設置ssh無密碼登錄
設置免密碼登錄烘豌,生成私鑰和公鑰,利用 ssh-keygen 生成密鑰看彼,并將密鑰加入到授權中廊佩。
生成公鑰/私鑰對:

ssh-keygen -t rsa -P ""

-P表示密碼,-P '' 就表示空密碼靖榕,也可以不用-P參數(shù)标锄,這樣就要三車回車,用-P就一次回車茁计。它在/home/spark下生成.ssh目錄料皇,.ssh下有id_rsa和id_rsa.pub,前者為私鑰,后者為公鑰践剂。
下面我們將公鑰追加到authorized_keys中鬼譬,它用戶保存所有允許以當前用戶身份登錄到ssh客戶端用戶的公鑰內容

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

再次使用ssh登陸localhost,就不再需要輸入密碼:

ssh localhost

記得退出登錄逊脯,繼續(xù)進行配置exit

ssh登錄本地不需要再輸入密碼

3. 安裝Java環(huán)境####

安裝JDK:

sudo apt-get update
sudo apt-get install openjdk-7-jdk

安裝成功后优质,使用java -version java版本

正常顯示java版本

配置Java環(huán)境變量,如果使用上面的方法安裝jdk军洼,那么Java的安裝路徑應該是/usr/lib/jvm/java-7-openjdk-amd64盆赤,但是如果不能確定,可以使用如下命令:

update-alternatives - -config java

輸入結果:/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java

我們只取前面的部分 /usr/lib/jvm/java-7-openjdk-amd64
配置.bashrc文件:

sudo vim ~/.bashrc  #如果沒有vim 請另行安裝vim

在文件末尾追加下面內容歉眷,然后保存

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

執(zhí)行下面命牺六,使添加的環(huán)境變量生效:

source ~/.bashrc

測試Java環(huán)境變量結果:

echo $JAVA_HOME

如果輸出/usr/lib/jvm/java-7-openjdk-amd64 則表示配置成功

4. 配置Hadoop####

4.1 下載安裝Hadoop

Hadoop 2 可以通過 http://mirror.bit.edu.cn/apache/hadoop/common/ 下載,一般選擇下載最新的穩(wěn)定版本汗捡,即下載 “stable” 下的 hadoop-2.x.y.tar.gz 這個格式的文件淑际,這是編譯好的,另一個包含 src 的則是 Hadoop 源代碼扇住,需要進行編譯才可使用春缕。
我直接下載編譯好的壓縮包:

wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.1/hadoop-2.7.1.tar.gz

解壓縮:

tar xfz hadoop-2.7.1.tar.gz

將安裝包移動到usr/local/hadoop

sudo mv hadoop-2.6.0 /usr/local/hadoop

更改hadoop文件夾的所有者為spark用戶

sudo chown -R spark /usr/local/hadoop

測試hadoop是否可用
/usr/local/hadoop/bin/hadoop version
正確顯示hadoop版本表示可用

4.2 Hadoop相關環(huán)境變量配置
打開./bashrc文件:

sudo vim ~/.bashrc

在.bashrc文件末尾添加相關環(huán)境變量:

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

應用環(huán)境變量:

source ~/.bashrc

4.3 hadoop相關配置文件的配置

  1. 配置hadoop-env.sh

    sudo vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh
    

    更改JAVA_HOME為
    export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

  2. 配置core-site.xml

    sudo vim $HADOOP_HOME/etc/hadoop/core-site.xml
    

    <configuration></configuration>之間加入HDFS的配置(HDFS的端口配置在9000):
    <property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:9000</value>
    </property>

  3. 配置yarn-site.xml

    sudo vim $HADOOP_HOME/etc/hadoop/yarn-site.xml
    

    <configuration></configuration>之間加入以下內容:
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>
    <property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>

  4. 配置mapred-site.xml
    HADOOP_HOME目錄下有一個配置模板$HADOOP_HOME/etc/hadoop/mapred-site.xml.template,先拷貝到$HADOOP_HOME/etc/hadoop/mapred-site.xml艘蹋。

    cp $HADOOP_HOME/etc/hadoop/mapred-site.xml{.template,}
    

編輯$HADOOP_HOME/etc/hadoop/mapred-site.xml文件:

   sudo vim $HADOOP_HOME/etc/hadoop/mapred-site.xml

  在`<configuration></configuration>`之間加入以下內容:
   <property> 
      <name>mapreduce.framework.name</name> 
      <value>yarn</value>
   </property>

4.3 配置HDFS文件目錄
1. 創(chuàng)建文件目錄
假設準備將數(shù)據存放在/mnt/hdfs锄贼,方便起見,現(xiàn)將其設為一個環(huán)境變量:

export HADOOP_DATA_DIR=/mnt/hdfs

創(chuàng)建DataNode和NameNode的存儲目錄女阀,同時將這兩個文件夾的所有者修改為spark:

sudo mkdir -p $HADOOP_DATA_DIR/namenode
sudo mkdir -p $HADOOP_DATA_DIR/datanode
sudo chown -R spark $HADOOP_DATA_DIR

2. 配置hdfs-site.xml文件

sudo vim $HADOOP_HOME/etc/hadoop/hdfs-site.xml

<configuration></configuration>之間增加DataNode和NameNode的配置宅荤,如下:

<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>
<property>
  <name>dfs.namenode.name.dir</name>
  <value>file:/mnt/hdfs/namenode</value>
</property>
<property>
  <name>dfs.datanode.data.dir</name>
  <value>file:/mnt/hdfs/datanode</value>
</property>

3. 格式化HDFS文件系統(tǒng)
使用下列命令格式化HDFS文件系統(tǒng):

hdfs namenode -format

5. 啟動Hadoop####

啟動HDFS:

$HADOOP_HOME/sbin/start-dfs.sh

啟動yarn:

$HADOOP_HOME/sbin/start-yarn.sh

HDFS和yarn的web控制臺默認監(jiān)聽端口分別為50070和8088〗撸可以通過瀏覽放訪問查看運行情況冯键。

停止命令:
$HADOOP_HOME/sbin/stop-dfs.sh
$HADOOP_HOME/sbin/stop-yarn.sh
如果一切正常,使用jps可以查看到正在運行的Hadoop服務庸汗,在我機器上的顯示結果為:

5003 SecondaryNameNode
5341 NodeManager
4798 DataNode
5182 ResourceManager
7311 Jps
4639 NameNode

6. 運行WordCount測試####

單機模式安裝完成惫确,下面通過執(zhí)行hadoop自帶實例WordCount驗證是否安裝成功。
查看HDFS根目錄下的文件:

hdfs dfs -ls /

在HDFS上創(chuàng)建input目錄:

hdfs dfs -mkdir /input

將Hadoop路徑下的README.txt傳到HDFS:

hdfs dfs -put $HADOOP_HOME/README.txt /input/

完成后運行如下命令蚯舱,進行Word Count操作:

bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.7.1-sources.jar org.apache.hadoop.examples.WordCount /input /output
沒有異常 改化,任務執(zhí)行完成

查看計算結果:

hdfs dfs -cat /output/*
顯示出單詞的統(tǒng)計結果

最后Hadoop單節(jié)點的配置就完成了。如有什么問題枉昏,希望大家批評指正陈肛。

7. 參考資料####

1. Hadoop單節(jié)點安裝
2. Ubuntu14.04下安裝Hadoop2.4.0 (單機模式)
3. Hadoop安裝教程_單機/偽分布式配置_Hadoop2.6.0/Ubuntu14.04

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市凶掰,隨后出現(xiàn)的幾起案子燥爷,更是在濱河造成了極大的恐慌蜈亩,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件前翎,死亡現(xiàn)場離奇詭異稚配,居然都是意外死亡,警方通過查閱死者的電腦和手機港华,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進店門道川,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人立宜,你說我怎么就攤上這事冒萄。” “怎么了橙数?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵尊流,是天一觀的道長。 經常有香客問我灯帮,道長崖技,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任钟哥,我火速辦了婚禮迎献,結果婚禮上,老公的妹妹穿的比我還像新娘腻贰。我一直安慰自己吁恍,他們只是感情好,可當我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布播演。 她就那樣靜靜地躺著冀瓦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪宾巍。 梳的紋絲不亂的頭發(fā)上咕幻,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天,我揣著相機與錄音顶霞,去河邊找鬼。 笑死锣吼,一個胖子當著我的面吹牛选浑,可吹牛的內容都是我干的。 我是一名探鬼主播玄叠,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼古徒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了读恃?” 一聲冷哼從身側響起隧膘,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤代态,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后疹吃,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蹦疑,經...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年萨驶,在試婚紗的時候發(fā)現(xiàn)自己被綠了歉摧。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡腔呜,死狀恐怖叁温,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情核畴,我是刑警寧澤膝但,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站谤草,受9級特大地震影響锰镀,放射性物質發(fā)生泄漏。R本人自食惡果不足惜咖刃,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一泳炉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧嚎杨,春花似錦花鹅、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至箩帚,卻和暖如春真友,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背紧帕。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工盔然, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人是嗜。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓愈案,卻偏偏與公主長得像,于是被迫代替她去往敵國和親鹅搪。 傳聞我的和親對象是個殘疾皇子站绪,可洞房花燭夜當晚...
    茶點故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內容