如何在CentOS下安装Hadoop并与Eclipse连接?
许久之前就计划学习Hadoop了,直到最近才提上日程。花费了一些时间才把CentOS下的Hadoop搭起来,前后经历的“挫折”绝对可以写成数千字的血泪史了。既有被网上教程坑了的苦逼遭遇,也有教研室大超师兄和实习公司的泡哥的爱心支援。今天终于可以坐下来说说如何在CentOS下安装Hadoop并与Eclipse连接这个问题。
先说一下要准备哪些软件和信息:
- VMware-workstation;
- CentOS-6.0-i386-bin-DVD;
- eclipse-jee-luna-SR1-win32;
- hadoop-0.20.2;
- jdk-6u27-linux-i586;
(由于hadoop对版本的要求较高,大家还是不要轻易更换版本,这里列出来的各种软件都是稳定发布版,网上很容易可以download到的)。
整个教程分为这样5个部分来说:1)在Windows下安装虚拟机Vmware,并新建一个虚拟机装好centos系统;2)centos下设置ssh服务无密码登录;3)centos下安装jdk,并配置环境变量;4)centos下安装hadoop,并配置文件;5)windows下安装jdk和eclipse,并将eclipse与centos下的hadoop连接。可以说这5个部分每一个都很重要,尤其是第4)步。下面我们就详细说一下每一步该怎么做。
Step 0: 请大家先在windows下新建一个普通用户,用户名为hadoop,我们所有的软件全在这个下面安装,用户名最好要是hadoop,因为这个要和后面很多username相同,设为hadoop比较好记。
--------------------------------------分割线 --------------------------------------
--------------------------------------分割线 --------------------------------------
1)在Windows下安装虚拟机Vmware,并新建一个虚拟机装好centos系统;
首先,下载VMware-workstation并安装,这步骤和一般windows下安装软件的过程是一样的,入门小白也会熟练操作,这里就节省点儿空间给后面重要的步骤了~
然后,在Vmware的主页上新建一个虚拟机,如下图:
一路下一步,直到让你选择系统镜像路径,我们选择centos系统映像,如上图,点击下一步。然后,需要你输入linux的用户名,这个比较重要,最好填写hadoop,因为这个名字在后面要用到好多次!
后面还是一路的“下一步”,直到让你设置虚拟机的内存大小,建议为1024M。如上图。后面就是要选择和虚拟机的网络类型有关的设置了,建议为“使用网络地址转换NAT”,如下图。这一步我当时选择了自动桥接的功能,找了一个晚上的错误。。。时间就这样白花花的没了~~
之后还是一路的“下一步”,几乎都是使用它推荐的设置,我们就可以新建一个centos,等待个几分钟然后就可以进入centos界面了。看到那一抹科技蓝,有没有让你心动了呢~~哈哈哈,你确实走好了第一步!
2)centos下设置ssh服务无密码登录;
在桌面右击,选择openin Terminal,这个就是linux的终端了。希望读者有一些linux操作系统的基础,这样子上手更快一些。不过要是没有的话,也没有关系,我们是面向新手的教程。
2.1. 先在linux命令行中输入su,提示密码,输入你自己设置的密码,这样子你后面的操作都具有了linux系统下的最高权限——root权限。
2.2. 在设置ssh无密码登录之前,有一个特别重要的要先出好:关闭SELinux。这是因为centos会自动阻止你修改sshservice,我们只有关闭SELinux,重启才能生效。如何做,如下:
修改/etc/selinux/config文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可
(note:在linux下修改文件,vi命令后会进入到文件窗口,按i进入insert,修改完毕之后再按esc推出insert,输入;:wq!保存并退出~这里要感谢泡哥,改了半天都不行,还是泡哥指点迷津了~~)
2.3. 在linux命令行里输入:ssh-keygen -t rsa,然后一路回车。
root@hadoopName-desktop:~$ssh-keygen -t rsa
Generating public/private rsakey pair.
Enterfile in which to save the key (/home/zhangtao/.ssh/id_rsa): //密钥保存位置,直接回车保持默认;
Createddirectory '/home/zhangtao/.ssh'.
Enter passphrase(empty for no passphrase): //设置密钥的密码,空密码直接回车即可;
Enter samepassphrase again: //确认上一步设置的密码。
然后进入 /root/.ssh/下面,会看到两个文件 id_rsa.pub,id_rsa,
然后执行cp id_rsa.pub authorized_keys
然后 ssh localhost 验证是否成功,第一次要你输入yes,以后就不需要了。
如下图,由于我又验证了一次,所以还需要输入y,如果你是第一次验证是不要的。
至此,ssh服务无密码登录设置完毕!
3)centos下安装jdk,并配置环境变量;
这一步中可以分为两步:安装jdk、配置jdk环境变量。
3.1. 第一步:root 用户登陆,使用命令mkdir /usr/program新建目录/usr/program ,下载 JDK 安装包jdk-6u13-linux-i586.bin,将其复制到目录/usr/program下,用cd命令进入该目录,执行命令“./ jdk-6u13-linux-i586.bin”,命令运行完毕即安装完成,将在目录下生成文件夹/jdk1.6.0_13,此即为jdk被成功安装到目录:/usr/program/jdk1.6.0_13下。
3.2. root 用户登陆,命令行中执行命令“vi/etc/profile”,并加入以下内容,配置环境变量(注意/etc/profile这个文件很重要,后面 Hadoop 的配置还会用到)。
# set java environment
exportJAVA_HOME=/usr/program/jdk1.6.0_27
exportJRE_HOME=/usr/program/jdk1.6.0_27/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
在vi编辑器增加以上内容后保存退出,并执行以下命令使配置生效!
#chmod +x /etc/profile ;增加执行权限
#source /etc/profile;使配置生效!
配置完毕后,在命令行中输入:java -version,就会出现安装jdk的信息。
这时,jdk的安装和配置环境变量就成功了~