1.环境描述:
1)三台cp。
2)VMware-player
3)Ubuntu 13.10
4)Hadoop 2.2.0
5) JDK 1.8
2.准备阶段:
1)在三台电脑上安装好VMware-player的步骤省略,非常简单。
2) 在VMware player中安装Ubuntu省略,很简单。
3)由于三台虚拟机之间要通信,因此我们应该选择桥接的方式。在这种模式下,虚拟系统就像是局域网中的一台独立的主机,与宿主计算机平等的存在于网络中,你必须像对待局域网中的其他真正的机子一样来对待它(比如分配你的局域网所要求的网络地址、子网掩码、网关等)。
名称 | 机器一 | 机器二 | 机器三 |
Windows下的IP4 | 172.17.14.37 | 172.17.14.38 | 172.17.14.42 |
linux下的IP4 | 172.17.14.13 | 172.17.14.14 | 172.17.14.25 |
角色: | Master | Slave1 | Slave2 |
守护进程 | namenode secondorynode Resource Managor |
Datanode node managor |
Datanode node managor |
4)修改主机名字,例如分别是Master Slave1 及Slave2.
例如Master(1)`#:hostname Master
(2)`#:vi /etc/hostname 在该文件中填写Master
(3)`#:vi /etc/hosts
在该文件中填写 Master 172.17.14.13
Slave1 172.17.14.14
Slave2 172.17.14.25
注意:你若是以root用户登录的图形界面,其实可以直接找到hostname或者hosts文 件,在其中添加相应信息就可以。
验证: 在三台虚拟机上分别`#:ping Master
`#:ping Slave1
`#:ping Slave2
3.安装jdk(三台机器分别安装)
1)在windows7把jdk文件解压,重命名为jdk1.8,然后直接可以拖移到虚拟机的/usr/lib/jvm所在文件夹下面。其中在ubuntu的/usr/lib文件夹下面可以直接新建jvm文件夹。(以root用户登录图形界面,图形界面操作。当然也可以用命令行操作)
2)其中1)按照我写操作,下面三条语句复制三次到你的Ubuntu的就ok。(命令操作)
`#:sudo update-alternatives -- install "/usr/bin/java""java" "/usr/lib/jvm/jdk1.8/jre/bin/java" 1
`#:sudo update-alternatives --install "/usr/bin/javac""javac" "/usr/lib/jvm/jdk1.8/bin/javac" 1
`#:sudo update-alternatives --install "/usr/bin/javaws""javaws" "/usr/lib/jvm/jdk1.8/jre/bin/javaws" 1
3)`#:vi /etc/profile(命令行操作)
在该文件下面复制下面的语句:
(在windows7 可以直接复制到虚拟机中的ubuntu的文件)
JAVA_HOME=/usr/lib/jvm/jdk1.8
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
JRE_HOME=/usr/lib/jvm/jdk1.8/jre
PATH=$PATH:$HOME/bin:$JRE_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH
验证: `#:Java -version
4.安装ssh(三台机器,都是在命令行下面操作)
1)创建用户
(1)`#: sudo addgroup hadoop
//add user group named hadoop
(2)`#:sudo adduser --ingroup hadoop hduser
//add user-haduser into user group hadoop
2) Install ssh server
(1)`#:sudo apt-get install openssh-client
(2)`#:sudo apt-get install openssh-server
3) configure ssh
(1) `#:su hduser
(2) ~$: ssh-keygen �Ct rsa �CP “”
其中该过程可能会按n次Enter。你一直按就ok
4)只在Master机器上操作
~$: cat $HOME/.ssh/id_rsa.pub>>$HOME/.ssh/authorized_keys
验证:在master上操作~$: ssh hadoop@Slave1 以及~$: ssh hadoop@Slave
5.关闭IP6 ~$:su root 输入密码,以root用户登录 (三台机器都操作)
`#:vi /etc/profile
把下面内容复制到该文件中
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
6.安装hadoop-2.2.0
你可以以root身份登录图形界面,在windows系统中解压安装包,并且重命名为hadoop-2.2.0. 把该文件夹直接拖到ubuntu中的/usr/local/tgl/下,其中tgl自己建的文件夹。(若你按照这 个步骤操作的,下面复制粘贴就ok)
1)只在Master上操作
(1)打开/usr/local/tgl/hadoop-2.2.0/etc/hadoop/Slaves
添加: Slave1
Slave2
(2)在/usr/local/tgl/hadoop-2.2.0/下
添加文件夹 tmp
2)修改四个文件,文件在/hadoop-2.2.0/etc/hadoop/下
在三台机器上执行完全相同的操作:
(1) hadoop-env.sh
注释(#)掉:export JAVA_HOME=${JAVA――HOME}
添加:export JAVA_HOME=/usr/lib/jvm/jdk1.8(也就是jdk的安装路径)
(2) hdfs-site.xml
添加:<property>
<name>dfs.replication</name>
<value>2</value>
</property>
(3) core-site.xml
添加:<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/tgl/hadoop-2.2.0</value> //hadoop的tmp所 //在的目录
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://172.17.14.13:5430</value>//namenode所在的机 //器的ip
</property>
(4) 把mapred-site.xml-template 重命名为mapred-site.xml
添加:<property>
<name>mapred.job.tracker</name>
<value>172.17.14.13:8010</value>//resourcemanagor 所在机器ip
</property>
<property>
<name>mapred.map.tasks</name>
<value>10</value>
</property>
<property>
<name>map.reduce.tasks</name>
<value>12</value>
</property>
(5) 只在Master上操作
格式化namenode:
~# /usr/local/tgl/hadoop-2.2.0/bin/hadoop namenode -format
(6) 在Master上操作
~# cd /usr/local/tgl/hadoop-2.2.0/etc/hadoop/sbin
~# ./start-dfs.sh
~# ./start-yarn.sh
(7)验证:jps
本文只是讲述了安装步骤,一些原理性的东西可以参考http://www.cnblogs.com/xia520pi/archive/2012/05/16/2503949.html
本文出自 “8831087” 博客,转载请与作者联系!