Hadoop2.x.x偽分散式環境搭建、測試
阿新 • • 發佈:2019-01-26
0、使用host-only方式
將Windows上的虛擬網絡卡改成跟Linux上的網絡卡在同一個網段
注意:一定要將Windows上的VMnet1的IP設定和你的虛擬機器在同一網段,但是IP不能相同。
1、Linux環境配置
1.1修改主機名
vim /etc/sysconfig/network
修改:HOSTNAME=hadoop01
1.2修改IP
vim /etc/sysconfig/network-scripts/ifcfg-eth0
修改:BOOTPROTO="dhcp" > BOOTPROTO="static"
新增:IPADDR="192.168.135.110"
NETMASK="255.255.255.0"
GATEWAY="192.168.135.1"
//DNS1="8.8.8.8"
//DNS2="8.8.4.4"
1.3修改主機名和IP的對映關係
vim /etc/hosts
新增:192.168.135.101 hadoop01
1.4關閉防火牆
service iptables status //檢視防火牆狀態
service iptables stop //關閉防火牆
chkconfig iptables --list //檢視防火牆在哪種狀態下會開機自動開啟
chkconfig iptables off //關閉開機啟動
1.5Linux重新啟動檢視狀態
hostname ifconfig service iptables status ping more /etc/hosts(檢視主機名與IP地址的對映關係)
1.6安裝JDK
tar -zxvf
z:通過gzip支援壓縮或解壓縮。
x:解壓縮。c是壓縮。(extract,compression)
v:在壓縮或解壓縮過程中顯示正在處理的檔名。
f:f後面必須跟上要處理的檔名。
vim /etc/profile //設定環境變數
檔案尾新增:
export JAVA_HOME=
export PATH=$PATH:$JAVA_HOME/bin($PATH取出老的PATH,新增新的PATH進去;:路徑分隔符)
重新整理配置:
source /etc/profile
2、Hadoop環境配置
archive.apache.org/dist/(Apache所有專案列表)
2.1修改檔案:
(1)hadoop-env.sh //修改hadoop環境變數,依賴jdk(esc shift :echo $JAVA_HOME打印出jdk安裝路徑)
vim hadoop-env.sh
export JAVA_HOME=
(2)core-site.xml
新增:
<!--用來指定HDFS老大(NameNode)的地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>
<!--用來指定hadoop執行時產生檔案的存放目錄-->
<property>
<name>hadoop.tmp.dir</name> //配置一個具體的目錄,這個目錄用於儲存hadoop執行時產生的一些非常重要的檔案
<value>/home/hadoop/JavaTools/hadoop5.4.7/tmp</value>
</property>
(3)hdfs-site.xml
新增:
<!--用來指定HDFS儲存資料副本的數量,1在偽分散式環境下儲存一份-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
(4)mapred-site.xml(mv mapred-site.xml.template mapred-site.xml//將檔案重新命名)
新增:
<!--用來告訴hadoop以後MR執行在YARN上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
(5)yarn-site.xml(Linux中將要賦值的內容選中,按y複製,按p貼上)
新增:
<!--NodeManager獲取資料的方式是shuffle-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--用來指定YARN的老大(ResourceManager)的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>
2.2將Hadoop新增到環境變數
vim /etc/profile
新增:
export HADOOP_HOME=
PATH=$PATH:$HADOOP_HOME/bin
重新整理配置:
source /etc/profile
2.3初始化HDFS(格式化檔案系統)
hdfs namenode -fomat(不需要經常格式化,看到...successfully formated格式化成功)
2.4啟動HDFS和YARN(/sbin)
./start-all.sh(過時)
jps(java process snapshot,檢視Java程序快照,在jdk/bin/jps)
2.5通過瀏覽器驗證
http://hadoop01:50070(hdfs管理介面)
http://hadoop01:8088(yarn管理介面)
2.6測試HDFS
上傳檔案:
hadoop fs -put 需要上傳的檔案 hdfs://hadoop01:9000/jdk (hadoop fs是執行hadoop filesystem的一個客戶端)
下載檔案:
hadoop fs -get hdfs://hadoop01:9000/jdk 需要儲存到的路徑下(/home/jdk1.7)
2.7測試MR和YARN
首先將本地檔案上傳到HDFS上,把輸出結果也上傳到HDFS上(若該檔案不存在,則自動建立)
hadoop安裝路徑/share/hadoop/mapreduce
hadoop jar hadoop-mapreduce-examples-2.6.0.jar wordcount hdfs://hadoop01:9000/words hdfs://hadoop01:9000/wcout
2.8檢視日誌檔案
hadoop安裝路徑/logs/*.log
3、配置ssh免密碼登陸
ls -la(顯示該目錄下所有檔案包括隱藏檔案)
生成ssh免密碼登陸金鑰:
ssh-keygen -t rsa(ssh-keygen生成金鑰,-t使用的加密型別,非對稱加密)
執行完這個命令後,會生成兩個檔案id_rsa(私鑰)、id_rsa.pub(公鑰),將公鑰拷貝到本機則啟動hadoop不需要使用密碼,將公鑰拷貝到要免密碼登入的
機器上。
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys(若該檔案不存在則建立該檔案)或ssh-copy-id hadoop01
ssh工作原理如下圖所示: