下載jdk-7u80-linux-x64.tar.gz
sudo tar -xvf jdk-7u80-linux-x64.tar.gz -C /opt/modules/java
下載hadoop-1.2.1-bin.tar.gz
sudo tar -xvf hadoop-1.2.1-bin.tar.gz -C /opt/modules/node
如今各位小夥伴Hadoop2用的比較多,原理是同樣的
我這邊的目錄結構以下linux
/opt /data //數據文件,輸入輸出文件 /modules //安裝文件,Hadoop JDK ZooKeeper... /softwares // 壓縮包文件存放,hadoop.tar.gz ... /conf //配置文件 想用獨立配置能夠自行設置配置
/opt默認是沒有權限的,因此須要更改權限vim
chown USERNAME /opt //更改文件夾所屬用戶,USERNAME直接更改成本身的用戶名就能夠,之後就沒必要使用Sudo chgrp USERGROUP /opt //更改文件夾所屬用戶組,有須要的能夠在詳細瞭解
有些小夥伴會由於權限設置問題致使namenode datanode啓動故障
能夠查詢文件權限,經過上述方法進行修改ssh
切換到root權限下分佈式
vim /etc/suders
添加oop
USERNAME ALL=(root)NOPASSWD:ALL
編輯/etc/profile文件,末尾增長學習
或新建/etc/profile.d/development.sh,寫入測試
## JAVA export JAVA_HOME=/opt/modules/jdk1.7.0_80 export PATH=$PATH:$JAVA_HOME/bin
切換到root,執行.net
source /etc/profile
配置生效,退出root切換回管理員
java -version
檢查是否生效
編輯/etc/profile文件,末尾增長
或/etc/profile.d/development.sh,寫入
## HADOOP export HADOOP_HAOME=/opt/modules/opt/hadoop-1.2.1 export PATH=$PATH:$HADOOP_HOME/bin
切換到root,執行
source /etc/profile
配置生效,退出root切換回管理員
hadoop
檢驗是否生效,若生效,切換到/opt/modules/hadoop-1.2.1/conf目錄下
sudo vim hadoop-env.sh
將其中JAVA_HOME啓用,並改成前項JAVA_HOME的地址
MapReduce測試
首先須要切換到root 用戶,關閉FIREWALL
service iptables stop //關閉防火牆,下次開機還會啓動 service iptables status //查看防火牆狀態
結果正確以下,防火牆關閉
iptables: Firewall is not running.
也可以使用
chkconfig iptables on //開啓防火牆開機啓動 chkconfig iptables off //關閉防火牆開機啓動
vim打開/etc/sysconfig/selinux,設置SELINUX=disabled
vim /etc/sysconfig/network-scripts/ifcfg-eth0 ..... IPADDR=192.168.40.128 .....
靜態IP地址能夠按照本身狀況來配置。
hostname指令能夠查看當前hostname
方法一 用這種方式修改hostname以後重啓以後回恢復
hostname ----
方法二 修改以後,重啓不回覆
vim /etc/sysconfig/network HOSTNAME=----
配置host文件
vim /etc/hosts
添加
IP 域名 HOSTNAME
IP須要和靜態IP對應,HOSTNAME也須要對應,域名能夠本身設置
切換到User(推薦,root下也能夠完成,但不符合設計原則)
ssh-keygen -t rsa cd ~/.ssh/
keygen以後能夠按照本身的需求設計密碼,此時.ssh文件有兩個文件,id_rsa和id_rsa.pub,分別是SSH生成的公鑰和私鑰。複製公鑰到當前文件夾下,名字必須命名爲authorized_keys
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
此時能夠經過SSH鏈接,首次鏈接會有詢問,鏈接以後會在.ssh文件夾中know_hosts文件記錄,在此鏈接則不會須要。此時能夠添加剛剛配置好的hosts
ssh HOSTNAME exit
鏈接以後須要斷開。
此時SSH協議的配置用於僞分佈式中NameNode與DataNode交互。