1. 程式人生 > >Hadoop2.x.x偽分散式環境搭建、測試

Hadoop2.x.x偽分散式環境搭建、測試

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工作原理如下圖所示: