一.  安装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

  1. 1.     下载hadoop文件,地址为:http://hadoop.apache.org/coases.html,下载完成后解压hadoop-1.0.3.tar.gz

sudotar -xzf hadoop-1.0.3.tar.gz

  1. 2.  配置Hadoop环境变量

exportHADOOP_INSTALL=/home/hadoop-1.0.3

exportPATH=$PATH:$HADOOP_INSTALL/bin

  1. 3.  查看hadoop版本

输入 hadoop version命令后输入下图,则安装hadoop成功


  1. 4.  修改配置文件

  2. a)    解压hadoop-1.0.3/hadoop-core-1.0.3.jar

  3. 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

  4. 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. 1.  执行命令安装ssh:sudo apt-get install ssh

  2. 2.  基于空口令创建一个新SSH密钥,以启用无密码登陆

  3. a)    ssh-keygen-t rsa -P '' -f ~/.ssh/id_rsa

      b)    cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys

  1. 3.  测试

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文件系统

  1. 1.  查看hadoop所有块文件

执行命令:

hadoopfsck / -files –blocks

此结果显示,hadoop文件系统中,还没有文件可以显示

  1. 2.  将文件复制到hadoop文件系统中

  2. a)    在hadoop文件系统中创建文件夹,执行命令:

hadoopfs –mkdir docs

  1. b)    复制本地文件到hadoop文件系统中执行命令:

hadoopfs -copyFromLocal docs/test.txt \

hdfs://localhost/user/docs/test.txt

  1. c)    复制hadoop文件系统中的文件回本地,并检查是否一致

复制:hadoop fs -copyToLocal docs/test.txt docs/test.txt.bat

检查:md5 docs/test.txt docs/text.txt.bat

检查结果若显示两个md5加密值相同,则文件内容相同。

  1. d)    查看HDFS文件列表

执行命令:

hadoopfs –ls

e)    再次查看文件系统文件块

执行命令:

hadoopfsck / -files –blocks

此处为文件备份数量,可以调整,打开hadoop-1.0.3/conf/hdfs-site.xml文件,

此处修改文件备份数量

七.  安装zookeeper

  1. 1.  准备

zookeeper-3.4.3.tar.gz

下载地址:

http://apache.etoak.com/zookeeper/zookeeper-3.4.3/zookeeper-3.4.3.tar.gz

  1. 2.  安装zookeeper

执行命令:tar zookeeper-3.4.3.tar.gz解压安装文件

  1. 3.  环境变量

执行sudo vim /etc/profile

打开后加入

exportZOOKEEPER_HOME=/home/zookeeper-3.4.3

exportPATH=$PATH:$ZOOKEEPER_HOME/bin

执行命令 source  /etc/profile 让环境变量生效

  1. 4.  配置zookeeper

打开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

  1. 1.  准备

hbase-0.92.1.tar.gz

下载地址:

http://labs.mop.com/apache-mirror/hbase/hbase-0.92.1/hbase-0.92.1.tar.gz

  1. 2.  安装hbase

执行命令 tar hbase-0.92.1.tar.gz解压安装文件

  1. 3.  环境变量

执行sudo vim /etc/profile

打开后加入

exportHBASE_HOME=/home/hbase-0.92.1

exportPATH=$PATH:$HBASE_HOME/bin

执行命令 source  /etc/profile 让环境变量生效

  1. 4.  配置hbase

  2. 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"

  1. b)     打开hbase/conf/hbase-site.xml加入如下内容


 

          hbase.rootdir

                 hdfs://localhost:9000/hbase

          hbase.cluster.distributed

          true

hbase.master

localhost:60000

  

          hbase.master.port

          60000

          Theport master should bind to.

  

打开regionservers文件放入localhost

先把hadoop启动起来 执行start-all.sh

转入hbase/bin/目录下

执行./start-hbase.sh 脚本,启动hbase

                            启动成功后执行hbase shell进去shell模式下

                            执行create ‘test’, ‘data’创建表。执行结果如下:

                           

                            执行list查询表,执行结果如下:

                           

                            这样我们就安装成功了

九.  Eclipse结合MapReduce

  1. 1.  准备

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

  1. 2.  配置MapReduce

点击菜单栏的WindowàpreferencesàHadoopMap/Reduce


配置hadoop目录


  1. 3.  打开MapReduce视图

打开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的文件系统了


  1. 4.  创建Map/Reduce项目

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项目中

  1. 5.  运行WordCount

点击项目右键àRun AsàRun on Hadoop


输入WordCountà点击OK


选中刚刚配置的Map/Reduce Location点击finish


控制台输出


这个表示缺少两个参数


点击RunConfigurations,选中Arguments


编写两个参数,一个输入文件所在目录,一个输出文件所在目录,输出文件所在目录项目会自动帮我们创建,输入文件目录需要我们自己手动创建.

首先在local创建一个文件夹,再创建两个或两个以上文件

  1. a)    mkdirinput

  2. b)    cdinput

  3. c)    touchfile1

  4. d)    touchfile2

  5. e)    打开文件1  vim file1,输入”Hello World”, 打开文件2  vim file2

输入”Hello Hadoop”

  1. f)     cd ..

  2. g)    将input文件夹下的文件放入hadoop文件系统中hadoop fs –put input input

  3. h)    在Arguments中的Program arguments中输入两个参数,一个输入文件夹,一个输出文件夹,/user/input /user/output,输出文件夹项目会帮我们创建

  4. i)     再次运行项目


这样证明项目正常运行了

  1. j)     刷新eclipse中的文件系统目录




  1. k)    双击part-r-00000


这样表示input文件夹下的所有文件包含内容信息