本文将讲述如何在零基础的情况下,在虚拟机中搭建伪分布hadoop平台。
首先介绍一下平台信息,笔者使用i5二代的笔记本电脑,内存4GB,有40GB空闲磁盘,使用opensuse操作系统。
接着介绍一下安装流程:1、安装甲骨文的virtualbox。2、在virtualbox中安装centos。3、安装前的准备。4、在centos上安装hadoop,并配置成伪分布。
1、安装甲骨文的virtualbox。
virtualbox有四种安装方式,这里一一介绍一下。第一种,使用opensuse官方源里的安装包,直接使用命令:“zypper install virtualbox”进行安装,接着就是等待了。这里安装速度就牵扯到软件源的问题,如果是校园网用户,可以将软件源改为华中科技或者中科大的源,速度基本以兆论。如果是普通宽带用户,可以考虑搜狐的源,不过也可以试试华中科技或者中科大的源,具体么,可以用浏览器访问一下,测一下速度。如果感觉opensuse官方源里的virtualbox太旧, 可以添加opensuse的第三方编译服务,这个属于opensuse的亮点,有兴趣的童鞋可以去试试。第二种方法是,使用opensuse官方源提供的virtualbox源码进行编译安装,虽然可以在纯GUI状态下完成,但是笔者认为,这样很蛋疼,c/c++一个很变态的问题,就是编译相当慢,第三种是到甲骨文的virtualbox官网去下载二进制包,然后进行安装。这种方式能够获得最新或者特定版本的virtualbox。第四种是,在甲骨文官网下载源码包,然后本地编译安装。一般步骤是:tar -> make -> make install。在readme.txt文件中会有详细说明。
对于上述四种安装方式,笔者建议大家选择第一种后两种,同时不推荐后两种。由于,virtualbox编译安装的时候会有很多依赖,而缺少这些依赖就无法正常编译。如果使用opensuse的包管理程序来安装,zypper会自动帮我们安装需要的依赖。
安装完virtualbox之后,需要去virtualbox官网下载拓展包,直接百度“virtualbox官网”,看着像的那个网站里下载拓展包。然后,在管理-全局设置-拓展中添加拓展即可。
2、在vbox中安装centos。
安装完vbox,接下来是去centos官网下载最新版的centos,如果使用的是教育网,下载速度是相当可观的。安装时,给虚拟机非配一个核,1GB内存和40GB存储空间。启动虚拟机,选择安装模式时,选择最小安装,不需要安装用户界面。一方面,使用用户界面会来带资源上的占用,另一方面,终端模式才是真正的linux。
3、安装前的准备。
在安装hadoop之前,需要安装以下程序:oracle jdk、openssh。hadoop的官方说明中,虽然也提到,hadoop可以使用openjdk,但是如果要发挥hadoop的最佳性能,还是需要安装oracle jdk。安装openssh有两个作用,一是连接hadoop时需要用户验证,如果使用openssh可以免密码访问。另一方面,可以使用openssh远程控制我们的虚拟机,实现最佳模拟实战的功效。oracle jdk可以在oracle官方网站上获得,根据cpu架构,选择相应的jdk版本。然后对下载下来的oracle jdk安装包执行"chmod +x ./jdk.rpm"。给安装包赋予执行权限。接着使用yum工具安装jdk。yum工具会将jdk安装到/usr/java/文件夹下。
接着是设置环境变量了。使用管理员权限编辑/etc/profile文件,在文末加入一下四行:“JAVA_HOME=/usr/java/jdk1.8.0_40”,“CLASSPATH=.:$JAVA_HOME/lib.tools.jar”,“PATH=$JAVA_HOME/bin:$PATH”,“export JAVA_HOME CLASSPATH PATH”。第一行设置java目录,第二行设置类路径,第三行添加path路径。接着执行命令“source /etc/profile”,使修改的环境变量生效。
如果你的linux中安装过jdk,比如openjdk(默认安装的office 软件libreoffice需要openjdk才能运行),就需要使用update-alternatives来管理多个版本的jdk,并将刚安装的jdk设置成为默认的jdk。执行命令“update-alternatives --install /usr/bin/java java /usr/java/jdk/bin/java 300”和命令“update-alternatives --install /usr/bin/javac javac /usr/java/jdk/bin/javac 300 ”将新安装的jdk中java和javac安装到/usr/bin目录下。接着,执行“update-alternatives --config java”命令,终端中会出现所有已经安装的jdk,然后让我们选择一个作为默认jdk。最后,执行命令"java --version"就可以看到刚刚安装的jdk的信息了。
接着是安装openssh。使用命令“yum install ssh”,yum工具会自动帮我们安装好需要的依赖。接着是生成密钥命令:“ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa“和将密钥复制到验证列表的命令” cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys”。
4.安装hadoop
从hadoop的官方网站下载hadoop压缩包,使用scp命令上传到虚拟机中,使用ssh命令远程登陆到虚拟机。解压压缩包,把hadoop文件夹移动到/opt目录下。
使用vim 编辑 etc/hadoop/core-site.xml文件,将其改为
再编辑etc/hadoop/hdfs-site.xml:文件,将其改为
接着是格式化节点。执行命令“bin/hdfs namenode -format”
启动hadoop。执行命令”sbin/start-all.sh“
接着,在虚拟机中搭建伪集群的操作就完成了。