ubuntu下hadoop全分佈安裝

轉載請註明出處:http://hanlaiming.freetzi.com/?p=77 java

1.實驗環境 node

Ubuntu12.04 linux

Hadoop1.2.1 ubuntu

Java1.6.0_13 vim

2.實驗準備 瀏覽器

1.在全部機器上安裝ubuntu12.04,過程不贅述。 bash

在安裝過程當中命名全部的用戶名是hadoop,機器名分別爲minglaihan,node1,node2,其中minglaihan做爲主節點,其餘兩個是從節點。 ssh

2.在全部機器上執行: oop

sudo gedit etc/hosts 測試

添加以下地址:

192.168.1.104 minglaihan

192.168.1.109 node1

192.168.1.110 node2

3.保證你的用戶擁有root級別

用gedit或者vim,

sudo gedit etc/sudoers

在root   ALL=(ALL:ALL)   ALL下添加hadoop   ALL=(ALL:ALL)  ALL。

 

3.安裝過程

  1. 安裝java

三臺機器上都執行:

指令:cd ~/java

unzip jdk-6u13-linux-i586.zip

chmod +x jdk-6u13-linux-i586.bin

sudo ./ jdk-6u13-linux-i586.bin

接下來按Enter以及yes就能夠了

Java安裝好以後,在bash.bashrc裏添加java路徑

sudo gedit etc/bash.bashrc

添加:export JAVA_HOME=/home/hadoop/java/jdk1.6.0_13

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

而後就能夠查看java –version。

 

  1. 安裝ssh

三臺機器上都執行:

sudo apt-get install ssh

安裝完成後執行ssh localhost便可登陸自身的ssh,

exit退出

 

  1. 配置ssh無密碼登錄

Ssh的一個重要特色就是能夠遠程訪問,接下來咱們實現相互訪問不須要密碼。

在全部機器上執行:

cd ~/.ssh

ssh-keygen -t rsa -P 「」以後一直按回車,而後能夠看見提示生成密鑰。

將id_rsa.pub追加到authorized_keys受權文件中

cat id_rsa.pub >> authorized_keys

而後在主節點minglaihan上執行:

進入/home/hadoop/.ssh目錄中,複製authorized_keys到node1的.ssh文件夾中

scp authorized_keys hadoop@node1:/home/hadoop/.ssh

scp authorized_keys hadoop@node2:/home/hadoop/.ssh

接下來使用ssh node1和ssh node2就能夠無密碼訪問了

 

  1. 安裝hadoop

首先在全部機器上執行解壓縮操做

tar zxvf hadoop-1.2.1.tar.gz

而後開始修改hadoop/conf裏面的配置文件

①  core-sie.xml

<configuration>

<property>

<name>hadoop.tmp.dir</name>

<value>/home/hadoop/hadoop-1.2.1/tmp</value>

<description>A base for other temporary directories.</description>

</property>

 

<property>

<name>fs.default.name</name>

<value>hdfs://minglaihan:9000</value>

<description>

The name of the default file system. A URI whose scheme and authority determine the FileSystem implementation. The uri’s scheme determines the config property (fs.SCHEME.impl) naming the FileSystem implementation class. The uri’s authority is used to determine the host, port, etc. for a filesystem.

</description>

</property>

 

</configuration>

②  hadoop-env.sh

添加:export JAVA_HOME=/home/hadoop/java/jdk1.6.0_13

③  hdfs-site.xml

<configuration>

<property>

<name>dfs.replication</name>

<value>3</value>

<description>

Default block replication. The actual number of replications can be specified when the file is created. The default is used if replication is not specified in create time.

</description>

</property>

<property>

<name>dfs.name.dir</name>

<value>/home/hadoop/hadoop-1.2.1/hdfs/name</value>

<description>

</description>

</property>

<property>

<name>dfs.data.dir</name>

<value>/home/hadoop/hadoop-1.2.1/hdfs/data</value>

<description>

</description>

</property>

</configuration>

④  mapred-site.xml

<configuration>

<property>

<name>dfs.replication</name>

<value>3</value>

<description>

Default block replication. The actual number of replications can be specified when the file is created. The default is used if replication is not specified in create time.

</description>

</property>

<property>

<name>dfs.name.dir</name>

<value>/home/hadoop/hadoop-1.2.1/hdfs/name</value>

<description>

</description>

</property>

<property>

<name>dfs.data.dir</name>

<value>/home/hadoop/hadoop-1.2.1/hdfs/data</value>

<description>

</description>

</property>

</configuration>

⑤  master

minglaihan

⑥  slaves

node1

node2

  1. 啓動hadoop

cd ~/hadoop-1.2.1

首先格式化namenode

bin/hadoop namenode –format

而後啓動全部節點

bin/start-all.sh

用jps查看當前hadoop啓動的進程

jps

若是若是有Namenode,SecondaryNameNode,TaskTracker,DataNode,JobTracker,Jps六個進程表示已經啓動成功。

固然我在這一步卡了好久,始終有各類各樣的問題,在這個過程當中也會學到不少,因此遇到有namenode或者datanode沒啓動,主要的處理方法就是清除tmp和logs文件夾,而後每次格式化後查看logs,根據報錯查找問題。

stop-all.sh中止全部進程

此時在瀏覽器中查看minglaihan:50030,能夠看到hadoop的mapreduce管理界面

 

  1. wordcount測試

在home主目錄下建立一個裝有無數單詞的文本,例如test.txt

將test.txt傳輸到hdfs系統的input裏,

bin/hadoop fs -copyFromLocal home/hadoop/test.txt input

在hadoop文件夾下執行:

hadoop jar hadoop-examples-1.2.1.jar wordcount input output

將輸出結果傳到output裏

此時mapreduce會顯示執行信息,執行完畢後,用指令查看

hadoop fs –cat output/part-r-00000

顯示計算單詞結果

 

 

至此,hadoop環境基本安裝,期間遇到各類問題不要放棄。。。

相關文章
相關標籤/搜索