集群搭建在真实物理机上,为每台物理机安装Linux,这里选择的是CentOS 5.8的版本(实验室旧机器配置偏低),本人虽CS出身,现SE研一,但基础不咋地,在装Linux系统的过程中遇到诸多问题,解决起来也是一头雾水,比如在Linux磁盘分区,当初未考虑到hadoop集群用来处理大数据,分区大小完全按照普通的Linux学习机器分配,以至于后来下载大数据时磁盘空间不足(如果你是Linux大牛,能自如调整分区大小,那这对你而言绝对不是问题)……在本笔记中主要介绍的是hadoop环境搭建之前的所有准备工作。

   1,网络配置、hadoop集群的各个节点部署

   2,VNC远程登录环境

   3,SSH免密码登录

   4,JDK的安装


一、网络配置、hadoop集群的各个节点部署

   本人有幸得到实验室7台旧机器做hadoop实验,2012年11月搭建的集群,当时的部署仅使用4台机器,当初的部署计划:1台master,3台slave;后经回来毕业答辩的师兄指导,用上所有机器,添加一台SecondaryNameNode(同时也作为slave使用)作为辅助namenode,同时添加一个Client节点专门用于测试。每台机器上的/etc/hosts文件下必须要有集群中所有节点的IP(可以在一台机器上编辑,然后用scp复制到其它机器上)

Hadoop集群搭建笔记一_集群搭建


二、VNC远程登录环境

   集群节点均放置在另一房间,用VNC远程登录。

   1,VNC Server端配置步骤

Step1,在集群计算机上用yuminstall vnc-server命令安装vnc,然后编编/etc/sysconfig/vncservers文件,加入下列两行:

VNCSERVERS=”1:root”

VNCSERVERARGS[1]=”-geometry1024x768”

Step2,设置用户密码:vncpasswd

Step3,启动VNC服务:vncserver

Step4,编辑~/.vnc/xstartup文件:将

unset SESSION_MANAGER

exec/etc/X11/xinit/xinitrc

两行的注释去掉,并且在twm&前加上注释并在最后一行加上:

            GNOME-SESSION&

保存退出即可;

Step5,设置开机启动vnc服务:

chkconfig--level 5 vncserver on

   2,VNC Viewer端登录

   在“VNC Server”中输入需要远程控制的主机IP地址即可连接并控制:

   

Hadoop集群搭建笔记一_集群搭建_02

三、SSH免密码登录

   SSH的用处在于,集群中的各台机器间需要进行通信,正常情况下登录其它机器时需要密码,为了免去每次要输入密码的麻烦,设置SSH免密码登录时必要的,步骤如下:

   主节点:

   1. ssh-keygen –trsa             //生成密钥对.ssh文件,一路回车即可

   2. ls –a         //查看是否有.ssh文件夹

   3. cd .ssh       //进入.ssh目录并查看是否产生了密钥对

   4. cat~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

       5. chmod 600~/.ssh/authorized_keys      //修改authorized_keys的权限

       修改authorized_keys权限相当重要,如果没有安全的设置权限,可能会使RSA功能无法使用,在验证时,扔提示你输入密码,也就无法进行SSH的无密码登录;

   6. service sshdrestart                //重启ssh服务,使第六步配置生效

   7. ssh localhost                         //切换到hadoop普通用户下,验证是否成功

   从节点也做第一步,然后依次从master节点上拷贝.ssh文件夹至本地,然后试着ssh master。就可以了。第一次ssh的时候需要输入密码,此时会将免密码登录信息记录到known_hosts文件中。


四、JDK的安装

   在http://www.oracle.com/technetwork/java/javase/downloads/jdk6u37-downloads-1859587.html   下载JDK所需版本。开始进入安装:

       1,JDK默认情况下是没有可执行权限的,接着进入/usr/java目录下通过如下,命令使其JDK获得可执行权限,chmod +x jdk-6u37-linux-i586.bin

       2,安装,./jdk-6u37-linux-i586.bin

       3,配置环境变量,vi /etc/profile,加入下列3行环境变量:

               export JAVA_HOME=/usr/java/jdk1.6.0_37

               export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

               export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

       4,执行source /etc/profile命令使环境变量配置生效

       5,执行java -version命令查看java版本号,以判断JDK是否安装成功。

Hadoop集群搭建笔记一_hadoop_03

   6,其它节点均依照此过程安装,如果集群数目过多……可以编写一个脚本(这个我自己也不会)

   


至此,hadoop集群的安装前准备工作已做完,后续笔记将介绍hadoop安装和具体配置。