Hadoop详细安装过程一、本文思路1、安装虚拟化PC工具VMware,用于支撑Linux系统。2、在VMware上安装Ubuntu系统。3、安装Hadoop前的准备工作:安装JDK和SSH服务。4、配置Hadoop。5、为了方便开发过程,需安装eclipse。6、运行一个简单的Hadoop程序:WordCount.java注:在win7系统上,利用虚拟工具VMware建立若干个Linux系统,每个系统为一个节点,构建Hadoop集群。先在一个虚拟机上将所有需要配置的东西全部完成,然后再利用VMware的克隆功能,直接生成其他虚拟机,这样做的目的是简单。二、所需软件1、VMware:VMwareWorkstation,直接百度下载(在百度软件中心下载即可)。2、Ubuntu系统:ubuntu-15.04-desktop-amd64.iso,百度网盘:注:使用15.04版本的Ubuntu(其他版本也可以),是64位系统。3、jdk:jdk-8u60-linux-x64.tar.gz,网址:注:下载64位的Linux版本的jdk。4、Hadoop:hadoop-1.2.1-bin.tar.gz,网址:注:选择1.2.1版本的Hadoop。5、eclipse:eclipse-java-mars-1-linux-gtk-x86_64.tar.gz,网址:=linux注:要选择Linux版本的,64位,如下:6、hadoop-eclipse-plugin-1.2.1.jar,这是eclipse的一个插件,用于Hadoop的开发,直接百度下载即可。三、安装过程1、安装VMware。这个过程比较简单,下载后直接双击安装即可。2、安装Ubuntu系统。(1)打开VMwareWorkstation,“文件”—“新建虚拟机”,如下:(2)选择“典型”配置即可:(3)选择“安装程序光盘印象文件”,点击“浏览”,选择下载的Ubuntu镜像:(4)设定用户名和密码,可以随意写,但要记住,如下:(5)设定“虚拟机名称”,可以随意写;“位置”最好不要放在C盘:(6)“最大磁盘大小”根据自己电脑磁盘空间决定,尽量设置大些;选择“将虚拟硬盘存储为单个文件”,如下:(7)点击“完成”即可。等待安装,这个过程时间较长,耐心等待!至此,一个虚拟机安装成功!如下:如果想改变虚拟机的配置,可以点击上图中的“编辑虚拟机设置”,如下:3、实现主机(win7系统)和虚拟机之间的文件共享。之所以要进行这一步,是因为我们的主机是win7系统,用的习惯了,使用它下载软件更方便些。如何将win7系统中的文件放入Ubuntu系统中,使Ubuntu系统也能方便地使用这些文件,就需要在win7系统和Ubuntu系统间共享文件夹。(1)安装VMwareTools。因为在VMware上安装Ubuntu系统后,VMware会自动进行VMwareTools的安装,但这并不起作用,故而还需重新安装一次,选择“重新安装VMwareTools”,如下:会弹出如下文件夹:将此文件夹中的所用文件复制到home下的VMwareTools文件夹(这个文件夹需要自己建立),如下:复制出来的原因是:可以永久保存这些文件。因为原始VMwareTools那个文件夹只有在点击“重新安装VMwareTools”之后才会出现。用Ctrl+alt+t打开一个终端,进入到home下的VMwareTools文件夹下,进行如下:sudotar-zxvfVMwareTools-xxx.tar.gz注:xxx是版本号,可能会不同。解压后,进入vmware-tools-distrib文件夹,运行vmware-install.real.pl,如下:cdvmware-tools-distribsudo./vmware-install.real.pl安装过程中,对于提示的路径,直接enter即可;对于yes/no,默认输入即可。(2)点击菜单栏的“虚拟机”—“设置”,如下:进入到“虚拟机设置”中,如下操作:点击“添加”,点击“下一步”后出现如下界面:“主机路径”选择的是windows系统中的用于共享的文件夹,这个文件夹需要提前建立。下面的“名称”默认即可。点击“下一步”—选择“启用该共享”—“完成”。(3)挂载共享文件夹。在home下新建share文件夹,然后执行如下:sudomount-tvmhgfs.host:/share至此,win7和Ubuntu系统之间的共享文件夹已成功!需要注意的是:每次启动虚拟机,都需要使用上面的mount语句进行挂载,否则不能共享。注:mount经常支持不够好,安装vvmtools后,可以直接把文件拖入虚拟机镜像。4、JDK安装Hadoop运行需要JDK的支持,因为Hadoop使用Java语言实现的。(1)解压JDK。有两种方式:第一,在终端使用tat–zxvfjdk-8u60-linux-x64.tar.gz进行解压。第二,直接在文件中点击右键,选择“Extracthere”,如下:解压后的文件夹为:jdk1.8.0_60(2)配置环境变量。在终端输入:sudogedit/etc/profile,打开profile文件进行环境变量的配置。在文件的最后面加入以下几句:#setjdkenvironmentexportJAVA_HOME=/home/lxl/Hadoop/JDK/jdk1.8.0_60#注意修改exportCLASSPATH=$JAVA_HOME/lib:$CLASSPAHTexportPATH=.:$JAVA_HOME/bin:$PATH注:JAVA_HOME为jdk的解压路径,要换成你自己路径!保存文件并退出,在终端输入:source/etc/profile,意思是重新加载刚才修改后的文件。这步很重要!(3)检验jdk是否成功安装。在终端输入:java-version,会显示Java的版本信息,如下:这样就表示jdk成功安装了。5、安装ssh。(1)在终端输入:sudoapt-getinstallssh,等待下载安装即可。(2)检测ssh是否正确安装:在终端输入sshlocalhost,显示如下:表示ssh已正确安装。然后输入exit退出登录。(3)配置ssh无密码访问。在终端输入:ssh-keygen-trsa–P“”,如下:括号里的/home/lxl/.ssh为公钥和私钥的默认存放路径,直接回车即可。然后进入.ssh目录下,执行如下命令:catid_rsa.pubauthorized_keys含义:将公钥id_rsa.pub中的内容复制给authorized_keys。authorized_keys文件之前是没有的,经过cat命令可以自动生成。如下:需要注意的是:此时的无密码访问还只是在这一个虚拟机上面,当克隆出其他虚拟机之后,每个虚拟机都需要生成自己的公钥和私钥,然后将所有虚拟机的公钥综合在一起,生成一个公共authorized_keys文件,将此公共的authorized_keys文件放入每个虚拟机的.ssh目录下,这样才能实现所有虚拟机之间的无密码访问。后面会有展示!6、开始Hadoop的安装。(1)解压hadoop-1.2.1-bin.tar.gz。和解压jdk一样,有两种方式,此处不多说了。(2)配置conf目录下的hadoop-env.sh、core-site.xml、hdfs-site.xml,mapred-site.xml四个文件。hadoop-env.sh文件中加入JAVA_HOME,即jdk的路径,如下:exportJAVA_HOME=/home/lxl/Hadoop/JDK/jdk1.8.0_60core-site.xml文件中在configuration间加入:configurationpropertynamefs.default.name/namevaluehdfs://master:9000/value!—注意修改主机名master,如果不一样的话--/propertypropertynamehadoop.tmp.dir/namevalue/home/lxl/Hadoop/hadoop/hadoop-1.2.1/tmp/value!—注意修改此路径名,最好是放在Hadoop-1.2.1下面--/property/configuration注:此步需要在hadoop-1.2.1目录下手动建立tmp文件夹。master为namenode节点的主机名。hadoop.tmp.dir是hadoop文件系统依赖的基础配置,很多路径都依赖它。如果hdfs-site.xml中不配置namenode和datanode的存放位置,默认就放在这个路径中。hdfs-site.xml文件中在两个configuration间加入:configurationpropertynamedfs.replication/namevalue2/value!—有几个slave,此处就写几--/propertypropertynamedfs.name.dir/namevalue/home/lxl/Hadoop/hadoop/hadoop-1.2.1/hdfs/name/value!—注意修改路径名--/propertypropertynamedfs.data.dir/namevalue/home/lxl/Hadoop/hadoop/hadoop-1.2.1/hdfs/data/value!—注意修改路径名--/property/configuration注:此步需要在hadoop-1.2.1目录下手动建立hdfs文件夹,即运行程序前,hdfs文件夹必须存在,但不要创建hdfs下面的name和data文件夹,否则在格式化文件系统时会失败!dfs.replication是数据块的冗余个数,默认是3,一般设置为slave的个数;dfs.name.dir为namenode上名字空间的存放地址;dfs.data.dir为datanode上数据块存放的地址。注:虽然每个节点上的hdfs-site.xml中的内容都一样,但是并不是每个节点上都会存在dfs.name.dir和dfs.data.dir两个文件夹的。当运行程序时,namenode上的dfs.name.dir下只有name文件夹,不会有data文件夹,因为数据不放在namenode节点上;同理,datanode上的dfs.data.dir下只有data文件夹,不会有name文件夹,因为name只放在namenode和secondarynamenode上。mapred-site.xml文件中在两个configuration间加入:configurationpropertynamemapred.job.tracker/namevaluemaster:9001/value!—注意修改主机名master,如果不一样的话--/property/configuration注:上面这四个文件的配置,在每个虚拟机上都完全一样的。故而克隆之后,不需要修改这四个文件。到此,一个虚拟机上的Hadoop已经配置完成。下面开始克隆出其他虚拟机。7、克隆出其他虚拟机。上面的配置过程只是在一个虚拟机上完成的,现在需要用VMware的克隆功能克隆出其他虚拟机,