hadoop学习【2】——hadoop安装配置

hadoop学习【2】——hadoop安装配置

前言这是hadoop学习的第二步了,这次是首次正式的摸索安装和配置hadoop,不过还好,这次安装配置还是比较幸运的,只花了半天的时间(也就3个来小时)。最终包含三个节点的hadoop平台算是跑起来了。

这里我没有截图,所以只能写下一些步骤和记录一些期中安装出现了错误了。

一、环境准备:

(1)硬件准备

       这里因为只是搭一个学习的实验平台,所以机器的选择没有配置很高,这里的三台机子都是我们学校机房的机子,配置:2G内存、500G硬盘其他的都是很普通的配置。在上面安装的就是CentOS操作系统,前面一篇文章介绍了我安装CentOS和win7双系统的苦逼过程,这里就不再说了,假设大家已经有了linux操作系统了。

       【附】企业hadoop环境配置

选型理念

>>普通的,廉价的,标准的(容易替换的),工业化大规模生产的,Hadoop可以自劢支持多核CPU,比如选择2个四核CPU,主流主频,16-32G内存,更大的内存可以使Linux将常用数据缓存在内存,减少IO量,提高速度,存储集群应该使用大量廉价硬盘,例如4个主流大容量(当前为2T)普通SATA硬盘。出于成本考虑一般无需使用SCSI、SAS接口类型硬盘或SSD硬盘
>>网络非常重要,建议使用千兆网和高带宽的交换机,但也无需使用infinband这类与用设备RAID是丌需要的,可以考虑使用JBOD

***安装Linux后一定要确认iptables,selinux等防火墙戒访问控制机制已经关闭,否则实验很可能受影响

我这里三台机子分别是:

10.106.0.24  h1    namenode

10.106.0.2    h2    datanode

10.106.0.42  h3    datanode

用grid用户进行安装

(2)所需文件:

包括 jdk 和 hadoop

             jdk下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk6u37-downloads-1859587.html,下载如jdk-6u13-linux-i586.bin

            hadoop下载地址:http://archive.apache.org/dist/hadoop/core/hadoop-1.0.3/或者当前更高版本

             这里jdk使用:jdk1.6.0_13

             hadoop使用:hadoop-1.0.3

二、安装java jdk

以root登录三个机器,执行jdk-6u13-linux-i586.bin,会得到一个jdk文件夹,将其放入预定位置(如/usr/program/jdk/)下

将JAVA_HOME添加到/etc/profile文件下

[root:]#vi /etc/profile
在最后添加如下内容:

#add by jonsen for jdk
#set java envrionment
export JAVA_HOME=/usr/program/jdk/jdk1.6.0_13
export JRE_HOME=/usr/program/jdk/jdk1.6.0_13/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH


三、配置CentOS:

在/etc/hosts文件中为三台机器添加名称映射

10.106.0.24 h1
10.106.0.2 h2
10.106.0.42 h3

四、hadoop配置

0、(重点)免密码访问配置(两台服务器之间访问免密码)

ssh-keygen -t rsa -f ~/.ssh/id_rsa

后面接着两个回车(使用缺省目录即可)

ls -a可以看到隐藏目录:.ssh

进入会发现两个文件: id_rsa   id_rsa.pub

注意要以grid用户登录,在grid用户的主目录下进行操作!
每个节点作相同操作

将id_rsa.pub 拷贝到当前目录下的authoried_keys文件中

把各个节点的authorized_keys的内容互相拷贝加入到对方的此文件中,然后就可以免
密码彼此ssh连入

1、将下载的hadoop-1.0.3.tar.gz解压到/home/grid/目录下, 并修改权限

[root]# chown -R grid:grid /home/grid/hadoop-1.0.3

2、配置hadoop, 配置文件在/home/grid/hadoop-1.0.3/conf/目录下

2.1、在hadoop-env.sh文件中添加JAVA_HOME

#added by Jonsen for JDK_HOME
export JAVA_HOME=/usr/program/jdk/jdk1.6.0_13

2.2、在core-site.xml文件中添加配置信息


   
     fs.default.name
     hdfs://h1:9000/
   
   
     hadoop.tmp.dir
     /home/grid/hadoop-1.0.3/tmp
   
其中fs.default.name为namenode的交互端口,注意不要使用已经占用的端口就好

hadoop.tmp.dir是用来存储其他临时目录的根目录,这个一定要有,否则重启后可能会启动不了hadoop了

2.3、在hdfs-site.xml文件中添加配置信息


   
     dfs.replication
     2
   
dfs.replication:冗余数量,备份的数据量

2.4、在mapred-site.xml文件中添加配置信息


  
     mapred.job.tracker
     h1:9001
  
mapred.job.tracker:jobTracker的交互端口

2.5、在master文件中写入hadoop  namenode节点

h1

2.6、在slaves文件中写入hadoop datanode数据节点

h2
h3

2.7、配置完毕,将/home/hadoop/hadoop-1.0.3拷贝到其他站点

scp -r /home/grid/hadoop-1.0.3/ grid@h2:/home/grid/
scp -r /home/grid/hadoop-1.0.3/ gred@h3:/home/grid/

3、格式化hadoop,在hadoop.master站点上执行

cd /home/grid/hadoop-1.0.3
bin/hadoop namenode -format

4、启动集群

cd /home/grid/hadoop-1.0.3
bin/start-all.sh

五、配置中常见的错误总结:

参见:http://blog.csdn.net/yonghutwo/article/details/9206059写的很详细!

你可能感兴趣的:(hadoop学习)