一、安装虚拟机VM
一直next
注:卸载VM的时候最好用强力点的软件卸载,因为如果卸载(尤其是注册表)的不彻底的话很可能会导致下次没法安装。遇到这种情况手动删除注册表中关于VMware的信息。
参考:http://zhidao.baidu.com/question/156744859.html?fr=qrl&cid=89&index=1
二、安装好VM后打开一个CentOS步骤如下
三、一般安装好之后会提示更新安装包,用来安装VMware Tools(用来方便和Window进行切换,如果没安装鼠标从VM中切换出来用Ctrl+Alt),如果没有则进行如下操作:
点击中间的Virtual Machine,然后选择最下面的Install VMware Tools(如果安装好了则显示cancel VMware Tools Installation)
该文件将会下载到 /media/VMware Tools文件夹下面,找到该文件,然后进行如下操作:
1. 将它复制到root文件夹下,即 位置——主文件夹 下面(这一些操作都是root用户),然后解压,命令:tar zxvf VMwareTools-8.4.5-324285.tar.gz
(注:ls用来查看当前文件夹下面的文件;文件名不用全部手敲,打出开头字母,然后按Tab键会自动补全的)
2. 解压后做如下图操作:
a) 开一个终端,输入如下命令:cd vmware-tools-distrib
b) 然后输入 ./vmware-install.pl(前面有个.,输入这条命令前也可以先ls查看一下当前目录是否有这个文件)
c) 然后出现下图界面按回车就可以了
d) 后面会出现选择yes,就输入yes就可以了
e) 最后会有22个选项,是像素的,默认的是22,我们选择12
f) 安装好后注销一下,重新登录就可以了
四、新建一个新的用户hadoop
1. useradd hadoop
2. passwd hadoop(用户hadoop的密码)
3. 会让确认,将上面密码重新输入就可以了
4. 再注销一下,这次用用户hadoop登录
如果想让用户有root权限则进行如果操作
5. gedit /etc/passwd
6.
7. 将用户hadoop x: 后面都改成0,参照root的格式改,保存退出就可以了
五、安装JDK,Tomcat以及Eclipse
(一)安装JDK
1. 下载j2sdk ,如jdk-6u23-linux-x64.bin
2. 在终端中转到jdk-6u23-linux-x64.bin 所在的目录,输入命令chmod +755
jdk-6u23-linux-x64.bin,添加执行的权限(有权限之后变成绿色)。
3. 输入安装命令./ jdk-6u23-linux-x64.bin
然后开始安装,结束时候会提示让输入回车,等待一会出现Done 然后结束安装,出现下图界面。
4. 设置环境变量,输入命令gedit /etc/profile ,在打开的文件中加入如下内容:
JAVA_HOME=/usr/java/jdk1.6.0_23
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
如果出现权限不够则先切换到root用户给该文件分配权限,操作如下:
1) su root
2) 输入密码
3) sudo chmod 777 /etc/profile(文件名) –R(加R表示文件夹下面的所有文件都有权限)
通过java –version 查看JDK版本,如果是jdk1.6.0_23,则表示成功
(二)安装Tomcat
1)下载apache-tomcat-6.0.29.tar.gz
2) 终端到apache所在目录下,输入如下命令:tar zxvf apache-tomcat-6.0.29.tar.gz //解压
3) cp -R apache-tomcat-6.0.29 /usr/local/tomcat //拷贝apache-tomcat-6.0.1到/usr/local/下并重命名为tomcat
4) /usr/local/tomcat/bin/startup.sh //启动tomcat
显示
到此tomcat 已经安装完成,现在使用浏览器访问http://localhost:8080,出现tomcat 默认页面,说明已经安装成功。
(三)安装Eclipse
1.终端到Eclipse文件所在目录下,输入如下命令:
tar zxvf eclipse-jee-galileo-linux-gtk-x86_64.tar.gz //解压
2.打开文件eclipse ,双击
3. 我们装好了哦~
六、单机版Hadoop
1. 下载hadoop的jar包,下载地址:http://www.apache.org/dyn/closer.cgi/hadoop/core/
2. 终端到Hadoop的jar包所在的目录,解压文件,输入如下的命令:
tar zxvf hadoop-0.20.2.tar.gz
3. 将其剪切到/usr/src目录下,当然不动也可以
4. 在/hadoop-0.20.2/conf/hadoop-env.sh文件中添加
export JAVA_HOME=/usr/java/jdk1.6.0_23
测试hadoop是否安装成功:在终端输入bin/hadoop(此时终端应该在文件hadoop-0.20.2下 ,可以输入ls看一下)
输入bin/hadoop之后显示如下:
5. 配置环境变量:(gedit /etc/profile)
HADOOP=/usr/src/hadoop-0.20.2
PATH=$HADOOP/bin:$PATH
配置好环境变量记得要重新登录哦~~~注销就可以啦~
开一个新的终端,输入hadoop,出现上图表示配置成功
6. 在Eclipse中配置好hadoop
a. 将hadoop-0.20.2/contrib/eclipse-plugin/hadoop-0.20.2-eclipse-plugin.jar复制到Eclipse目录下的plugins(该目录是放插件的)
b. 开一个Eclipse,然后选择Window——preferences(最后一个)——Hadoop Map/Reduce 然后选择Hadoop的安装目录
c. 然后新建一个Map/Reduce项目 File—New—Project—other—Map/Reduce,然后next,输入Project Name为testMR
d. 然后新建一个Mapper(写map方法),Reduce(写reduce方法),MapReduce Driver(job的配置)方法:项目右键—New—other—Map/Reduce
添加Mapper之后,自动生成的代码:
添加Reduce后:
添加了主函数MapReduce Driver后:
注意,要将缺省的“setMapperClass”和“setReducerClass”改为刚才自己产生的类,比如“NewMapper”和“NewReduce”。
e. 下面开始写程序了,我们写个简单的来测试一下
7. 写测试代码:
a.将JUnit4的Jar文件导入到项目中,然后在要测试的类上面
右键——>New——>Java——>JUnit——>JUnit Test Case,如下图:
注:选择New JUnit4 test,建议将测试代码放在一个单独名为test的文件夹下面。Ctrl+Shift+f调整项目格式。
将MRUnit的jar包导入到项目中就可以开始写MapReduce的测试代码了。
b.运行:右键——>Run As——>JUnit Test
c.结果:
在src里面程序代码
package com.test;
public class MyFirstTestClass {
public int multiply(int x,int y){
return x/y;
}
}
测试的代码:在test文件夹里面
package com.test;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class MyFirstTestClassTest {
@Test
public void testMultiply() {
MyFirstTestClass test = new MyFirstTestClass();
assertEquals("Result", 50,test.multiply(10, 5)); //结果应该是2,由于写的50,所以错了
}
}
改后结果:
进一步了解JUnit
4.1. setUp()与tearDown()
对于每一个测试用例,你都可以实现setUp()和tearDown(). setUp在每一个测试用例初始化的时候被调用。tearDown()在每一个测试用例结束的时候被调用。
4.2. 在Eclipse中使用Static imports
Junit中大量使用了static方法。
Eclipse无法自动导入static imports。
你需要做的是将'org.junit.Assert'导入到Java > Editor > Content Assist > Favorites中。当你这么做了以后,你可以使用Content Assist (Ctrl+Space) 来添加方法。
4.3. Annotations
JUnit 4.x中Annotations的使用如下:
Annotation |
描述 |
@Test public void method() |
需要被测试的方法。 |
@Before public void method() |
在每一个测试用例执行前,需要调用的方法。 |
@After public void method() |
在每一个测试用例执行后,需要调用的方法。 |
@BeforeClass public void method() |
所有测试用例执行前,需要调用的方法。 |
@AfterClass public void method() |
所有测试用例执行后,需要调用的方法。 |
@Ignore |
忽略该测试的方法。 |
@Test(expected=IllegalArgumentException.class) |
期望测试用例抛出指定的异常。 |
@Test(timeout=100) |
测试用例期望的执行时间。 |
表1. Annotations
4.4. Assert语句
JUnit 4.x中Assert语句的使用如下:
Assert语句 |
描述 |
fail(String) |
方法失败。 |
assertTrue(true) |
检测是否为真。 |
assertsEquals([String message], expected, actual) |
检测2个对象是否相等 |
assertsEquals([String message], expected, actual, tolerance) |
检测2个对象在允许的精度范围内是否相等。 |
assertNull([message], object) |
检测是否为空。 |
assertNotNull([message], object) |
检测是否为非空。 |
assertSame([String], expected, actual) |
检测2个对象是否是为一个对象。 |
assertNotSame([String], expected, actual) |
检测2个对象是否是为非一个对象。 |
assertTrue([message], boolean condition) |
检测是否为真。 |
try {a.shouldThroughException(); fail("Failed")} catch (RuntimeException e) {asserttrue(true);} |
检测是否抛出异常。 |
表2. Assert语句
一、安装虚拟机VM
一直next
注:卸载VM的时候最好用强力点的软件卸载,因为如果卸载(尤其是注册表)的不彻底的话很可能会导致下次没法安装。遇到这种情况手动删除注册表中关于VMware的信息。
参考:http://zhidao.baidu.com/question/156744859.html?fr=qrl&cid=89&index=1
二、安装好VM后打开一个CentOS步骤如下
三、一般安装好之后会提示更新安装包,用来安装VMware Tools(用来方便和Window进行切换,如果没安装鼠标从VM中切换出来用Ctrl+Alt),如果没有则进行如下操作:
点击中间的Virtual Machine,然后选择最下面的Install VMware Tools(如果安装好了则显示cancel VMware Tools Installation)
该文件将会下载到 /media/VMware Tools文件夹下面,找到该文件,然后进行如下操作:
1. 将它复制到root文件夹下,即 位置——主文件夹 下面(这一些操作都是root用户),然后解压,命令:tar zxvf VMwareTools-8.4.5-324285.tar.gz
(注:ls用来查看当前文件夹下面的文件;文件名不用全部手敲,打出开头字母,然后按Tab键会自动补全的)
2. 解压后做如下图操作:
a) 开一个终端,输入如下命令:cd vmware-tools-distrib
b) 然后输入 ./vmware-install.pl(前面有个.,输入这条命令前也可以先ls查看一下当前目录是否有这个文件)
c) 然后出现下图界面按回车就可以了
d) 后面会出现选择yes,就输入yes就可以了
e) 最后会有22个选项,是像素的,默认的是22,我们选择12
f) 安装好后注销一下,重新登录就可以了
四、新建一个新的用户hadoop
1. useradd hadoop
2. passwd hadoop(用户hadoop的密码)
3. 会让确认,将上面密码重新输入就可以了
4. 再注销一下,这次用用户hadoop登录
如果想让用户有root权限则进行如果操作
5. gedit /etc/passwd
6.
7. 将用户hadoop x: 后面都改成0,参照root的格式改,保存退出就可以了
五、安装JDK,Tomcat以及Eclipse
(一)安装JDK
1. 下载j2sdk ,如jdk-6u23-linux-x64.bin
2. 在终端中转到jdk-6u23-linux-x64.bin 所在的目录,输入命令chmod +755
jdk-6u23-linux-x64.bin,添加执行的权限(有权限之后变成绿色)。
3. 输入安装命令./ jdk-6u23-linux-x64.bin
然后开始安装,结束时候会提示让输入回车,等待一会出现Done 然后结束安装,出现下图界面。
4. 设置环境变量,输入命令gedit /etc/profile ,在打开的文件中加入如下内容:
JAVA_HOME=/usr/java/jdk1.6.0_23
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
如果出现权限不够则先切换到root用户给该文件分配权限,操作如下:
1) su root
2) 输入密码
3) sudo chmod 777 /etc/profile(文件名) –R(加R表示文件夹下面的所有文件都有权限)
通过java –version 查看JDK版本,如果是jdk1.6.0_23,则表示成功
(二)安装Tomcat
1)下载apache-tomcat-6.0.29.tar.gz
2) 终端到apache所在目录下,输入如下命令:tar zxvf apache-tomcat-6.0.29.tar.gz //解压
3) cp -R apache-tomcat-6.0.29 /usr/local/tomcat //拷贝apache-tomcat-6.0.1到/usr/local/下并重命名为tomcat
4) /usr/local/tomcat/bin/startup.sh //启动tomcat
显示
到此tomcat 已经安装完成,现在使用浏览器访问http://localhost:8080,出现tomcat 默认页面,说明已经安装成功。
(三)安装Eclipse
1.终端到Eclipse文件所在目录下,输入如下命令:
tar zxvf eclipse-jee-galileo-linux-gtk-x86_64.tar.gz //解压
2.打开文件eclipse ,双击
3. 我们装好了哦~
六、单机版Hadoop
1. 下载hadoop的jar包,下载地址:http://www.apache.org/dyn/closer.cgi/hadoop/core/
2. 终端到Hadoop的jar包所在的目录,解压文件,输入如下的命令:
tar zxvf hadoop-0.20.2.tar.gz
3. 将其剪切到/usr/src目录下,当然不动也可以
4. 在/hadoop-0.20.2/conf/hadoop-env.sh文件中添加
export JAVA_HOME=/usr/java/jdk1.6.0_23
测试hadoop是否安装成功:在终端输入bin/hadoop(此时终端应该在文件hadoop-0.20.2下 ,可以输入ls看一下)
输入bin/hadoop之后显示如下:
5. 配置环境变量:(gedit /etc/profile)
HADOOP=/usr/src/hadoop-0.20.2
PATH=$HADOOP/bin:$PATH
配置好环境变量记得要重新登录哦~~~注销就可以啦~
开一个新的终端,输入hadoop,出现上图表示配置成功
6. 在Eclipse中配置好hadoop
a. 将hadoop-0.20.2/contrib/eclipse-plugin/hadoop-0.20.2-eclipse-plugin.jar复制到Eclipse目录下的plugins(该目录是放插件的)
b. 开一个Eclipse,然后选择Window——preferences(最后一个)——Hadoop Map/Reduce 然后选择Hadoop的安装目录
c. 然后新建一个Map/Reduce项目 File—New—Project—other—Map/Reduce,然后next,输入Project Name为testMR
d. 然后新建一个Mapper(写map方法),Reduce(写reduce方法),MapReduce Driver(job的配置)方法:项目右键—New—other—Map/Reduce
添加Mapper之后,自动生成的代码:
添加Reduce后:
添加了主函数MapReduce Driver后:
注意,要将缺省的“setMapperClass”和“setReducerClass”改为刚才自己产生的类,比如“NewMapper”和“NewReduce”。
e. 下面开始写程序了,我们写个简单的来测试一下
7. 写测试代码:
a.将JUnit4的Jar文件导入到项目中,然后在要测试的类上面
右键——>New——>Java——>JUnit——>JUnit Test Case,如下图:
注:选择New JUnit4 test,建议将测试代码放在一个单独名为test的文件夹下面。Ctrl+Shift+f调整项目格式。
将MRUnit的jar包导入到项目中就可以开始写MapReduce的测试代码了。
b.运行:右键——>Run As——>JUnit Test
c.结果:
在src里面程序代码
package com.test;
public class MyFirstTestClass {
public int multiply(int x,int y){
return x/y;
}
}
测试的代码:在test文件夹里面
package com.test;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class MyFirstTestClassTest {
@Test
public void testMultiply() {
MyFirstTestClass test = new MyFirstTestClass();
assertEquals("Result", 50,test.multiply(10, 5)); //结果应该是2,由于写的50,所以错了
}
}
改后结果:
进一步了解JUnit
4.1. setUp()与tearDown()
对于每一个测试用例,你都可以实现setUp()和tearDown(). setUp在每一个测试用例初始化的时候被调用。tearDown()在每一个测试用例结束的时候被调用。
4.2. 在Eclipse中使用Static imports
Junit中大量使用了static方法。
Eclipse无法自动导入static imports。
你需要做的是将'org.junit.Assert'导入到Java > Editor > Content Assist > Favorites中。当你这么做了以后,你可以使用Content Assist (Ctrl+Space) 来添加方法。
4.3. Annotations
JUnit 4.x中Annotations的使用如下:
Annotation |
描述 |
@Test public void method() |
需要被测试的方法。 |
@Before public void method() |
在每一个测试用例执行前,需要调用的方法。 |
@After public void method() |
在每一个测试用例执行后,需要调用的方法。 |
@BeforeClass public void method() |
所有测试用例执行前,需要调用的方法。 |
@AfterClass public void method() |
所有测试用例执行后,需要调用的方法。 |
@Ignore |
忽略该测试的方法。 |
@Test(expected=IllegalArgumentException.class) |
期望测试用例抛出指定的异常。 |
@Test(timeout=100) |
测试用例期望的执行时间。 |
表1. Annotations
4.4. Assert语句
JUnit 4.x中Assert语句的使用如下:
Assert语句 |
描述 |
fail(String) |
方法失败。 |
assertTrue(true) |
检测是否为真。 |
assertsEquals([String message], expected, actual) |
检测2个对象是否相等 |
assertsEquals([String message], expected, actual, tolerance) |
检测2个对象在允许的精度范围内是否相等。 |
assertNull([message], object) |
检测是否为空。 |
assertNotNull([message], object) |
检测是否为非空。 |
assertSame([String], expected, actual) |
检测2个对象是否是为一个对象。 |
assertNotSame([String], expected, actual) |
检测2个对象是否是为非一个对象。 |
assertTrue([message], boolean condition) |
检测是否为真。 |
try {a.shouldThroughException(); fail("Failed")} catch (RuntimeException e) {asserttrue(true);} |
检测是否抛出异常。 |
表2. Assert语句