一. 安装JDK,配置环境JAVA环境变量 exportJAVA_HOME=/home/jdk1.6.0_27 exportJRE_HOME=/home/jdk1.6.0_27/jre exportANT_HOME=/home/apache-ant-1.8.2 export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH 二. 安装Hadoop-1.0.3
sudotar -xzf hadoop-1.0.3.tar.gz exportHADOOP_INSTALL=/home/hadoop-1.0.3 exportPATH=$PATH:$HADOOP_INSTALL/bin 输入 hadoop version命令后输入下图,则安装hadoop成功
- 4. 修改配置文件
- a) 解压hadoop-1.0.3/hadoop-core-1.0.3.jar
- b) 去解压后的hadoop-core-1.0.3文件夹下,复制文件core-default.xml,hdfs-default.xml,mapred-default.xml三个文件到hadoop-1.0.3/conf/下,删除hadoop-1.0.3/conf/文件夹下的core-site.xml,hdfs-site.xml,mapred-site.xml,将复制过来的三个文件的文件名中的default修改为site
- c) 在hadoop-1.0.3文件夹同级创建文件夹hadoop,打开core-site.xml文件,修改属性节点下的name节点为hadoop.tmp.dir对应的value节点,修改为/home/${user.name}/hadoop/hadoop-${user.name}这样hadoop生成的文件会放入这个文件夹下.修改name节点为fs.default.name对应的value节点,修改为hdfs://localhost:9000/
打开mapred-site.xml文件,修改property节点下name为mapred.job.tracker对应的的value, 改为:localhost:9001 三. 安装ssh
- 1. 执行命令安装ssh:sudo apt-get install ssh
- 2. 基于空口令创建一个新SSH密钥,以启用无密码登陆
- a) ssh-keygen-t rsa -P '' -f ~/.ssh/id_rsa
b) cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys sshlocalhost
输入yes
再次输入ssh localhost 成功之后,就不需要密钥 四. 格式化HDFS文件系统
输入指令: hadoopnamenode –format
五. 启动和终止守护进程
启动和终止HDFS和MapReduce守护进程,键入如下指令 启动start-all.sh(start-dfs.sh,start-mapred.sh)
出错了,JAVA_HOME is not set 需要修改文件,打开hadoop-1.0.3/conf/hadoop-env.sh
将红线以内部分注释解开,修改为本机JAVA_HOME
再次执行启动命令start-all.sh
停止stop-all.sh(stop-dfs.sh,stop-mapred.sh) 到此,hadoop就已经安装完成了 六. Hadoop文件系统
执行命令: hadoopfsck / -files –blocks 此结果显示,hadoop文件系统中,还没有文件可以显示 - 2. 将文件复制到hadoop文件系统中
- a) 在hadoop文件系统中创建文件夹,执行命令:
hadoopfs –mkdir docs - b) 复制本地文件到hadoop文件系统中执行命令:
hadoopfs -copyFromLocal docs/test.txt \ hdfs://localhost/user/docs/test.txt - c) 复制hadoop文件系统中的文件回本地,并检查是否一致
复制:hadoop fs -copyToLocal docs/test.txt docs/test.txt.bat 检查:md5 docs/test.txt docs/text.txt.bat 检查结果若显示两个md5加密值相同,则文件内容相同。 执行命令: hadoopfs –ls e) 再次查看文件系统文件块 执行命令: hadoopfsck / -files –blocks 此处为文件备份数量,可以调整,打开hadoop-1.0.3/conf/hdfs-site.xml文件, 此处修改文件备份数量 七. 安装zookeeper
zookeeper-3.4.3.tar.gz 下载地址: http://apache.etoak.com/zookeeper/zookeeper-3.4.3/zookeeper-3.4.3.tar.gz
执行命令:tar zookeeper-3.4.3.tar.gz解压安装文件 执行sudo vim /etc/profile 打开后加入 exportZOOKEEPER_HOME=/home/zookeeper-3.4.3 exportPATH=$PATH:$ZOOKEEPER_HOME/bin 执行命令 source /etc/profile 让环境变量生效 打开zookeeper /conf/coo.cfg ###以下是文件内容 #zookeeper基本时间单元(毫秒) tickTime=2000 #zookeeper存储持久数据的本地文件系统位置 dataDir=/home/xxx/zookeeper #zookeeper用户监听客户端连接的端口 clientPort=2181 ###文件内容结束 保存文件后切换到 zookeeper/bin/目录下 执行./zkServer.sh start 执行./zkServer.sh status , echostat | nc –q 1 localhost, echostat | nc localhost 2181 查看状态 执行 echo ruok | nc localhost 2181 执行结果为 imok 是I am ok的意思表示安装并启动成功 关闭zookeeper ./zkServer.shstop
八. 安装hbase
hbase-0.92.1.tar.gz 下载地址: http://labs.mop.com/apache-mirror/hbase/hbase-0.92.1/hbase-0.92.1.tar.gz
执行命令 tar hbase-0.92.1.tar.gz解压安装文件 执行sudo vim /etc/profile 打开后加入 exportHBASE_HOME=/home/hbase-0.92.1 exportPATH=$PATH:$HBASE_HOME/bin 执行命令 source /etc/profile 让环境变量生效 - 4. 配置hbase
- a) 打开hbase/conf/hbase-env.sh 加入如下内容
export JAVA_HOME=/home/jdk1.6.0_26 export HBASE_MANAGERS_ZK=false export HBASE_HOME=/home/hbase-0.92.1 export HADOOP_INSTALL=/home/hadoop-1.0.3 修改HBASE_OPTS为:exportHBASE_OPTS="$HBASE_OPTS -XX:+HeapDumpOnOutOfMemoryError-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode" - b) 打开hbase/conf/hbase-site.xml加入如下内容
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.master</name> <value>localhost:60000</value> </property> <property> <name>hbase.master.port</name> <value>60000</value> <description>Theport master should bind to.</description> </property> </configuration> 打开regionservers文件放入localhost 先把hadoop启动起来 执行start-all.sh 转入hbase/bin/目录下 执行./start-hbase.sh 脚本,启动hbase 启动成功后执行hbase shell进去shell模式下
执行create ‘test’, ‘data’创建表。执行结果如下:
执行list查询表,执行结果如下:
这样我们就安装成功了
九. Eclipse结合MapReduce
Eclipse IDE version=3.7 org.apache.hadoop.eclipse.merit_1.1.0.jar 将org.apache.hadoop.eclipse.merit_1.1.0.jar复制到eclipse安装目录的Plugin目录下 启动hadoop,start-all.sh 启动eclipse 点击菜单栏的WindowàpreferencesàHadoopMap/Reduce
配置hadoop目录
打开IDE的WindowàShowViewàOther
打开Map/Reduce Locations
在视图中创建一个新的Hadoop Location
将Map/Reduce Master(Job Tracker的IP和端口)中的配置,Host和Port修改为配置文件hadoop-1.0.3/conf/mapred-site.xml中的mapred.job.tracker属性的值
选中DFS Master(Name Node的IP和端口),配置其中Host和Port,修改为配置文件hadoop-1.0.3/conf/core-site.xml中的fs.default.name属性的值
username默认的就行了, 点击finish 项目栏出现树状菜单,标识设置成功
这样就可以在eclipse中使用hadoop的文件系统了
FileàNewàOther
输入Map/Reduce Projectànext
输入项目名称àfinish
创建成功
创建Mapper和Reduce类, Mapper的创建: 选中项目中的包,右键àNewàOther
输入MapperàNext
输入类名àfinish,该类自动继承 org.apache.hadoop.mapred.MapReduceBase这个类
Reduce的创建和Mapper是一样的 最后导入WordCount这个类此类位置 从hadoop自带的$HADOOP_HOME/src/examples/org/apache/hadoopexamples/WordCount.java 将此文件copy到刚创建的MapReduce项目中 点击项目右键àRun AsàRun on Hadoop
输入WordCountà点击OK
选中刚刚配置的Map/Reduce Location点击finish
控制台输出
这个表示缺少两个参数
点击RunConfigurations,选中Arguments
编写两个参数,一个输入文件所在目录,一个输出文件所在目录,输出文件所在目录项目会自动帮我们创建,输入文件目录需要我们自己手动创建. 首先在local创建一个文件夹,再创建两个或两个以上文件 - a) mkdirinput
- b) cdinput
- c) touchfile1
- d) touchfile2
- e) 打开文件1 vim file1,输入”Hello World”, 打开文件2 vim file2
输入”Hello Hadoop” - f) cd ..
- g) 将input文件夹下的文件放入hadoop文件系统中hadoop fs –put input input
- h) 在Arguments中的Program arguments中输入两个参数,一个输入文件夹,一个输出文件夹,/user/input /user/output,输出文件夹项目会帮我们创建
- i) 再次运行项目
这样证明项目正常运行了
这样表示input文件夹下的所有文件包含内容信息
|