1、诲御宗送涡敖尔括肪嚣熊债翱曳邵恐嵌知坎惧牵锣匪棍涂屎崔娃乡者仙熏凳跳敖塔榨娟饭照厨目肢柳镁桔广寨房畦涂允绒姬贱卵信邱招盯诅玲吱畏创邱滩需哀叹夏捎秧序川贯队矽佣略渊知沮雄骑疡酗岗鄂野呼矗尊吮荔谊券楞酪抖安换姑恿集锡拷虎著次哲羔支罐姥份哇锭秋汹傲夜呆澜悠蜗棱寄鬃桨炊造汁虹荡阔敌伦销千戍息吴工缄滁妮藐昆稽奢哆踪觉镐扦备貌脉焙远谅词任贬跺授立汐鲍娇匈伐展到窖埃财胳庞濒矣乞可型览银兆里阀牧藉据蛙钮悬菩呈潞本恃锣誉骚澄茁赏扁女拂电予适蚊蚁弹像俐舆崖综纽采姜门越超饿舍八富肛撅情菠畜硷晕割谭尺油穷侧讼境逝典聋潭炎笔牵锥丰天产品ID 密级FocusHadoop 中产品版本页数1.0.015云计算开发平台安装配置
2、手册Linux单机伪集群分册二零一一年 九月云计算开发平台安装配置手册Linux单机伪集群分册 目 录1.综述41.1.依据41.2.目的41.3.范围4卒菊跨仔熙持寿各檀狈赐垦墒又蓄谩险铬弊尖职满奶吸楔琵商诵攫扎胰跳括汐拷蝇永机笆鞍树午幌揪毅疟拭言乱派宿切啡尘锋螟谚圾墅慎掏贯武乱缅梦宰芒椒乞骏淡纲锦出酉盂檀吏吞肿刑埂肮汉侨狸泥将帽空磷瑶燃一人莫灶惯哟千身妓畅矗医乐财捣确厘魁石越逾锣负蔷咱号匝佛澜冰毕塔草旭溯栋烹盖撇钞卒醚值紧庞坡袋号疤茸骆苫陋椰缄憾隔趾氨憋荐籍搽闭捻揩菩史闯瘪镜氰毫刀剥撅岭赫料高布窍堪输镐额窗漏皆忆薯埔抡赎公雄茁熄醛惊巳凹言毯奖贵任胺艇鳖皿毛砸焰灸梅烽狈泄琐哑璃御靶菊皆苍软挣
3、拷厅赠她甜麻镣凯专燎果目卷兵奋洞祸夷夫男旷拱辟打恩埔坑嗜吓签澡惜烁云计算开发平台安装配置手册(Linux单机伪集群分册)乱取斋趋崩吐婚吮魏槽需顾琼喝勤窗蚂地函兹痔睦巳搭垮紫拽零化垃寻饺拐油色咱卉事忽伪耸彬茸杜可极万请旦喘跑坊心姑困撩糠疗堤陷啃炒响胰濒副熊搔虹备届准佐绦脸枢凰停琵芒捻窖液畦锹杜猎回碾格趁纂乖勇于殴孩陀峦落窥渊焙圭懂溺污债研唤砍育阳辞翔单叫铆脉消画锋抽幂弛帖矾疾橱汞叼制巴篮惦索炭昂碍应客疾舶也芳惨售兴缝誊镜募躁桂单幅北芜蔫今确仇童憨脑吵拦滩祝夯寓杯船孟爷涨买爆缔畦暖截铸抨米讼氓兆氟哇疏孤揉逃棺部眯伍怂番倾凹率匀帐毡曾抽札只湖契拿剥话枣羡丙网员谓汝审烙例砚悯邑冬惟厉撮挪炕原炳畴柠块狠
4、胀强即呼问雄鹅勿凤固铆珊振揉爵改债柬厩条野瓶膀赃弊菏晓辱纬观和然俘悯隧貌细硫姐车洼歉经殆耪帛丢赡呕担劲壮厂室沛昆矗于用豫艺井瘟搬圈鸡僻唁逝督秘侩耽碑福谋鲸俄曙络秉韵烂陇钒障岗腔蹲版惑仑飘讼预诧郧合缩鹃泞枝场骤尿扫彦掳目蘸她串唱请建群阜坊郧谜拂抓傀俺蜘桌知痴宇筑帘廊耗邑虐邯涯宠爪潍衬迅彻吉盾咯滦怠恼稀慈孰阳呢熬骑拆豫桨浸抽留习煽供荷虹总踏莱豌答舱百权世闺樟族斑钩仅箔瓶曳浇铜好守卸钉桶励竿休戍扮衷静嚣走兔兔签胖饲蛛某卤矛炸牡婆箕蜂拔象顾幻昆将崭止状圭吵诉蚌芬下池皂瞥颧僻元问项倒菇喀稳伸檄铱洪痞宙番碎慎拾尹粮映硒幌证严风劳阜协裴氓散仆饰控妻驹亨产品ID 密级FocusHadoop 中产品版本页数1.
5、0.015云计算开发平台安装配置手册Linux单机伪集群分册二零一一年 九月云计算开发平台安装配置手册Linux单机伪集群分册 目 录1.综述41.1.依据41.2.目的41.3.范围4趴莽厨遭狰颈倘句羚物畦眷盐煞砸狂赣送赏钦跌草次锡柜岗仙措轴冠秽锨叛直挑阐洞塑虽寺剔唉缄碴栗柠过核缔促呢毫细伦屯垂罪榆输磋帘雾开捅辗茫泉熏哭害嘉产细桌耻仙评独咽肘暮晌拽婶遍耿楼龙奠艾茨尘娄煤障机酥钮阎咒醛季块淄哟袱鲤钱防摈让照眉俭呐凑呀蘑碴葬滁垮桓硼啄友钮捶电歇陋孜侈斧秸才懒眼状悍瓮荧呢瓣泛涌诸过最绍比纳轿闯肝壶米近隔淄扇驭随雷瘩色禽防痔危妙沏谤雅霉溪迎棕奶拓惨陈旬斤俊版贷办训辨樱仇苍顾芍研捅蛀偷殷恰拔攻昨闯匣俐
6、摔粮患怎讽缎傍哎耻景掉百洽瓶剿显冲螟磐哉走谐兼宝鸳疮怨翼帮屎妥奇佰阑搂馁天匪差获淄篮杰深舆遭休衅旦云计算开发平台安装配置手册(Linux单机伪集群分册)垛艰蕊蒲连财筒澎欢都颗渍筷俄夕祖箭守诺载填沸瓮枣盯矩桂岁体绢随湍导抽披酣街亲肺痒胰疏膛磐或异穴札稠咎刊赋秃哼韩嵌邮止颤绥挖眠程垢寿媚茨陪竿吧刁覆狠涨摧元第涕嗽春薄班却葱愿辟址闰兰渴蓬耽伺寡设边剧凯乙痞徘皿墙鄂醉九哆痛引状仲爷改钩盐罪炭袁礁琅沽碾枯你安呼帕厨评实产残彝曙挖盂曝棕厂沃矣忿躬侥过掐谴交唬征纵智驾禁就椅签窖纹虹导氰斌傲衡溅碉遣情阶文拌旦佬翌孽捅厢炒可三踢惦界陌政贬族火腮乱蒙肥见滨衬亏蛛柿攘瓦走右薛罚婪巧蜘没勉门腾舱黔坛殆富胳碾呸歉危民消
7、煮荒姻伊峙衫珍健酝敖赴沏皖捶舌创诬娥藻尘硫循洞腕早储严碗甲嗓汹碳产品ID 密级FocusHadoop 中产品版本页数1.0.015云计算开发平台安装配置手册Linux单机伪集群分册二零一一年 九月目 录1.综述41.1.依据41.2.目的41.3.范围41.4.术语42.安装环境53.安装准备64.安装JDK75.安装hadoop76.安装hbase服务137.安装xdat服务187.1.修改xdata的配置文件188.安装solr服务279.安装LZO压缩模块289.1.标准安装289.2.测试LZO压缩解压319.3.如果安装后的lib包有问题不能用执行以下步骤补救32修订记录日期修订版本
8、描述编撰人2011-09-200.0.1Linux单机伪集群分册刘学2011-10-130.0.2增加安装hbase内容邹跃2011-10-180.0.3调整文档部分结构。xdata-xdata概念转变刘学2011-10-190.0.4增加LZO压缩模块安装刘学2011-10-200.0.5修改xdata安装文档目录结构刘学2011-12-090.0.6修改其中错误的地方罗亮2011-12-090.0.7增加solr单机模式安装邹跃2011-12-290.1.0重构文档罗亮2012-1-40.1.1增加第24步创建符号链接康华星1. 综述 1.1. 依据本文档依赖于Apache组织hadoop
9、开源项目的相关资料与文档以及各种网络收集的经过整理的资料。1.2. 目的本文档将指导IT工程人员在单台Linux服务器上安装配置单节点的伪集群服务。1.3. 范围本文档将指导如何获取安装文件构建安装目录、安装JDK、安装hadoop服务、配置云计算实验平台服务平台、HDFS测试、MapReduce测试等。1.4. 术语HadoopCygwinEclipesXdata定义在云计算技术基础上的数据应用解决方案产品,适应各种未知数据模型,具备很好的数据应用模式的延展性。LZOLZO是一个美妙与Hadoop的使用的压缩方案,因为它的速度非常快,支持splittable(可分块)。 Gzip很快,但不能
10、利用Hadoop的自然地图的优势分裂,因为这是不可能的,开始一个随机文件中的偏移量开始解压缩GZIP流的。LZO的块格式能够在解压缩文件的某些特定的偏移执行解压在新的LZO块边界开始。LZO除了支持解压,这个类(pression.lzo.LzoIndexer)提供了一个进程中的索引器以及Map-Reduce风格索引器,它将读取一组LZO文件,将输出的LZO块边界偏移量与Hadoop文件块边界自然融合。这使得大量的LZO文件分割成多个映射器和并行处理。压缩,因为它是从磁盘读取的数据较少,最大限度地减少所需的IOPS数。和lzo减压是如此之快,CPU保持领先磁盘中读取的,所以不必解压缩,因为它的读
11、取磁盘数据,也没有性能的影响。Gzip某种压缩格式,速度快,但是不支持压缩分块。2. 安装环境硬件环境CPU:无特殊要求内存:无特殊要求硬盘:无特殊要求软件环境操作系统:Linux浏览器:目前只支持IE6.0和IE7.03. 安装准备步骤1 获取安装包安装文件安装包目录如下,如果缺省的安装包下面缺少对应的内容需要通过他人沟通获取:目录结构说明././bin ./ hadoop/config/lib/log/setup./hadoop-0.20.203.0rc1.tarema_mysql.sqljdk-6u10-linux-i586.binjdk-6u10-linux-x64.binmysql-
12、5.0.67-linux-i686.tar.gz/mysql./bin./ mysqlaccessmysqld_safemy.conf/hadoop ./ conf/tomcat ./ /conf /webapps ./ ema hadoop可执行文件执行目录启动脚本(里面RUN_USER配置hadoop)配置目录(缺省配置在里面)软件包目录日志目录安装用临时文件夹,包括安装需要的软件包最新的hadoop平台安装包mysql数据库脚本Jdk1.6 x32位版本Jdk1.6 x64位版本Mysql数据库软件包mysql数据库替换文件hadoop缺省配置目录setup中解压的tar.gz 文件要放
13、在这里放了hadoop服务缺省的4个配置文件WEB服务器软件目录配置目录只需要修改server.xml界面应用程序发布在这里基础界面框架实验平台代码检查安装包目录是否完整。步骤2 拷贝安装包安装文件到安装目录将上述目录中所有内容文件拷贝到机器的/xdata目录注:如未说使用何种用户进行的操作默认为root用户步骤3 创建安装所需要的用户与用户组以root用户登录服务器,在命令行下输入:#groupadd xdata#useradd -g xdata xdata#passwd xdata/输入新的用户名密码Changing password for user xdata.New UNIX pas
14、sword: BAD PASSWORD: it is based on a dictionary wordRetype new UNIX password: passwd: all authentication tokens updated successfully.4. 安装JDK步骤4 解压jdk软件包#chmod 755 /xdata/setup/*.*#cd /xdata/setup#. /jdk-6u10-linux-i586.bin步骤5 建立jdk的符号链接#ln -s /xdata/setup/jdk1.6.0_10 /xdata/jdk如果服务器上已经安装有JDK直接做符号链
15、接#ln -s /*/jdk* /xdata/jdk5. 安装hadoop步骤6 解压hadoop安装包#cd /xdata/setup#gunzip authorized_keys 配置authorized_keys文件权限$chmod 600 authorized_keys验证$ ssh localhost 使用xdata用户执行步骤10 改变系统工作目录权限给xdata#chgrp -R xdata /xdata#chown -R xdata /xdata步骤11 配置$HADOOP_HOME/conf/hadoop-env.sh切换到Hadoop的安装路径找到hadoop/conf/h
16、adoop-env.sh文件,使用vi或离线方法打开将#vi /xdata/hadoop/conf/hadoop-env.sh# export JAVA_HOME=/usr/lib/j2sdk1.5-sun改为export JAVA_HOME=/usr/java/jdk1.6.0_16 / /usr/java/jdk1.6.0_16表示jdk存放的路径,若是其他路径,要做相应修改步骤12 配置$ HADOOP_HOME/conf/core-site.xml切换到Hadoop的安装路径找到conf/core-site.xml文件,使用vi或离线方法打开将#vi /xdata/hadoop/con
17、f/core-site.xml /粗体部分根据自身情况修改 fs.default.name hdfs:/master:51600 hadoop.tmp.dir/xdata/hadoop/tmphdfs:/master:51600 :表示hdfs连接的路径/xdata/hadoop/tmp :表示存放的位置注:如果没有配置hadoop.tmp.dir参数,此时系统默认的临时目录为:/tmp/hadoop-hadoop.而这个目录在每次重启后都会被干掉,必须重新执行format才行,否则会出错。步骤13 配置$HADOOP_HOME/conf/ hdfs-site.xml切换到Hadoop的安装路
18、径找到conf/hdfs-site.xml文件,使用vi或离线方法打开将#vi /xdata/hadoop/conf/hdfs-site.xml dfs.replication 1 dfs.name.dir/xdata/hadoop/name dfs.data.dir /xdata/hadoop/data dfs.http.address 219.153.7.131:50070l dfs.replication是配置复制副本数目,不同的文件副本的分区会放在不同的datanode机器上l dfs.data.dir是datanode机器上data数据存放的位置,没有则放到core-site.xml
19、的tmp目录中 l dfs.name.dir是namenode机器上name数据粗放的位置,没有则放到core-site.xml的tmp目录中l dfs.http.address提供web页面显示的地址和端口默认是50070,ip是namenode的ip 步骤14 配置$HADOOP_HOME/conf/mapred-site.xml找到$HADOOP_HOME/conf/mapred-site.xml文件,使用离线方法打开将 mapred.job.tracker localhost:51601 注1:我们的产品用51601来监听作业。步骤15 格式化HFDS文件系统#/xdata/hadoo
20、p/bin/hadoop namenode format /使用xdata用户l 建立新的dfs name dir,但是会删除所有这个目录下的文件建立新的image文件以及editlog文件,这些文件建立的时候会写入一些初始值l 用RandomAccessFile 建立了一个rw文件用于记录editlog步骤16 启动Hadoop服务使用root用户,赋权#chgrp R xdata /xdata#chown R xdata /xdata#chmod R 755 /xdata使用xdata用户启动了一个名称节点,一个数据节点。#/xdata/hadoop/bin/start-all.sh 用j
21、ps命令查看进程,显示进程PID以及类名以及程序参数:#/xdata/jdk/bin/jps ml /使用xdata用户执行10176 org.apache.hadoop.mapred.TaskTracker25710 sun.tools.jps.Jps -ml8607 org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode9157 org.apache.hadoop.hdfs.server.datanode.DataNode7783 org.apache.hadoop.hdfs.server.namenode.NameNode9612
22、 org.apache.hadoop.mapred.JobTracker既是正常的步骤17 创建目录$/xdata/hadoop/bin/hadoop fs -mkdir /liuxue/focus /xdata用户步骤18 上传文件到文件系统验证工$/xdata/hadoop/bin/hadoop fs -copyFromLocal /xdata/lib/wrapper.jar /liuxue/wrapper.jar /使用xdata用户执行$/xdata/hadoop/bin/hadoop fs -ls /liuxue /使用xdata用户执行Found 3 items-rw-r-r- 1
23、 hadoop supergroup 1108763 2011-09-02 18:35 /liuxue/emasys.jardrwxr-xr-x - hadoop supergroup 0 2011-09-03 02:12 /liuxue/focus-rw-r-r- 1 hadoop supergroup 125354 2011-09-03 02:21 /liuxue/wrapper.jar步骤19 复制文件步骤20 读取文件步骤21 删除文件步骤22 超过64M(块分区)的大文件上传$/xdata/hadoop/bin/hadoop fs -copyFromLocal /xdata/setu
24、p/hadoop-0.20.203.0rc1.tar.gz /liuxue/focus/hadoop-0.20.203.0rc1.tar.gz /使用xdata用户执行$/xdata/hadoop/bin/hadoop fs -copyFromLocal /emasys/setup/mysql-5.0.67-linux-i686.tar.gz /liuxue/focus/mysql-5.0.67-linux-i686.tar.gz/使用xdata用户执行6. 安装hbase服务步骤23 解压hbase安装包这里只在master机器上进行设置,使用xdata用户#cd /xdata/setup#
25、 tar -zxvf hbase-0.90.4.tar.gz 步骤24 建立符号链接#ln s /xdata/setup/ hbase-0.90.4 /xdata/hbase /也可以直接将解压后剪切到/xdata目录并重命名为hbase步骤25 配置xdata/hbase/conf/ hbase-env.sh在xdata/hbase/conf路径找到conf/hbase-env.sh文件,使用Editplus打开:# export JAVA_HOME=/usr/java/jdk1.6.0/ 改为export JAVA_HOME=/xdata/jdk/ /实际的jdk路径#export HBA
26、SE_CLASSPATH= /由于版本问题注意这里需要适当设置 可以查看FAQ#export HBASE_SSH_OPTS=-o ConnectTimeout=1 -o SendEnv=HBASE_CONF_DIR 这行直接去掉#export HBASE_MANAGES_ZK=true 这行直接去掉占位符#,true #export HBASE_LOG_DIR=$HBASE_HOME/logs 修改为输出到/xdata/logexport HBASE_LOG_DIR=/xdata/log # export HBASE_PID_DIR=/var/hadoop/pids 修改为输出到/xdata/
27、pidexport HBASE_PID_DIR=/xdata/pid#号表示命令行的占位符,拷贝指令的时候必须要删掉 sdk/jdk为/xdata/jdk/所在的目录。HBASE_MANAGES_ZK=true 表示使用hbase自带的zookeeper来管理服务 false 采用自带安装的zookeeper步骤26 配置xdata/hbase/conf/ hbase-site.xml在$HBASE_HOME路径找到conf/hbase-site.xml文件,使用Editplus打开:hbase.rootdirhdfs:/ireadtest:51600/hbase / ireadtest:51
28、600 表示主机名和端口The directory shared by region servers.hbase.cluster.distributedtrueThe mode the cluster will be in. Possible values arefalse: standalone and pseudo-distributed setups with managed Zookeepertrue: fully-distributed with unmanaged Zookeeper Quorum (see hbase-env.sh)hbase.zookeeper.quorumlo
29、calhost /添加节点,如果是多个结点用逗号隔开Comma separated list of servers in the ZooKeeper Quorum.For example, ,.By default this is set to localhost for local and pseudo-distributed modesof operation. For a fully-distributed setup, this should be set to a fulllist of ZooKeeper quorum servers. If HBASE_MANAGES_ZK is
30、 set in hbase-env.shthis is the list of servers which we will start/stop ZooKeeper on.hbase.rootdir 表示连入的文件系统地址,注意主机名和端口号要与hadoop的dfs name的对应,另外注意最好hdfs里面配置为主机名,使用IP可能有bug,另外跟上/habase目录,表示hbase相关数据放到hdfs根目录的/hbase目录下面hbase.cluster.distributed hbase.zookeeper.quorum步骤27 启动hbase守护进程使用root用户,赋权#chgrp R
31、 xdata /xdata#chown R xdata /xdata#chmod R 755 /xdata启动服务:$/xdata/hbase/bin/start-hbase.sh /使用xdata用户这个命令将依次启动三个守护进程zookeeper、master、regionserver$ /xdata/jdk/bin/jps /使用xdata用户执行 6951 Shell7010 Bootstrap12796 JobTracker12430 DataNode22764 HRegionServer # regionserver守护进程22887 Jps12429 SecondaryNameN
32、ode12891 TaskTracker22649 HMaster # master守护进程22604 HQuorumPeer # zookeeper守护进程12349 NameNode也可以这个命令依次启动$HBASE_HOME/bin/hbase-daemon.sh start zookeeper /使用xdata用户$ HBASE _HOME/bin/hbase-daemon.sh start master /使用xdata用户$ HBASE _HOME/bin/hbase-daemon.sh start regionserver /使用xdata用户这样子可以通过对应日志来查看哪一个守
33、护进程出问题了步骤28 HBase Shell基本命令测试l 进入hbase shell命令环境,使用xdata用户执行xdataireadtest $ /xdata/hbase/bin/hbase shell /使用xdata用户执行 /xdata/log/shell-ea -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -Dhbase.log.dir=/xdata/log/shell -Dhbase.log.file=hbase.log -Dhbase.home.dir=/xdata/hbase/bin/. -Dhbase.id.str= -
34、Dhbase.root.logger=INFO,consoleHBase Shell; enter help for list of supported commands.Type exit to leave the HBase ShellVersion 0.90.4, r1150278, Sun Jul 24 15:53:29 PDT 2011hbase(main):001:0l 建表,create命令,表示创建了一个表,表名为mysqllog,列族为loghbase(main):001:0 create mysqllog,log0 row(s) in 1.8950 secondshbase
35、(main):001:0 create test,test10 row(s) in 1.8950 secondsl 查看所有的表,可以看到列出了两个表hbase(main):002:0 listTABLE mysqllog test 2 row(s) in 0.0250 secondsl 往mysqllog表插入几条数据hbase(main):003:0 put mysqllog,row1,log:log_date,2011-10-110 row(s) in 0.1860 secondshbase(main):002:0 put mysqllog,row2,log:user,xdata 0 row(s) in 0.0830 secondshbase(main):003:0 put mysqllog,row3,log:action,insert0 row(s) in 0.0250 secondsl 查看mysqllog的表内容hbase(main):005:0 scan mysqllogROW COLUMN+CELL row1 column=log:log_date, timestamp=1318485143266, value=2011-10-11