搭建Cloud Computing测试环境--hadoop/hbase

1、硬件环境
    我们采用了3台机器来构建,都安装的是Ubuntu8.04系统,并且都有一个名为“quan“的帐号,如下:
           主机名称:360quan-1    ip:192.168.0.37        功能:NameNode,JobTracker
           主机名称:360quan-2    ip:192.168.0.43        功能:DataNode,TaskTracker
   主机名称:360quan-3    ip:192.168.0.53        功能:DataNode,TaskTracker
    重点:修改3台机器的/etc/hosts,让彼此的主机名称和ip都能顺利解析
          127.0.0.1       localhost
          192.168.0.37    360quan-1
          192.168.0.43    360quan-2
          192.168.0.53    360quan-3
2、每台机器都要安装java环境,我们的路径统一为“/opt/jdk1.6.0_03“,并添加到系统环境变量 sudo gedit /etc/profile
Xml代码 复制代码
  1.       JAVA_HOME=/opt/jdk1.6.0_03   
  2. CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:.   
  3. PATH=$JAVA_HOME/bin:$PATH   
  4. export JAVA_HOME   
  5. export CLASSPATH   
  6. export PATH  
JAVA_HOME=/opt/jdk1.6.0_03
 CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:.
 PATH=$JAVA_HOME/bin:$PATH
 export JAVA_HOME
 export CLASSPATH
 export PATH

3、下载hadoop0.16.3,hbase0.12版本到"360quan-1",将hadoop解压到/home/quan/opt/hadoop,hbase解压到hadoop/contrib/hbase。建议最好也将hadoop的目录添加到环境变量里面去:

Xml代码 复制代码
  1.       HADOOP_HOME=/home/quan/opt/hadoop #这是hadoop的主目录   
  2. export HADOOP_HOME   
  3. HADOOP_CONF_DIR=$HADOOP_HOME/conf    #这是hadoop的配置文件目录   
  4. export HADOOP_CONF_DIR   
  5. HADOOP_LOG_DIR=/home/quan/hadoop/log     #存放运行日志目录   
  6. export HADOOP_LOG_DIR   
  7. HADOOP_SSH_OPTS="-p 22"          #SSH的端口号,其实默认就是22   
  8. export HADOOP_SSH_OPTS    
HADOOP_HOME=/home/quan/opt/hadoop #这是hadoop的主目录
 export HADOOP_HOME
 HADOOP_CONF_DIR=$HADOOP_HOME/conf #这是hadoop的配置文件目录
 export HADOOP_CONF_DIR
 HADOOP_LOG_DIR=/home/quan/hadoop/log #存放运行日志目录
 export HADOOP_LOG_DIR
 HADOOP_SSH_OPTS="-p 22"   #SSH的端口号,其实默认就是22
 export HADOOP_SSH_OPTS

4、安装ssh,这里注意ubuntu8.04下面是ssh2,如果是ssh1的话,请升级,安装完后,建立ssh通道,使用空密码(生产环境可不能使用空密码啊),这里使用“360quan-1”这台机器为例说明:

Xml代码 复制代码
  1.        sudo apt-get install ssh   
  2. ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa   
  3. cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys  
sudo apt-get install ssh
 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 
 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

以上配置完成后,执行一下ssh localhsot,确认你的每台机器都可以使用ssh(不需要密码)连接,连接成功后会输出以下信息:

Xml代码 复制代码
  1.        Linux zhangqiaohui-desktop 2.6.24-19-generic #1 SMP Wed Jun 4 16:35:01 UTC 2008 i686   
  2. The programs included with the Ubuntu system are free software;   
  3. the exact distribution terms for each program are described in the   
  4. individual files in /usr/share/doc/*/copyright.   
  5. Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by   
  6. applicable law.   
  7. To access official Ubuntu documentation, please visit:   
  8. http://help.ubuntu.com/   
  9. Last login: Thu Jun 12 10:40:50 2008 from localhost  
Linux zhangqiaohui-desktop 2.6.24-19-generic #1 SMP Wed Jun 4 16:35:01 UTC 2008 i686
 The programs included with the Ubuntu system are free software;
 the exact distribution terms for each program are described in the
 individual files in /usr/share/doc/*/copyright.
 Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
 applicable law.
 To access official Ubuntu documentation, please visit:
 http://help.ubuntu.com/
 Last login: Thu Jun 12 10:40:50 2008 from localhost

     ok后,我们将“360quan-1”机器上产生的这个空密钥拷贝到另外2台机器上,作为公共密钥,让namenode也可以不需要密码访问2台datanode:

Xml代码 复制代码
  1.        sudo scp authorized_keys 360quan-2:/home/quan/.ssh/   
  2. sudo scp authorized_keys 360quan-3:/home/quan/.ssh/   
  3. ssh 360quan-2   
  4. ssh 360quan-3  
sudo scp authorized_keys 360quan-2:/home/quan/.ssh/ 
 sudo scp authorized_keys 360quan-3:/home/quan/.ssh/ 
 ssh 360quan-2
 ssh 360quan-3

5、接下来,我们要修改hadoop的相关设定了。修改"360quan-1"上面的hadoop的[conf/masters]、[conf/slaves]这2个文件:

       Master设置(<HADOOP_HOME>/conf/masters) :360quan-1
       Slave设置(<HADOOP_HOME>/conf/slaves) L:360quan-2 360quan-3
6、修改[conf/hadoop-env.sh]:

       export JAVA_HOME=/opt/jdk1.6.0_03

7、修改[conf/hadoop-site.xml],这里只是几个常用的属性配置,有关hadoop的性能优化调整,需要研究hadoop-default.xml:

Xml代码 复制代码
  1. <configuration>  
  2.         <property>  
  3.             <name>fs.default.name</name>  
  4.             <value>360quan-1:9000</value>  
  5.             <description>指定NameNode的IP地址和端口号,缺省值是file:///, 表示使用本地文件系统, 用于单机非分布式模式</description>  
  6.         </property>  
  7.         <property>  
  8.             <name>mapred.job.tracker</name>  
  9.             <value>360quan-1:9001</value>  
  10.             <description>指定 JobTracker的IP地址和端口号。缺省值是local, 表示在本地同一Java进程内执行JobTracker和TaskTracker, 用于单机非分布式模式</description>  
  11.         </property>  
  12.         <property>  
  13.             <name>dfs.replication</name>  
  14.             <value>1</value>  
  15.             <description>指定HDFS中每Block被复制的次数,起数据冗余备份的作用。在典型的生产系统中,这个数常常设置为3。</description>  
  16.         </property>  
  17.         <property>  
  18.             <name>hadoop.tmp.dir</name>  
  19.             <value>/home/quan/opt/hadoop/tmp/</value>  
  20.         </property>  
  21.     </configuration>  
<configuration>
  <property>
   <name>fs.default.name</name>
   <value>360quan-1:9000</value>
   <description>指定NameNode的IP地址和端口号,缺省值是file:///, 表示使用本地文件系统, 用于单机非分布式模式</description>
  </property>
  <property>
   <name>mapred.job.tracker</name>
   <value>360quan-1:9001</value>
   <description>指定 JobTracker的IP地址和端口号。缺省值是local, 表示在本地同一Java进程内执行JobTracker和TaskTracker, 用于单机非分布式模式</description>
  </property>
  <property>
   <name>dfs.replication</name>
   <value>1</value>
   <description>指定HDFS中每Block被复制的次数,起数据冗余备份的作用。在典型的生产系统中,这个数常常设置为3。</description>
  </property>
  <property>
   <name>hadoop.tmp.dir</name>
   <value>/home/quan/opt/hadoop/tmp/</value>
  </property>
 </configuration>

8、修改hbase的[hbase-evn.sh]:
      export JAVA_HOME=/opt/jdk1.6.0_03
9、修改hbase的[hbase-site.xml]:

Xml代码 复制代码
  1. <configuration>  
  2.         <property>  
  3.             <name>hbase.master</name>  
  4.             <value>360quan-1:60000</value>  
  5.         </property>  
  6.         <property>  
  7.             <name>hbase.rootdir</name>  
  8.             <value>hdfs://360quan-1:9000/hbase</value>  
  9.         </property>  
  10. </configuration>  
<configuration>
  <property>
   <name>hbase.master</name>
   <value>360quan-1:60000</value>
  </property>
  <property>
   <name>hbase.rootdir</name>
   <value>hdfs://360quan-1:9000/hbase</value>
  </property>
</configuration>

10、然后将hadoop的整体环境拷贝到360quan-2、360quan-3上面去
      scp -r /home/quan/hadoop 360quan-2:/home/hdp/
          scp -r /home/quan/hadoop 360quan-3:/home/hdp/
11、在360quan-1这个namenode上面格式化一个新的分布式文件系统HDFS,就是hadoop-site.xml文件中指定的hadoop.tmp.dir路径
         <HADOOP_HOME>/bin/hadoop namenode -format
  
到此大致上就完成了属于你自己的Cloud Computing环境了
        启动hadoop:<HADOOP_HOME>/bin/start-all.sh
        启动hbase:<HADOOP_HOME>/contrib/hbase/bin/start-hbase.sh
        停止hbase:<HADOOP_HOME>/contrib/hbase/bin/stop-hbase.sh
        停止hadoop:<HADOOP_HOME>/bin/stop-all.sh
说明:
   (1) 执行 $ bin/start-all.sh启动Hadoop进程后,会启动5个java进程,同时会在/tmp目录下创建五个pid文件记录这些进程ID号。通过这五个文件,可以得知namenode,datanode,secondary namenode,jobtracker,tasktracker 分别对应于哪一个Java进程。当你觉得 Hadoop 工作不正常时,可以首先查看这5个java进程是否在正常运行,运行jps命令也可以查看。
   (2) 访问 http://360quan-1:50030 可以查看JobTracker的运行状态。访问 http://360quan-1:50060可以查看 TaskTracker的运行状态。访问 http://360quan-1:50070可以查看NameNode以及整个分布式文件系统的状态,浏览分布式文件系统中的文件以及log等。
   (3) 查看 ${HADOOP_HOME}/logs目录下的log文件,namenode,datanode,secondary namenode,jobtracker, tasktracker各有一个对应的log文件,每一次运行的计算任务也有对应用log文件。分析这些log文件有助于找到故障原因。

转载于:https://www.cnblogs.com/wycg1984/archive/2009/08/03/1537496.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值