ITPub博客

首页 > 大数据 > Hadoop > 基于openstack上的hadoop平台搭建

基于openstack上的hadoop平台搭建

Hadoop 作者:broodpool 时间:2013-07-08 15:45:41 0 删除 编辑
一、环境准备
   1、在openstack(G版)平台上创建三台ubuntu-12.04-server-amd64为操作系统的虚拟机,并使得三台机子在同一个网段中,能访问外网,如下图所示:
 基于openstack上的hadoop平台搭建
                                图一   三台虚拟机的创建

基于openstack上的hadoop平台搭建                   
                                  图二     虚拟机的拓扑结构

   2、分别启动三台虚拟机的root用户
  •      # sudo passwd root
  •      设置密码
  •      # su root
  •      输入密码进入root模式
   3、修改hostname(虚拟机使用操作系统镜像默认hostname是cloud,全部修改不同的hostname)
  •    # vi /etc/hostname
  •    分别将三台虚拟机的hostname改为:master,slave1,slave2
  •    # shutdown -r now
  •    重启系统后hostname修改成功

   4、修改hosts(域名要与每台机子的hostname一致)

  •   # vi /etc/hosts
  •   10.10.10.2   master
  •   10.10.10.5   slave1  
  •   10.10.10.6   slave2
  •   分别在每台自己内添加上面3行,使得可以通过域名互相访问
  •   测试: #ping master  #ping slave1  #ping slave2  (3条命令都能ping通则OK)

   5、安装ssh(我做的镜像中已经安装了ssh,可以通过ssh自己试下看安装了没有:#ssh localhost。若没有,用下面命令安装)

  •   # apt-get isntall ssh
  •   # ssh -version 显示ssh安装的版本

   6、安装rsync(我做的镜像中也已经安装了,这个东西是什么,我还不是很清楚,但linxiao的hadoop安装文档里是这么写的,如果没安装,如下)

  •   # apt-get isntall rsync

   7、配置ssh免密码登录(为了是master能够免密码登录两台slave)

  •  在master机子中生成ssh的公钥,然后放入到授权文件中
    
     ssh-keygen -t dsa -P ‘  ’ -f ~/.ssh/id_dsa
    cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
  •  把公钥复制到slaves相同的目录
    
    # scp ~/.ssh/authorized_keys slave1:~/.ssh/
    
    
    # scp ~/.ssh/authorized_keys slave2:~/.ssh/
    
  • 验证是否成功 (成功了master无需密码就可登录slaves,但slaves反过来登录master还是要密码)
    
    # ssh slave1   
    
    
    # ssh slave2   

  

二、下面就是开始搭建hadoop,搭建hadpoo-1.1.2  

    1、下载hadoop-1.1.2

       # wget http://apache.mirrors.hoobly.com/hadoop/common/hadoop-1.1.2/hadoop-1.1.2.tar.gz

    2、新建 linux 终端,建立app目录,Hadoop都将安装在此目录中。

           # mkdir   /app

       3、接下来,安装Hadoop,Hadoop解压即可。

           # mv hadoop-1.1.2.tar.gz  /app      将下载的压缩文件移动到app文件中

           # cd  /app

           # tar -zxf  hadoop-1.1.2.tar.gz

       4、安装JDK-7,在安装的过程中,我先更换了更新源,通过命令安装

           # apt-get install openjdk-7-jdk

           安装完后通过一个helloworld的例子测试了一下,结果可以。

      5、 配置JDK和hadoop的环境变量

        # vi  /etc/profile

         在最后添加一下内容

          export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

          export HADOOP_HOME=/app/hadoop-1.1.2

          export PATH=$JAVA_HOME/bin: ${HADOOP_HOME}/bin:$PATH

          export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:${HADOOP_HOME}/conf

      6、 配置hadoop,指定jdk安装路径

          # cd  /app/hadoop-1.1.2

          # vi   conf/hadoop-env.s    


export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

   7、 修改Hadoop核心配置文件core-site.xml,这里配置的hadoop临时文件夹,HDFS的地址和端口号,设置心跳时间间隔

   # vi conf/core-site.xml

hadoop.tmp.dir/app/hadoop_tmp

fs.default.namehdfs://master :9000

heartbeat.recheck.interval3

     8、修改Hadoop中HDFS的配置,配置的备份方式默认为3,因为slaves数为2,所以需要改为2

vi conf/hdfs-site.xml



dfs.name.dir/root/dfs_name1,/root/dfs_name2

dfs.data.dir/root/dfs_data1,/root/dfs_data2

dfs.replication2


    9、修改Hadoop中MapReduce的配置文件,配置的是JobTracker的地址和端口


gedit conf/mapred-site.xml



mapred.job.trackermaster:9001

mapred.local.dir/root/mapred_local


   9、修改 conf/masters 和conf/slaves文件

         #vi  masters

          master

       #vi  slaves

         slave1

        slave2  

 

   10、然后,把配置好的hadoop文件打包扔到两个slave相同的目录下


scp -r /app/hadoop-1.1.2 slave1:/app/

scp -r /app/hadoop-1.1.2 slave2:/app/

   11、接下来,启动Hadoop,在启动之前,需要格式化Hadoop的文件系统HDFS,进入Hadoop文件夹,输入下面命令 


hadoop namenode -format
       添加轻松启动项

gedit  ~/.bashrc

          加入

alias  starthadoop='/app/hadoop-1.1.2/bin/start-all.sh'
alias  stophadoop='/app/hadoop-1.1.2/bin/stop-all.sh'
alias  restarthadoop='stophadoop&&starthadoop'

         执行

source ~/.bashrc


然后启动Hadoop,输入命令

starthadoop
这个命令为所有服务全部启动。

最后,验证Hadoop是否安装成功。打开浏览器,分别输入一下网址:

http://master:50030    (MapReduce的Web页面)

http://master:50070    (HDfS的web页面)





<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21937342/viewspace-1120289/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-06-20