一、hadoop须要java的支持,因此安装hadoop须要安装java。java
二、hadoop集群配置,须要多个linux环境。把master的linux镜像,复制,复制成另外两个slave的环境。复制的时候,必定要把环境处于挂起的状态。把另外两个镜像的文件夹的名字改一下,slave1和slave2。而后打开虚拟机,把这两个镜像都打开。这三个同时运行。node
三、复制以后,master能够上网,另外两个slave不能上网,由于局域网内的ip出现了相同的ip,那么怎么解决这个问题呢。应该先把这两个slave的ip改一下。linux
四、cd /etc/sysconfig/network-scripts/ vim ifcfg-eth0 ----> 把ip改为和master不同的。而后从新启动网络服务:/etc/init.d/network restart 可是修改完ip后仍是上不了网,缘由是由于slave的配置是copy master的,因此二者用的网卡都是一个,固然上不了了。因此咱们先把slave1的网卡卸载掉,卸载的方法是点击VMware右下角的两个小电脑图标,而后点击设置,把网络适配器移除,而后再添加一个新的网络适配器(nat模式),点击肯定。 这回就能够上网了。那么slave2也是一样的操做。这样就能够上网了。vim
五、而后用secureCRT链接3个linux,均可以上网了。如今已经完成了3台Linux的上网工做,接下来就是来完成Hadoop集群的安装。windows
六、首先咱们要把Java安装上。主节点须要额外的内存开销,因此给主节点多点内存,从节点须要额外的磁盘资源。bash
七、安装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就能够了。网络
八、如今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文件配置环境变量。ssh
九、如今3台机器的Java已经安装完毕,如今开始安装咱们的Hadoop集群。oop
Hadoop压缩包如今已经在/usr/local/src下,咱们对压缩包进行解压:tar xvzf hadoop.tar.gz。解压完毕后,会在当前文件夹下产生一个hadoop1.2文件,咱们进入到这个目录里边,咱们在这个目录里边新增一个tmp目录,目的是用来存放之后的临时文件。3d
紧接着咱们进入Hadoop1.2文件下的conf配置目录下:
a:咱们修改里边的masters文件:编辑成----》master 保存退出。
b:咱们再修改下slaves文件:编辑成---》slave1 slave2 保存退出
c:咱们再修改下core-site.xml文件:
d:咱们再修改mapred-site.xml文件:
e:咱们再修改hdfs-site.xml文件:
f:咱们再修改hadoop-env.xml文件:
增长了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机器上去。
这样的话 这三台机器远程链接时,都不须要密码了。
十、接下来咱们进入到/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 能够读。