1、hadoop需要java的支持,所以安装hadoop需要安装java。

2、hadoop集群配置,需要多个linux环境。把master的linux镜像,复制,复制成另外两个slave的环境。复制的时候,一定要把环境处于挂起的状态。把另外两个镜像的文件夹的名字改一下,slave1和slave2。然后打开虚拟机,把这两个镜像都打开。这三个同时运行。

3、复制之后,master可以上网,另外两个slave不能上网,因为局域网内的ip出现了相同的ip,那么怎么解决这个问题呢。应该先把这两个slave的ip改一下。

4、cd /etc/sysconfig/network-scripts/         vim ifcfg-eth0          ---->   把ip改成和master不一样的。然后重新启动网络服务:/etc/init.d/network restart      但是修改完ip后还是上不了网,原因是因为slave的配置是copy  master的,所以两者用的网卡都是一个,当然上不了了。所以我们先把slave1的网卡卸载掉,卸载的方法是点击VMware右下角的两个小电脑图标,然后点击设置,把网络适配器移除,然后再添加一个新的网络适配器(nat模式),点击确定。 这回就可以上网了。那么slave2也是同样的操作。这样就可以上网了。

5、然后用secureCRT连接3个linux,都可以上网了。现在已经完成了3台Linux的上网工作,接下来就是来完成Hadoop集群的安装。

6、首先我们要把Java安装上。主节点需要额外的内存开销,所以给主节点多点内存,从节点需要额外的磁盘资源。

7、安装Java。Java的安装包已经下载到了windows桌面上了,那么我们怎么给Linux,通过共享目录的方式:VMware怎么设置共享目录?----》点击master标签,右键,设置,点击选项,点击共享文件夹,右边设置成“总是启动”,下边添加java安装包的文件。然后完成确定。那么我们怎么看是否共享成功了呢?我们:cd /mnt/hgfs/    --->   ls   就会看到我们的共享的文件夹了。   接下来,我们把这个文件夹拷贝一下----》 cp jdk  /usr/local/src/   把文件拷贝到了 /usr/local/src/ 这个文件夹下。进入/usr/local/src文件夹下,运行jdk文件:./jdk.     到这里,Java就安装成功了。接下来我们需要编辑一下环境变量,我们得找到java安装包的目录,把这个地址给JAVA_HOME;再把Java安装包下的lib配置给CLASSPATH;再把Java安装包下的bin配置一个PATH:vim ~/.bashrc       ------------》        export JAVA_HOME = /usr/local/src/jdk1.6    export CLASSPATH = 。:$CLASSPATH:$JAVA_HOME/lib    export PATH = $PATH:$JAVA_HOME/bin                                 编辑完毕,让./bashrc文件生效:source ~/.bashrc           现在执行Java就可以了。

8、现在master的java安装好了,现在就是该安装slave的Java了。现在把master的java包远程复制给slave:cd /usr/local/src/         ------>            scp   -rp    jdk1.6.bin 192.168.183.11:/usr/local/src/               然后编辑slave机器的~/.bashrc文件配置环境变量。

 

9、现在3台机器的Java已经安装完毕,现在开始安装我们的Hadoop集群。

Hadoop压缩包现在已经在/usr/local/src下,我们对压缩包进行解压:tar xvzf hadoop.tar.gz。解压完毕后,会在当前文件夹下产生一个hadoop1.2文件,我们进入到这个目录里边,我们在这个目录里边新增一个tmp目录,目的是用来存放以后的临时文件。

紧接着我们进入Hadoop1.2文件下的conf配置目录下:

a:我们修改里边的masters文件:编辑成----》master    保存退出。

b:我们再修改下slaves文件:编辑成---》slave1   slave2   保存退出

c:我们再修改下core-site.xml文件:

hadoop离线计算 hadoop联网_java

d:我们再修改mapred-site.xml文件:

hadoop离线计算 hadoop联网_开发工具_02

e:我们再修改hdfs-site.xml文件:

hadoop离线计算 hadoop联网_hadoop_03

f:我们再修改hadoop-env.xml文件:

hadoop离线计算 hadoop联网_hadoop_04

增加了java_home的路径。

 

紧接着我们开始配置本地网络配置:

vim /etc/hosts     ------>      (把ip地址记录下来,然后编辑:)     192.168.183.10   master      192.168.183.11   slave1   192.168.183.12   slave2          配置这个hosts文件的目的是我们可以以后不用ip来访问机器,直接用名称来访问,相当于是配置当前机器的DNS;配置完hostname之后使其生效:hostname master      但是这样还不是永久生效,那么怎么才能永久生效呢,我们还需要修改:vim /etc/sysconfig/network  ------->  HOSTNAME = master              现在我们又配置了2个文件。

 

现在我们master机器的配置差不多配好了。接下来我们去/usr/local/src/    把hadoop文件拷贝给slave机器。       cd /usr/local/src/    ---->   scp -rp  hadoop1.2  192.168.183.11:/usr/local/src/        

 

刚才我们在master节点上修改了hosts和network文件,所以我们也得在slave节点上修改这两个文件。

 

接下来为了避免我们网络连接上的问题,我们应该把我们的防火墙关闭,-----------》/etc/init.d/iptables stop           .除了这个防火墙可能会影响我们网络传输的问题,还会有其他的原因,比如selinux,我们需要把这个设置一下:setenforce 0               再  getenforce----------》Permissive

 

接下来我们该建立每台机器的户性关系:就是ssh连接其他机器时,不需要密码:   在master节点上执行:ssh-keygen   然后回车,   接下来cd~/.ssh/        ls下,有4个文件,id_rsa.pub(公钥文件)           id_rsa(私钥文件),我们要把三台机器的公钥文件的内容拷贝给authorized_key这个文件里。接下来把master这个文件拷贝到slave机器上去。

这样的话   这三台机器远程连接时,都不需要密码了。

 

10、接下来我们进入到/usr/local/src/下,cd hadoop1.2.1下      ls下       cd bin        ls下      开始启动下我们的hadoop集群,我们第一次启动的时候,需要对我们的namanode进行格式化。   ./hadoop namenode -format           格式化完成之后,我们直接./start-all.sh   启动集群。敲入jps查看进程。

 

11.我们验证下这个hdfs可不可以用。敲一个hadoop命令:./hadoop fs -ls /    ---------》查看当前环境下hdfs,查看到了一个目标。        我们往这个集群里面上传一个文件试试:./hadoop fs -put /etc/passwd /                  那么这个文件可不可以读出来呢?./hadoop fs -cat /passwd  可以读。