service iptables start
當即開啓防火牆,可是重啓後失效。java
service iptables stop
當即關閉防火牆,可是重啓後失效。node
以下命令是永久性操做,重啓後生效。linux
chkconfig iptables on
開啓防火牆,重啓後生效。shell
chkconfig iptables off
關閉防火牆,重啓後生效。vim
注意安裝hadoop的集羣主機名不能有下劃線。否則會出現找不到主機的問題,致使集羣沒法啓動。瀏覽器
配置主機名:bash
vim /etc/sysconfig/network source /etc/sysconfig/network
例如:服務器
NETWORKING=yes HOSTNAME=hadoop01
配置完成,命令操做界面不會立刻修改,須要重啓機器才能更改。app
也可使用以下命令,臨時修改主機名。ssh
hostname hadoop01
配置此功能,是爲了解耦,若是每一個服務中都寫具體的ip地址,若是某臺服務器的ip地址發生了改變,再次修改ip會是一個很大的工做量;若是在服務配置中使用ip的地方都改爲主機名稱的方法,那麼當某臺服務器的ip發生改變,只須要在/etc/hosts文件中更改對應的映射關係便可。
vim /etc/hosts
填入內容格式以下:
127.0.0.1 localhost ::1 localhost 192.168.75.150 hadoop01 其餘主機和ip 主機名 ……
此配置和Windows下配置hosts文件是同樣的操做。
生成本身的公鑰和私鑰,生成的公私鑰將自動存放在/root/.ssh目錄下。
命令以下:
ssh-keygen
把生成的公鑰copy到須要互相通訊的遠程機器上。
命令以下:
ssh-copy-id root@hadoop01
此時在遠程主機的/root/.ssh/authorized_keys文件中保存了公鑰,在known_hosts中保存了已知主機信息,當再次訪問的時候就不須要輸入密碼了。
這裏須要給本機發一個免密登陸,hadoop在啓動的時候,就不須要輸入密碼了,不然在啓動的時候不論是HDFS仍是yarn啓動的時候都的輸入密碼。
ssh hadoop01
經過上述命令遠程鏈接,檢驗是否能夠不需密碼鏈接。
經過fz將jdk安裝包上傳到本身的管理目錄。
解壓安裝包
tar -zxvf [jdk安裝包位置]
修改/etc/profile
這個文件是每一個用戶登陸時都會運行的環境變量設置,當用戶第一次登陸時,該文件被執行。並從/etc/profile.d目錄的配置文件中搜集shell的設置。
vim /etc/profile
在文件行尾加入以下配置後保存退出。
export JAVA_HOME=/home/app/jdk1.7.0_45/ export PATH=$PATH:$JAVA_HOME/bin
注意:JAVA_HOME配置的jdk的目錄,切記不要盲目照抄。
從新加載profile使配置生效,命令以下:
source /etc/profile
環境變量配置完成,測試環境變量是否生效,使用以下命令,正常顯示變量路徑和java信息則配置正確。
echo $JAVA_HOME java -version
經過fz將hadoop安裝包上傳到linux本身的管理目錄,解壓安裝包。
tar -zxvf [hadoop安裝包位置]
如下配置文件,均在hadoop-2.7.1/etc/hodoop/目錄下。
經過vim打開hadoop-env.sh。
vim [hadoop]/etc/hadoop/hadoop-env.sh
主要是修改java_home的路徑。
在hadoop-env.sh的第27行,把export JAVA_HOME=${JAVA_HOME}修改爲和環境變量中JAVA_HOME的路徑相同便可。
從新加載使修改生效。命令以下:
source hadoop-env.sh
此文件爲核心配置文件,主要管理namenode的配置和文件存儲位置的配置。
經過vim打開core-site.xml文件。
vim [hadoop]/etc/hadoop/core-site.xml
初次配置此文件中配置信息爲空,須要在<configuration>標籤中增長namenode配置、文件存儲位置配置。配置信息以下:
<configuration> <property> <!--用來指定hdfs的master,namenode的地址--> <name>fs.defaultFS</name> <value>hdfs://hadoop01:9000</value> </property> <property> <!--用來指定hadoop運行時產生文件的存放目錄--> <name>hadoop.tmp.dir</name> <value>/home/park/work/hadoop-2.7.1/tmp</value> </property> </configuration>
第一個<value>標籤中,須要注意主機名稱,填寫本身規劃好的主機名稱。
第二個<value>標籤中,須要規劃本身的tmp目錄的存放位置,按照本身的規劃填寫便可,千萬不要使用Linux系統/tmp目錄,由於這個目錄Linux有本身的清除機制,會形成數據丟失。
此文件爲HDFS的配置文件,主要配置HDFS的存儲副本數量。
經過vim打開hdfs-site.xml:
vim [hadoop]/etc/hadoop/hdfs-site.xml
此文件初次次配置配置信息也是空的,須要在<configuration>標籤中增長要配置的內容,配置模版內容以下:
<configuration> <property> <!--指定hdfs保存數據副本的數量,包括本身,默認爲3--> <!--僞分佈式模式,此值必須爲1--> <name>dfs.replication</name> <value>1</value> </property> </configuration>
此文件主要修改的也是<value>標籤的內容,安裝僞集羣的話,將值配置爲1便可。由於僞分佈式只有一臺服務器,沒法實現分佈式存儲。
此目錄主要配置的是maperd的運行平臺。
在/etc/hadoop的目錄下,只有一個mapred-site.xml.template文件,此文件爲配置模版文件,將其複製一個改名,將後綴.template去掉便可。操做命令以下:
cp mapred-site.xml.template mapred-site.xml
經過vim打開mapred-site.xml文件。命令以下:
vim [hadoop]/etc/hadoop/mapred-site.xml
此文件初次配置,配置內容也爲空,將以下的模版信息填入便可,此配置是讓mapreduce運行在yarn上。
<configuration> <property> <!--指定mapreduce運行在yarn上--> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
此文件是yarn的核心配置文件,主要管理yarn的配置以及NodeMannager獲取數據的方式。
經過vim打開yarn-site.xml 文件。命令以下:
vim [hadoop]/etc/hadoop/yarn-site.xml
此文件第一次初次配置,配置內容也爲空,配置模版以下:
<configuration> <property> <!--指定yarn的master,resourcemanager的地址--> <name>yarn.resourcemanager.hostname</name> <value>hadoop01</value> </property> <property> <!--NodeManager獲取數據的方式--> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
第一個<value>標籤的值須要改成本身規劃的主機名稱,其餘的不用作修改。
此文件是配置本身的下屬成員的。
vim打開此文件,命令以下:
vim slaves
打開文件發現,這是一個空文件,只須要在這個文件中添加本身下屬的服務器主機名稱便可,由於是僞集羣,只有一臺主機,因此這裏只需輸入本身的規劃的主機名稱便可,例如:
hadoop01
輸入完成,退出保存便可。
使用Hadoop和java同樣,也許要配置環境變量,在/etc/profile文件中添加Hadoop的環境變量信息便可。
使用以下命令打開/etc/profile文件:
vim /etc/profile
export HADOOP_HOME=/home/park/work/hadoop-2.5.2/ export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
注意:HADOOP_HOME的值爲Hadoop的安裝目錄,不要盲目照抄。
PATH的值須要配置兩個,一個bin的路徑,一個sbin的路徑,由於Hadoop中有兩個命令目錄,這兩個命令目錄都須要添加到環境變量中。
使用以下命令,從新加載配置文件:
source /etc/profile
環境變量配置完成,測試環境變量是否生效。
echo $HADOOP_HOME
出現Hadoop的安裝路徑信息,即爲配置正確。
正常狀況,配置完成的Hadoop不須要重啓。若是Hadoop中一些配置文件不生效,能夠重啓Linux服務來解決此問題。爲何須要重啓配置文件才起做用?緣由暫時不明。
重啓命令以下,使用其中那個均可以:
reboot init 6
在啓動Hadoop以前須要進行一個格式化的操做,這個操做保證namenode可以正常的存儲數據。
進入hadoop/bin輸入命令格式化namenode,命令以下:
hadoop namenode -format
之前格式化的命令是下面這樣的:
hdfs namenode -format
在格式化的時候,看到以下輸出信息,則證實格式化成功。
Storage directory /tmp/hadoop-root/dfs/name has been successfully formatted
在hadoop-2.7.1/sbin目錄下有不少命令文件,進入此目錄能夠看到,在此目錄下執行以下命令,能夠啓動整個Hadoop集羣組件:
./start-all.sh
在啓動以後,輸入以下命令:
jps
能夠看到5個Hadoop相關的進程,則證實啓動成功。
在/home/app/hadoop-2.6.0/sbin目錄下也一樣存在關閉服務的命令,在此目錄下輸入以下命令,則關閉整個集羣組件,中止服務。
./stop-all.sh
hadoop fs -mkdir /user/trunk hadoop fs -ls /user hadoop fs -lsr /user (遞歸的) hadoop fs -put test.txt /user/trunk hadoop fs -put test.txt . (複製到hdfs當前目錄下,首先要建立當前目錄) hadoop fs -get /user/trunk/test.txt . (複製到本地當前目錄下) hadoop fs -cat /user/trunk/test.txt hadoop fs -tail /user/trunk/test.txt (查看最後1000字節) hadoop fs -rm /user/trunk/test.txt hadoop fs -rmdir /user/trunk hadoop fs -help ls (查看ls命令的幫助文檔)
當Hadoop服務配置完成,正常重啓,能夠在別的pc上經過瀏覽器輸入以下格式的地址,即可以訪問Hadoop的Web管理頁面。
http://[server_ip]:50070
若是訪問不了有多是服務器50070端口被關閉了。經過以下方式打開50070端口:
service iptables status #查詢防火牆狀態 service iptables start #開啓防火牆 iptables -I INPUT -p tcp --dport 80 -j ACCEPT #開通特定端口 iptables -I INPUT -p tcp --dport 80 -j DROP #關閉特定端口 service iptables save #保存配置 service iptables restart #重啓防火牆
上一篇:Hadoop簡介
下一篇:Hadoop徹底分佈式集羣搭建