hadoop集群环境的配置

标签: hadoop 集群 环境 | 发表时间:2012-02-02 02:47 | 作者:
出处:http://www.iteye.com

  之前说过,我们的hadoop集群已经搭建起来了,只是具体的步骤还没来得及整理,幸好今天又把流程走了一遍,真的是不做不晓得,一做才发现自己原来什么都忘记得差不多了,在此记录一下搭建hadoop集群的步骤,便于需要的时候看看!

  这个配环境的过程真的是比较困难的,我今天搞了一天终于把自己的机器作为datanode连接上了master机器,我还是年前搞过一遍的呢,所以这个还是需要耐心+细心的!

  这里首先声明一下,我之前在我的机器上配置过了hadoop的单机伪分布环境,今天才将我的机器作为一个datanode加入到hadoop集群上的,但是装的ubuntu的版本和jdk的位置跟集群上的都不一样,这说明这个不影响hadoop集群的配置,但是,jdk的版本号和hadoop的版本号以及hadoop装的位置都必须是一样的!下面我们就开始吧!

 

 一、资源的准备:

 (1)ubuntu-11.10-beta2-desktop-i386.iso ,ubuntu的安装,直接双击下载的这个东西就行了,真的就像装软件一样!

 (2)jdk-6u30-linux-i586.bin,安装jdk要用的,一个hadoop集群上只能用一个版本的jdk,我们用的是这个版本。

 (3)hadoop-0.20.203.0rc1.tar.gz,安装hadoop集群必备的!

 

 二、jdk的安装(这里的路径可以自己确定,不一定要和集群上的一样)
    我的是放在/home/acer下面的(acer是我电脑的用户名)


    1.将刚才准备的jdk放到这个目录下(这一步不是必要的)

     sudo cp jdk以前的路径 jdk现在的路径
 
    2.解压执行安装jdk(这里会涉及到权限的问题)

      先修改jdk文件的权限
      sudo chmod u+x jdk-6u30-linux-i586.bin
      再执行安装
      sudo ./jdk-6u30-linux-i586.bin
      第二步完成之后就会在/home/acer/目录下出现一个jdk1.6.0_30的文件夹
 
   3.配置环境变量
    编辑配置文件:sudo gedit /etc/profile
 
    在这个文件最后面添加这么几行:

    export JAVA_HOME=/home/acer/jdk1.6.0_30

    export JRE_HOME=/home/acer/jdk1.6.0_30/jre 
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    export PATH=$JAVA_HOME/bin:$PATH
 

  4.重启机器,查看jdk是否安装成功以及版本号
    在终端输入:java

    如果出来一系列目录东东就是正确了
    在终端输入:java -version

    可以查看jdk的版本号
    如果木有安装成功,可能就是配置问题了,慢慢看,细心点就应该没有问题了!

 

 三、安装hadoop(主要针对master机器)
  只要在master机器上安装hadoop就行了,其他机器上的hadoop都可以直接通过连接远程服务器的方式进行复制,这样就方便多了!

 

  1.将刚才准备的 hadoop-0.20.203.0rc1.tar.gz文件复制到/usr/local文件目录下面:
    sudo cp hadoop压缩包路径 /usr/local

  2.解压hadoop软件包
    sudo tar -xzf  hadoop-0.20.203.0rc1.tar.gz
   为了以后写目录方便,将解压出来的文件修改名字为hadoop:
   sudo mv hadoop-0.20.203.0 hadoop


  3.为hadoop集群中的每一个节点都创建一个hadoop的用户组和hadoop用户名,这样便于记忆以及管理
    建立hadoop用户组:sudo addgroup hadoop
    在hadoop用户组下面建立一个hadoop用户名:
    sudo adduser -ingroup hadoop hadoop
    (这里创建hadoop用户的时候很多信息你不用去添,一直按enter键就行了)

   

  4.添加hadoop用户的权限
    打开sudoers文件:sudo gedit /etc/sudoers
    在root ALL=(ALL:ALL) ALL后面加上一行:
    hadoop ALL = (ALL) ALL

    创建了hadoop用户了之后我们以后就都在这个下面进行终端的操作了!

 

 5.配置conf/hadoop-env.sh文件;
   切换路径:cd /usr/local/hadoop
   编辑文件:sudo gedit conf/hadoop-env.sh
   将JAVA_HOME前面的#号去掉,java路径改为:
   JAVA_HOME=/home/acer/jdk1.6.0_30
 6.配置hosts文件(建立映射关系,用户名和ip一一对应着添加进来)
   sudo gedit /etc/hosts
   添加之后是这样:
   127.0.0.1   localhost
   127.0.0.1   ubuntu.ubuntu-domain    ubuntu
   192.168.1.11 master
   192.168.1.7 s7
   192.168.1.2 s2
   192.168.1.3 s3
   192.168.1.4 s4
   192.168.1.6 s6
   192.168.1.5 s5
   192.168.1.8 s8
   192.168.1.9  s9
   192.168.1.10 secondaryname

 


   # The following lines

   are desirable for IPv6 capable hosts
   ::1     ip6-localhost ip6-loopback
   fe00::0 ip6-localnet
   ff00::0 ip6-mcastprefix
   ff02::1 ip6-allnodes
   ff02::2 ip6-

   allrouters

(注:这里可以修改自己主机的名字:sudo gedit /etc/hostname 在这个文件里面修改这个名字就行了)


7.配置master和slaves文件
  cd/usr/local/hadoop
  sudo gedit

  conf/masters 将这个文件的内容改为:master
  sudo gedit conf/slaves 将这个文件改为:
  s2
  s3
  s4
  s5
  s6
  s7
  s8
  s9
(这些就是要加进来的datanode节点的名称,其实这些只要在master机器上配置就行了)

 

8.配置core-site、mapred-site、hdfs-site文件
  sudo gedit conf/core-site.xml
  修改为:
 <configuration>
 <property> 
   <name>fs.default.name</name>  

   <value>hdfs://master:9000</value>  
   </property>  
  </configuration>

 

  sudo gedit conf/mapred-site.xml
  <configuration>
   <property>   
      <name>mapred.job.tracker</name> 
      <value>master:9001</value>  
   </property> 
  </configuration>


  sudo gedit conf/hdfs-site.xml
  <configuration>
  <property>
  <name>dfs.name.dir</name>
  <value>/usr/local/hadoop/datalog1,/usr/local/hadoop/datalog2</value>
  </property>
  <property>
  <name>dfs.data.dir</name>
  <value>/usr/local/hadoop/data1,/usr/local/hadoop/data2</value>
  </property>
  <property>
  <name>dfs.replication</name>
  <value>2</value>
  </property>
  </configuration>

 

 

9.安装SSH

  切换到hadoop用户下或者以hadoop身份登录;

  1、下载ssh:sudo apt-get install openssh-server;

  2、创建sshkey为rsa;ssh-keygen -t rsa -P ""(注意:这里的P是大写的P)
    填写key保存路径的时候可以直接使用默认的(一直按enter键就行了。)

  3、将ssh-key添加到受信任列表并启用ssk-key
    cat /home/hadoop/.ssh/id_rsa.pub >>  /home/hadoop/.ssh/authorized_keys 
   (将公钥追加到收信任文件);
   重启ssh:sudo /etc/init.d/ssh reload 
  4、验证ssh是否

    安装成功ssh localhost;


10.生成公钥
   ssh-keygen -t dsa -P "" -f ~/.ssh/id_ rsa


11.启动namenode
   namenode启动之前做一次 block 负载均衡
    

    sudo gedit  conf/hdfs-site.xml
 
     <property>  
        <name>dfs.balance.bandwidthPerSec</name>      

        <value>10485760</value>  
         <description> 
            Specifies the maximum bandwidth that each datanode can utilize for the balancing purpose in term of the number of bytes per second. 
         </description> 
     </property>   
    

    bin/start-balancer.sh

 

    bin/start-dfs.sh


好了,到这里基本就差不多了,接下来就是远程复制文件了
要将master机器上的文件一一复制到datanode机器上:(这里以s2为例子)

(1)公钥的复制
    scp ~/.ssh/id_rsa.pub hadoop@s2:~/.ssh/

(2)hosts文件的复制
    scp /etc/hosts  hadoop@s2:/etc/hosts
    注:这里如果不能复制,就先将文件复制到/home/hadoop下面,即为:

    scp /etc/hosts  hadoop@s2:/home/hadoop,再在datanode机器上将其移到相同的路径下面/usr/local

(3)hadoop文件夹的复制,其中的配置也就一起复制过来了!
    scp /usr/local/hadoop hadoop@s2:/usr/local
    如果不能移动的话和上面的方法一样!
这些东西都复制完了之后,datanode机器还要将复制过来的公钥追加到收信任列表:

    cat ~/.ssh/id_rsa.pub >>  ~/.ssh/authorized_keys,还有很重要的一点,datanode机器要把复制过来的hadoop里面的data1,data2和logs删除掉!

这样之后基本上就差不多了,启动datanode和tasktracker:
    bin/hadoop-daemon.sh start datanode
    bin/hadoop-daemon.sh start tasktracker 
这里还可能会涉及到权限的问题:这里我们统一将/usr/local/hadoop文件夹里面的东西的所有者改为hadoop,所属组为hadoop:
   sudo chgrp -R hadoop hadoop
   sudo chown -R hadoop:hadoop

查看自己的datanode是否启动:jps
当jps不能正常使用的时候:resource /etc/profile

连接时可以在namenode上查看连接情况:
      bin/hadoop dfsadmin -report
也可以直接进入网址:master:50070

 

PS:常用到的一些命令:
新建目录(文件夹)
sudo mkdir 文件夹目


删除目录(文件夹)
sudo rm -rf 文件夹目录

 

 

这里写得还不是很全面,因为现在对这个东西了解得不是很深入,所以只能暂时这么写着,到时候通过研究,会对其进行一些修改及说明的!



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [hadoop 集群 环境] 推荐:

hadoop集群环境的配置

- - ITeye博客
  之前说过,我们的hadoop集群已经搭建起来了,只是具体的步骤还没来得及整理,幸好今天又把流程走了一遍,真的是不做不晓得,一做才发现自己原来什么都忘记得差不多了,在此记录一下搭建hadoop集群的步骤,便于需要的时候看看.   这个配环境的过程真的是比较困难的,我今天搞了一天终于把自己的机器作为datanode连接上了master机器,我还是年前搞过一遍的呢,所以这个还是需要耐心+细心的.

Hadoop集群安装&Hbase实验环境搭建

- - CSDN博客云计算推荐文章
1.安装ubuntu10.04操作系统. 安装成功后,系统也会有相应提示:. sudo vi /etc/inetd.conf并加入以下一行. sudo vi /etc/xinetd.conf并加入以下内容:. sudo vi /etc/xinetd.d/telnet并加入以下内容:. 重启机器或重启网络服务sudo /etc/init.d/xinetd restart.

分布式集群环境hadoop、hbase、zookeeper搭建(全)

- - CSDN博客云计算推荐文章
集群环境至少需要3个节点(也就是3台服务器设备):1个Master,2个Slave,节点之间局域网连接,可以相互ping通,下面举例说明,配置节点IP分配如下:. 三个节点均使用centos 6.3系统,为了便于维护,集群环境配置项最好使用相同用户名、用户密码、相同hadoop、hbase、zookeeper目录结构.

Hadoop环境搭建

- - 统计之都
Author:张丹(Conan). @晒粉丝 http://www.fens.me. @每日中国天气 http://apps.weibo.com/chinaweatherapp. RHadoop实践系列文章. RHadoop实践系列文章,包含了R语言与Hadoop结合进行海量数据分析. Hadoop主要用来存储海量数据,R语言完成MapReduce 算法,用来替代Java的MapReduce实现.

Hadoop集群与Hadoop性能优化

- - 学着站在巨人的肩膀上
本文讲解一下Hadoop集群、Hadoop性能优化、Hadoop机架感知实现、Hadoop配置等,下面是有关这些命令的具体介绍. Hadoop性能优化:Hadoop机架感知实现及配置:分布式的集群通常包含非常多的机器,由于受到机架槽位和交换机网口的限制,通常大型的分布式集群都会跨好几个机架,由多个机架上的机器共同组成一个分布式集群.

[hadoop] 搭建自己的hadoop集群

- - CSDN博客系统运维推荐文章
       a>  五台centos6.2虚拟机,配置主机名、IP地址、yum源、.        b>  准备所需要的软件包. 2> 配置我自己的hadoop 集群.       a>  修改5台机器的hosts文件.       b>  配置master无密码登录slave,在master01和master02上执行以下命令:   .

Hadoop 集群基准测试

- - IT瘾-dev
生产环境中,如何对 Hadoop 集群进行 Benchmark Test. 本文将通过 Hadoop 自带的 Benchmark 测试程序:TestDFSIO 和 TeraSort,简单介绍如何进行 Hadoop 的读写 & 计算性能的压测. 回顾上篇文章: 认识多队列网卡中断绑定. (本文使用 2.6.0 的 hadoop 版本进行测试,基准测试被打包在测试程序 JAR 文件中,通过无参调用 bin/hadoop jar ./share/hadoop/mapreduce/xxx.jar 可以得到其列表 ).

[hadoop] 基于Hadoop集群的HBase集群的配置

- - CSDN博客系统运维推荐文章
       a> 已经配置完成的Hadoop集群.        b> 所需要的软件包. 2>  单独安装的ZooKeeper集群,不基于HBase集群管理.        a> 在master01上解压zookeeper-3.4.4.tar.gz.        b> 修改Zookeeper的配置文件.

腾讯TDW:大型Hadoop集群应用

- - 服务器运维与网站架构|Linux运维|X研究
PS:TDW是腾讯最大的离线数据处理平台. 本文主要从需求、挑战、方案和未来计划等方面,介绍了TDW在建设单个大规模集群中采取的JobTracker分散化和NameNode高可用两个优化方案. TDW(Tencent distributed Data Warehouse,腾讯分布式数据仓库)基于开源软件Hadoop和Hive进行构建,打破了传统数据仓库不能线性扩展、可控性差的局限,并且根据腾讯数据量大、计算复杂等特定情况进行了大量优化和改造.

基于Eclipse的Hadoop开发环境配置方法

- - CSDN博客推荐文章
(1)启动hadoop守护进程. 在Terminal中输入如下命令:. (2)在Eclipse上安装Hadoop插件. 找到hadoop的安装路径,我的是hadoop-0.20.2,将/home/wenqisun/hadoop-0.20.2/contrib/eclipse-plugin/下的hadoop-0.20.2- eclipse-plugin.jar拷贝到eclipse安装目录下的plugins里,我的是在/home/wenqisun/eclipse /plugins/下.