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






