hadoop環境配置(ubunbu僞分佈式)

 1  安裝虛擬機和操做系統 node

VMware-workstation-full-10.0.0  下載vmware linux

ubuntu-13.04-server-amd64.iso 下載ubuntu apache

二、  設置root用戶密碼 ubuntu

sudo passwd root    windows

注意 初始安裝linux  問題: 初始安裝ubuntu server後發現沒法進入root,查了一下,若是想進入root賬戶,可使用安裝時設置的非root賬號的密碼進入,使用空密碼是進不去root賬戶的,進入root賬戶後就能夠給root賬戶另設置一個密碼了  執行:sudo passwd -u root  # 來啓用咱們的root帳戶,若是你後悔了能夠執行 sudo passwd -l root 來從新lock root用戶。 網絡

注意:sudo執行時輸入的密碼都是你當前用戶的密碼,不是root的密碼。並且要保證你的用戶具有了這種權限  配置文件在/etc/sudoers中。 app

而後給root建立一個密碼:sudo passwd root   #看準提示進行輸入,root的密碼最好和其餘用戶的密碼不一樣,否則會遇到一些麻煩。 ssh

如今root用戶也不被禁用了,也有密碼了,那麼如何使用root進行登陸呢? 編輯器

3  上傳文件 分佈式

利用WinSCP上傳JDKHADOOP文件,利用 putty鏈接虛擬機中的ubuntu下載WinSCP下載putty  下載jdk,(必定要注意版本號 32bit 仍是 64 bit)下載hadoop(我用的1.2.1)

問題: putty連不上linux,提示:Network errorConnection refused

注意:

執行  

$sudo apt-get install openssh-server  

安裝ssh協議 

執行ifconfig顯示Ubuntuip地址 

xp中用putty輸入Ubuntuipssh協議遠程登陸

 

4  配置JDKHADOOP

tar -xzvf jdk-7u40-linux-x64.tar.gz

tar -xzvf hadoop-1.2.1.tar.gz

sudo vi /etc/profile

增長:

export JAVA_HOME=/home/szy/jdk1.7.0_40

export PATH=$PATH:$JAVA_HOME/bin: /home/sun/hadoop-1.2.1/bin

source /etc/profile

5、配置HADOOP

配置主機名稱及網絡

vi /etc/hostname

指定名稱爲host001

vi /etc/hosts

替換內容爲:192.168.137.128(這個是你的虛擬機分配給你的網段 ifconfig 能夠看你的ip相關信息) host001

同時加入C:\Windows\System32\drivers\etc\hosts文件

查看是否啓用IPV6:

cat /proc/sys/net/ipv6/conf/all/disable_ipv6

顯示0說明ipv6開啓,1說明關閉

關閉ipv6的方法:

sudo vi /etc/sysctl.conf

增長下面幾行,並重啓

#disable IPv6

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

net.ipv6.conf.lo.disable_ipv6 = 1

配置SSH

cd /home/ysc

sudo apt-get install openssh-server

ssh-keygen -t rsa(密碼爲空,路徑默認)

cp .ssh/id_rsa.pub .ssh/authorized_keys

ssh host001

yes

cd hadoop-1.2.1

配置HADOOP環境變量

vi conf/hadoop-env.sh

增長:

export JAVA_HOME=/home/szy/jdk1.7.0_40

配置HADOOP運行參數

vi conf/masters

改localhost爲host001

 

vi conf/slaves

改localhost爲host001

 

vi conf/core-site.xml

 

<property>

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

<value>hdfs://host001:9000</value>

</property>

<property>

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

<value>/home/szy/tmp</value>

</property>

 

vi conf/hdfs-site.xml

<property>

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

  <value>/home/szy/dfs/filesystem/name</value>

</property>

<property>

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

  <value>/home/szy/dfs/filesystem/data</value>

</property>

<property>

  <name>dfs.replication</name>

  <value>1</value>

</property>

 

vi conf/mapred-site.xml

                   

<property>

  <name>mapred.job.tracker</name>

  <value>host001:9001</value>

</property>

<property>

  <name>mapred.tasktracker.map.tasks.maximum</name>

  <value>4</value>

</property>

<property>

  <name>mapred.tasktracker.reduce.tasks.maximum</name>

  <value>4</value>

</property>

<property>

  <name>mapred.system.dir</name>

  <value>/home/szy/mapreduce/system</value>

</property>

<property>

  <name>mapred.local.dir</name>

  <value>/home/szy/mapreduce/local</value>

</property>

 以上相關信息的定義你能夠去網上查到  若是你們不是很喜歡用vi 編輯器  你們能夠用上面的winscp 編輯相關屬性 只是我的建議

格式化名稱節點並啓動集羣

[plain] view plaincopy

1.     $ cd hadoop-1.2.1

2.     $ mkdir logs  

3.     $ bin/hadoop namenode -format  

[plain] view plaincopy

1.     $ cd hadoop-1.2.1  

2.     $ mkdir logs  

3.     $ bin/hadoop namenode -format

Bin/hadoop  namenode  -format

啓動集羣並查看WEB管理界面

Bin/start-all.sh

訪問http://host001:50030能夠查看 JobTracker 的運行狀態

訪問http://host001:50060能夠查看 TaskTracker 的運行狀態

訪問http://host001:50070能夠查看 NameNode 以及整個分佈式文件系統的狀態,瀏覽分佈式文件系統中的文件以及 log 

hadoop jar hadoop-1.2.1/contrib/streaming/hadoop-streaming-1.2.1.jar -inputinput -output output-streaming  -mapper/bin/cat -reducer /usr/bin/wc

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

中止集羣

stop-all.sh

Permission denied: user=Administrator, access=WRITE, inode="root":root:supergroup:rwxr-xr-x
此類錯誤說明本地用戶administrator(本機windows用戶)想要遠程操做hadoop系統,沒有權限引發的。

解決方法給相應沒權限的目錄設置下777權限。如給root目錄設置權限

./hadoop fs -chmod 777 /user/root

 

若是出現:Unknown protocol to job tracker: org.apache.hadoop.hdfs.protocol.ClientProtocol 能夠嘗試下面解決方法

一、防火牆是否關掉
二、9001 9000的端口是否配置錯誤Host是Master的IP地址、9001是mapred.job.tracker端口、9000是fs.default.name的端口
三、重啓EclipseIDE

相關文章
相關標籤/搜索