Ubuntu Server 12.04 搭建 hadoop 集群版环境——基于VirtualBox

1 . 下载和安装Oracle VM VitualBox


2.  下载Linux系统Ubuntu Server版本
http://www.ubuntu.com/download/server   (ubuntu-12.04.2-server-i386.iso)

3.  在VirtualBox中虚拟三台linux主机,分别起名为
feixu-master
feixu-slave1
feixu-slave2

VirtualBox中,需要把每一个VM的网络设置为Bridge Adapter/Host Only,Bridge连接方式可以连接外网,Host Only相当于局域网,不能访问外网。

4.  为master和slave分别创建hadoop用户和用户组

先创建hadoop用户组:

  sudo addgroup hadoop

然后创建hadoop用户:

sudo adduser -ingroup hadoop hadoop

给hadoop用户添加权限,打开/etc/sudoers文件:

sudo vi f /etc/sudoers

root   ALL=(ALL:ALL)   ALL下添加hadoop   ALL=(ALL:ALL)  ALL

hadoop  ALL=(ALL:ALL) ALL

5.  修改master和slave机器名

打开/etc/hostname文件:

sudo vi /etc/hostname

6.  修改master和slave的hosts文件

sudo vi  /etc/hosts

在后面添加内容为:

192.168.1.100 feixu-master

  192.168.1.101 feixu-slave1

  192.168.1.102 feixu-slave2

注:hosts文件用于ip地址与主机名的映射,这样就可以通过主机名直接访问机器,不用通过IP。 每次IP地址变动的时候都需要改动此文件。

7.  为master和slave安装ssh服务和建立ssh无密码登陆环境

执行下面的命令来安装:

sudo apt-get install ssh openssh-server

采用rsa方式创建ssh-key

ssh-keygen -t rsa -""

(注:回车后会在~/.ssh/下生成两个文件:id_rsa和id_rsa.pub这两个文件是成对出现的)


进入~/.ssh/目录下,将id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件,完成下面的命令后,文件会自动生成出来;

 cd ~/.ssh

  cat id_rsa.pub >> authorized_keys

为每一台机器做完以上步骤后,可以用以下命令测试,正确的应该是无需密码直接访问本机

  ssh feixu-master;   ssh  feixu-slave1;   ssh feixu-slave2

另外还需要将master的密钥id_rsa.pub文件追加到slave机器的授权文件中

 cat master. id_rsa.pub >> slave. authorized_keys

测试从master机器访问slave,正确的应该是无需密码直接访问slave

ssh  feixu-slave1; ssh feixu-slave2

8.  为master和slave安装Oracle JDK

依次执行以下命令:

  sudo apt-get install python-software-properties
  sudo apt-get install apt-file && apt-file update

  sudo apt-get purge openjdk*

  sudo apt-get install software-properties-common

  #如果网络不是在proxy后面,可以省掉export以及-E的参数

   export  http_proxy = http : //<proxy>:<port>
   export  https_proxy = http : //<proxy>:<port>

  sudo -E add-apt-repository ppa:webupd8team/java

  sudo apt-get update

  sudo vim /etc/apt/apt.conf

  #如果文件中没有http和https的代理设置,就加上,当然,如果你不是要代理来上网的话,就不要设置了
  Acquire::http::proxy "http://<proxy>:<port>/";
  Acquire::https::proxy "https://<proxy>:<port>/";

  sudo apt-get install oracle-java7-installer

9.  为master和slave安装Hadoop

安装FTP服务,可以从window下载hadoop,然后通过ftp传到虚拟机上

 sudo apt-get install vsftpd

修改FTP配置文件,使其能够读写

 sudo vi /etc/vsftpd.conf

重启FTP服务

cd /srv/ftp;   sudo /etc/init.d/vsftpd  restart

下载hadoop-1.2.1.tar.gz,将它复制到安装目录 /usr/local/下

sudo cp hadoop-1.2.1.tar.gz /usr/local/

解压hadoop-1.2.1.tar.gz

cd /usr/local

  sudo tar -zxf hadoop-1.2.1..tar.gz

将解压出的文件夹改名为hadoop

sudo mv hadoop-1.2.1 hadoop

将该hadoop文件夹的属主用户设为hadoop

sudo chown -R hadoop:hadoop hadoop


打开hadoop/conf/hadoop-env.sh文件

sudo vim hadoop/conf/hadoop-env.sh

配置conf/hadoop-env.sh(找到#export JAVA_HOME=...,去掉#,然后加上本机jdk的路径)

export JAVA_HOME=/usr/lib/jvm/java-7-oracle

打开conf/core-site.xml文件

sudo vim hadoop/conf/core-site.xml

编辑如下:

  1. <?xml version="1.0"?> 
  2. <?xml-stylesheet type="text/xsl" href="http://ziscloud.blog.163.com/blog/configuration.xsl"?>                                                         
  3. <!-- Put site-specific property overrides in this file. -->                                                     
  4. <configuration> 
  5. <property>    
  6.   <name>fs.default.name</name>    
  7.   <value>hdfs://master:9000</value>     
  8.  </property>    
  9. </configuration> 


打开conf/mapred-site.xml文件

sudo vim hadoop/conf/mapred-site.xml

编辑如下:

  1. <?xml version="1.0"?> 
  2. <?xml-stylesheet type="text/xsl" href="http://ziscloud.blog.163.com/blog/configuration.xsl"?>                                                   
  3. <!-- Put site-specific property overrides in this file. -->                                                   
  4.     <configuration>    
  5.      <property>     
  6.       <name>mapred.job.tracker</name>    
  7.       <value>master:9001</value>     
  8.      </property>    
  9.     </configuration> 


打开conf/hdfs-site.xml文件

sudo vim hadoop/conf/hdfs-site.xml

编辑如下:

  1. <configuration> 
  2. <property> 
  3. <name>dfs.name.dir</name> 
  4. <value>/usr/local/hadoop/datalog1,/usr/local/hadoop/datalog2</value> 
  5. </property> 
  6. <property> 
  7. <name>dfs.data.dir</name> 
  8. <value>/usr/local/hadoop/data1,/usr/local/hadoop/data2</value> 
  9. </property> 
  10. <property> 
  11. <name>dfs.replication</name> 
  12. <value>2</value> 
  13. </property> 
  14. </configuration>

打开conf/masters文件,添加作为secondarynamenode的主机名,这里需填写 master 

sudo vim hadoop/conf/masters

打开conf/slaves文件,添加作为slave的主机名,一行一个

sudo vim hadoop/conf/slaves

这里填成下列的内容 :

  1. slave -1  
  2. slave -2  


10. 在master机器上测试hadoop集群

cd /usr/local/hadoop

  cd /hadoop/bin  
  ./hadoop namenode -format 

启动全部服务直接一条命令:

bin/start-all.sh

查看自己的datanode是否启动:

jps

连接时可以在namenode上查看连接情况:

bin/hadoop dfsadmin -report

也可以直接进入网址:

master:50070

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值