徹底分佈式 hadoop 1.X集羣部署

準備工做:配置好兩臺以上能免密碼ssh訪問的Linux服務器;下載好jdk和hadoop-1.2.1-bin.tar.gz;確保iptables、selinux等防火牆已關閉java

一、解壓jdknode

$tar -xzvf jdk-7u71-linux-i586.tar.gz

#將解壓出來的jdk文件轉移到usr目錄下,也能夠不轉移,後面經過環境變量配置到相應的目錄便可
$mv ./jdk1.7.0_71 /usr

二、解壓hadoop,配置hadooplinux

$tar -xzvf hadoop-1.2.1-bin.tar.gz

#進入到hadoop-1.2.1下面的conf目錄下
$cd hadoop-1.2.1/conf

#配置環境變量 java_home
$vi hadoop-env.sh

  #只修改這一行便可
  export java_home=/usr/jdk1.7.0_71
 
#修改core-site.xml
$vi core-site.xml

  <configuration>
  #自定義namenode的主機名 master.haddop,能夠自定義,也能夠是IP地址,若是是名稱,須要修改hosts
  <property>
  <name>fs.default.name</name>
  <value>hdfs://master.hadoop:9000</value> 
  </property>
  
  #指定hadoop的臨時路徑,若是不指定使用默認路徑,重啓hadoop後tmp目錄會被清空
  <property>
  <name>hadoop.tmp.dir</name> 
  <value>/home/sweet/hadoop-1.2.1/tmp</value>
  </property>
  </configuration>
  
#修改hdfs-site.xml
$vi hdfs-site.xml
    
  <configuration>
  #指定複製因子,由於是實驗環境,只用了一個datanode
  <property>
  <name>dfs.replication</name>
  <value>1</value> 
  </property>
  </configuration>
  
#修改mapred-site.xml
$vi mapred-site.xml
    
  <configuration>
  <property>
  <name>mapred.job.tracker</name>
  <value>master.hadoop:9001</value> 
  </property>
  </configuration>
  
#修改masters
$vi masters
  master.hadoop
  
#修改slaves
$vi slaves
  slave.hadoop01
  
#修改hosts,增長IP到名稱的解析,須要登陸有相應修改權限的用戶操做,其它datanode上的hosts也要做相同修改
$vi /etc/hosts
  #增長下面兩條
  192.168.1.100    master.hadoop
  192.168.1.101    slave.hadoop01
  
#能夠分別在幾臺服務器上ping相應的名稱試試有沒有成功

三、將配置分發到各datanode,有多少個datanode就複製多少份,服務器之間須要可以SSH免密碼連入shell

#先切換到用戶目錄下 /home/sweet
$scp -r ./hadoop-1.2.1 sweet@192.168.1.101:/home/sweet

#格式化名稱節點
$cd hadoop-1.2.1
$bin/hadoop namenode -format

#啓動hadoop,若是沒有配置本機到本機ssh免密碼訪問,這裏會不斷提示輸入密碼
$bin/start-all.sh

#驗證hadoop是否啓動
$/usr/jdk1.7.0_71/bin/jps

#master上面應該有NameNode, JobTracker, SecondaryNameNode三個進程
#slave上面應該有DataNode, TaskTracker兩個進程

到這裏,hadoop 1.X就部署完成了。服務器

相關文章
相關標籤/搜索