集群搭建在真实物理机上,为每台物理机安装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复制到其它机器上)
二、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地址即可连接并控制:
三、SSH免密码登录
SSH的用处在于,集群中的各台机器间需要进行通信,正常情况下登录其它机器时需要密码,为了免去每次要输入密码的麻烦,设置SSH免密码登录时必要的,步骤如下:
主节点:
1. ssh-keygen �Ctrsa //生成密钥对.ssh文件,一路回车即可
2. ls �Ca //查看是否有.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是否安装成功。
6,其它节点均依照此过程安装,如果集群数目过多……可以编写一个脚本(这个我自己也不会)
至此,hadoop集群的安装前准备工作已做完,后续笔记将介绍hadoop安装和具体配置。