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上傳JDK和HADOOP文件,利用 putty鏈接虛擬機中的ubuntu,下載WinSCP, 下載putty, 下載jdk,(必定要注意版本號 32bit 仍是 64 bit)下載hadoop(我用的1.2.1)
問題: putty連不上linux,提示:Network error:Connection refused
注意:
執行
$sudo apt-get install openssh-server
安裝ssh協議
執行ifconfig顯示Ubuntu的ip地址
xp中用putty輸入Ubuntu的ip用ssh協議遠程登陸
4、 配置JDK和HADOOP
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