Hadoop集羣搭建

一、安裝虛擬機java

虛擬機:VMware-workstation 11.0.0 node

操做系統:CentOS-6.5 64linux

二、安裝Xmanagerweb

版本:Xmanager-v5.0.0,完成安裝後,使用Xshell鏈接linux虛擬機,鏈接成功。shell

往虛擬機里拉文件比較方便,可是當虛擬機網絡鏈接改成橋接模式後變不能使用這個了。apache

三、建立用戶組和用戶bash

建立用戶組:groupadd hadoop網絡

添加用戶:useradd hadoop -g hadoopapp

四、安裝jdkssh

a)安裝包:jdk-7u21-linux-i586.tar.gz(不推薦使用rpm格式)

b)解壓到/opt文件目錄:tar -zxvf jdk-7u21-linux-i586.tar.gz -C /opt

c)更名爲javamv jdk1.7.0_21 java

d)配置環境變量:vi /etc/profile,添加以下內容

  export JAVA_HOME=/opt/java
  exprot PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

e)使配置文件當即生效:source /etc/profile

f)設置全部者爲hadoopchown -R hadoop:hadoop java/

五、安裝Hadoop

a)安裝包:hadoop-2.6.3.tar.gz

b)解壓到/opt,更名爲hadoop

c)設置環境變量:vi /etc/profile,添加以下內容

 

  export HADOOP_HOME=/opt/hadoop
 export PATH=$HADOOP_HOME/bin:$PATH

 

 

d)使配置文件當即生效:source /etc/profile

e)設置全部者爲hadoopchown -R hadoop:hadoop hadoop/

f)在hadoop目錄下新建三個文件目錄:mkdir name/ ; mkdir data/ ; mkdir tmp/

六、修改地址解析文件/etc/hosts

命令:vi /etc/hosts,添加以下內容

192.168.253.131 master
192.168.253.132 data1
192.168.253.133 data2

 

 

七、修改hadoop配置文件

切換到hadoop用戶,修改hadoop/etc/hadoop(老版本是hadoop/conf)下的配置文件:

a)hadoop-env.shyarn-env.sh

修改:

export JAVA_HOME=/opt/java

 

 

bcore-site.xml <configuration> </configuration>標籤中添加以下內容:

 

<property>
    <name>hadoop.tmp.dir</name>
    <value>file:/opt/hadoop/tmp</value>
 </property>
 <property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
 </property>                         
 <property>     
    <name>io.file.buffer.size</name>
    <value>131072</value>
 </property>
 <property>
    <name>hadoop.proxyuser.u0.hosts</name>
    <value>*</value>
 </property>
 <property>
    <name>hadoop.proxyuser.u0.groups</name>     
    <value>*</value>
 </property>

 

 

 

chdfs-site.xml <configuration></configuration>標籤中添加以下內容:

  

<property>
     <name>dfs.namenode.secondary.http-address</name>
     <value>master:9001</value>
 </property>
 <property>
     <name>dfs.namenode.name.dir</name>
     <value>file:/opt/hadoop/name</value>
 </property>
 <property>
     <name>dfs.datanode.data.dir</name>
     <value>file:/opt/hadoop/data</value>
 </property>
 <property>
     <name>dfs.replication</name>
     <value>3</value>
 </property>
 <property>
     <name>dfs.webhdfs.enabled</name>
     <value>true</value>
 </property>

 

 

 

   d)默認只有mared-site.xml.template複製並命名:cp mared-site.xml.template mared-site.xml

    在<configuration></configuration>標籤中添加以下內容:

 

   <property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
 </property>
 <property>
     <name>mapreduce.jobhistory.address</name>
     <value>master:10020</value>
 </property>
 <property>
     <name>mapreduce.jobhistory.webapp.address</name>
     <value>master:19888</value>
 </property>

 

 

   eyarn-site.xml

    在<configuration></configuration>標籤中添加以下內容:

  <property>
   <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>
  </property>
  <property>
   <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
   <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>
  <property>
   <name>yarn.resourcemanager.address</name>
   <value>master:8032</value>
  </property>
  <property>
   <name>yarn.resourcemanager.scheduler.address</name>
   <value>master:8030</value>
  </property>
  <property>
   <name>yarn.resourcemanager.resource-tracker.address</name>
   <value>master:8035</value>
  </property>
  <property>
   <name>yarn.resourcemanager.admin.address</name>
   <value>master:8033</value>
  </property>
  <property>
   <name>yarn.resourcemanager.webapp.address</name>
   <value>master:8088</value>
  </property>

 

 

f配置slaves文件-->>增長slave節點 

vi slaves
data1
data2

 

 

八、克隆

完整克隆出兩個虛擬機,改hostnamevi /etc/hostname,分別爲masterdata1data2

九、配置虛擬機網絡

虛擬機安裝後默認的是NAT模式,自動獲取ip,本機能上網,虛擬機就能上網。Haoop集羣部署,最好是把三個虛擬機設爲橋接模式,就須要注意把三個ip設在同一個網段。

因爲克隆後的系統,虛擬機只是修改了虛擬機的名字MAC等,並在/etc/udev/rules.d/70-persistent-net.rules文件中增長了一行名爲eth1的設備名,

1vi /etc/udev/rules.d/70-persistent-net.rules 文件 

刪除掉 關於 eth0 的信息修改 第二條 eth1 的網卡的名字爲 eth0

2vi /etc/udev/rules.d/70-persistent-net.rules/etc/sysconfig/network-scripts/ifcfg-eth0

中的MAC地址要與虛擬機網卡的MAC地址相對應。

3vi /etc/sysconfig/network-scripts/ifcfg-eth0

修改UUIDIPADDR

到此:在masterping data1data2,能ping通,網絡就配置好了

十、SSH無密碼登陸

1)產生密鑰

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

2)導入authorized_keys

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

3)試驗看是否安裝成功

#查看是否有sshd進程  ps -e | grep ssh

#嘗試登陸本地  ssh localhost

4)密鑰共享

#以下:hadoop是個人用戶名

#進入master.ssh目錄

scp authorized_keys hadoop@data1:~/.ssh/authorized_keys_master

#進入data1.ssh目錄

cat authorized_keys_master  >>  authorized_keys

scp authorized_keys hadoop@data2:~/.ssh/authorized_keys_master

#進入data2.ssh目錄

cat authorized_keys_master  >>  authorized_keys

#此時的authorized_keys已經包含了三個虛擬機的密鑰,複製給masterdata1

scp authorized_keys hadoop@master:~/.ssh/authorized_keys

scp authorized_keys hadoop@data1:~/.ssh/authorized_keys

5)無密碼登陸測試

ssh data1

ssh data2

...

十一、配置Hadoop環境變量

export JAVA_HOME=/opt/java
export HADOOP_HOME=/opt/hadoop
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:
$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

 

 

前面已經配置過jdk的環境變量,只需再加上hadoop的就行

十二、啓動hadoop

hadoop namenode -format

start-all.sh

查看進程:jps

出現錯誤

-bash: /opt/java/bin/jps: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

yum install glibc.i686

下載失敗的話,使用以下方法

 

配置yum本地 安裝缺乏包(適合OEL)

mount /dev/cdrom1 /mnt

cd /etc/yum.repos.d 把裏面CentOS開頭的(默認的網絡下載相關文件)備份到aa(文件夾)

vi /etc/yum.repos.d/rhel-source.repo

[rhel-source]

name=Red Hat Enterprise Linux $releasever - $basearch - Source

baseurl=file:///mnt/

enabled=1

gpgcheck=0

 

yum install glibc.i686

 

做者的話:該文檔只是本身嘗試搭建hadoop作的一個筆記,有不清楚或者不對的地方還望見諒,若是發現不對的地方,望指明,共同窗習,共同進步。 

相關文章
相關標籤/搜索