一. 安装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> 二. 安装Hadoop-1.0.3
1. 下载hadoop文件,地址为:http://hadoop.apache.org/coases.html,下载完成后解压hadoop-1.0.3.tar.gz
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加入如下内容
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
Eclipse > 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文件夹下的所有文件包含内容信息
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com