云计算开发平台安装配置手册Linux单机伪集群分册.docx
《云计算开发平台安装配置手册Linux单机伪集群分册.docx》由会员分享,可在线阅读,更多相关《云计算开发平台安装配置手册Linux单机伪集群分册.docx(38页珍藏版)》请在冰点文库上搜索。
云计算开发平台安装配置手册Linux单机伪集群分册
产品ID
密级
FocusHadoop
中
产品版本
页数
1.0.0
15
云计算开发平台安装配置手册Linux单机伪集群分册
二零一一年九月
目录
1.综述4
1.1.依据4
1.2.目的4
1.3.范围4
1.4.术语4
2.安装环境5
3.安装准备6
4.安装JDK7
5.安装hadoop7
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
增加安装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步创建符号链接
康华星
1.综述
1.1.依据
本文档依赖于Apache组织hadoop开源项目的相关资料与文档以及各种网络收集的经过整理的资料。
1.2.目的
本文档将指导IT工程人员在单台Linux服务器上安装配置单节点的伪集群服务。
1.3.范围
本文档将指导如何获取安装文件构建安装目录、安装JDK、安装hadoop服务、配置云计算实验平台服务平台、HDFS测试、MapReduce测试等。
1.4.术语
Hadoop
Cygwin
Eclipes
Xdata
定义在云计算技术基础上的数据应用解决方案产品,适应各种未知数据模型,具备很好的数据应用模式的延展性。
LZO
LZO是一个美妙与Hadoop的使用的压缩方案,因为它的速度非常快,支持splittable(可分块)。
Gzip很快,但不能利用Hadoop的自然地图的优势分裂,因为这是不可能的,开始一个随机文件中的偏移量开始解压缩GZIP流的。
LZO的块格式能够在解压缩文件的某些特定的偏移执行解压——在新的LZO块边界开始。
LZO除了支持解压,这个类(pression.lzo.LzoIndexer)提供了一个进程中的索引器以及Map-Reduce风格索引器,它将读取一组LZO文件,将输出的LZO块边界偏移量与Hadoop文件块边界自然融合。
这使得大量的LZO文件分割成多个映射器和并行处理。
压缩,因为它是从磁盘读取的数据较少,最大限度地减少所需的IOPS数。
和lzo减压是如此之快,CPU保持领先磁盘中读取的,所以不必解压缩,因为它的读取磁盘数据,也没有性能的影响。
Gzip
某种压缩格式,速度快,但是不支持压缩分块。
2.安装环境
硬件环境
CPU:
无特殊要求
内存:
无特殊要求
硬盘:
无特殊要求
软件环境
操作系统:
Linux
浏览器:
目前只支持IE6.0和IE7.0
3.安装准备
思路:
1.准备->2.权限->3.基本包->4.软件包->5.网络登录->6.配置环境
步骤1获取安装包安装文件
安装包目录如下,如果缺省的安装包下面缺少对应的内容需要通过他人沟通获取:
上级目录是/xdata/
目录结构
说明
../
./
/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
../
mysqlaccess
mysqld_safe
my.conf
/hadoop
../
conf
/tomcat
../
/conf
/webapps
../
ema
hadoop
可执行文件执行目录
启动脚本(里面RUN_USER配置hadoop)
配置目录(缺省配置在里面)
软件包目录
日志目录
安装用临时文件夹,包括安装需要的软件包
最新的hadoop平台安装包
mysql数据库脚本
Jdk1.6x32位版本
Jdk1.6x64位版本
Mysql数据库软件包
mysql数据库替换文件
hadoop缺省配置目录
setup中解压的tar.gz文件要放在这里
放了hadoop服务缺省的4个配置文件
WEB服务器软件目录mk/conf
配置目录只需要修改server.xml
界面应用程序发布在这里
基础界面框架
实验平台代码
mkbin检查安装包目录是否完整。
步骤2拷贝安装包安装文件到安装目录
将上述目录中所有内容文件拷贝到机器的/xdata目录
注:
如未说使用何种用户进行的操作默认为root用户
步骤3创建安装所需要的用户与用户组
目的:
以后xdata操作用专用的组权限和用户权限。
以root用户登录服务器,在命令行下输入:
#groupaddxdata
#useradd-gxdataxdata//-g表示group
#passwdxdata
//输入新的用户名密码
Changingpasswordforuserxdata.
NewUNIXpassword:
BADPASSWORD:
itisbasedonadictionaryword
RetypenewUNIXpassword:
passwd:
allauthenticationtokensupdatedsuccessfully.
4.安装JDK
步骤4解压jdk软件包
(如果没有则先mkdir命令建立xdata目录)
#chmod755/xdata/setup/*.*//习惯:
先修改setup目录里文件的所有权限,7表示user读写执行,group读执行,other执行
#cd/xdata/setup
#./jdk-6u10-linux-i586.binbin文件是二进制文件,也可以使用脚本的方式进行执行,不同的是bin是个压缩包,所以执行实际是解压操作;但是.tar.gz需要使用tar命令解压了
步骤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
步骤7建立符号链接
#ln–s/xdata/setup/hadoop-0.20.203.0/xdata/hadoop//也可以直接将解压后剪切到/xdata目录并重命名为hadoop
步骤8修改SSH配置允许授权免密码登录
目的:
打开ssh认证/公钥/并定位公钥文件(在服务器端)
#vi/etc/ssh/sshd_config
修改内容如下
#RSAAuthenticationno
#PubkeyAuthenticationno
#AuthorizedKeysFile.ssh/authorized_keys
改为如下:
RSAAuthenticationyes//启用rsa认证
PubkeyAuthenticationyes//启用公钥
AuthorizedKeysFile.ssh/authorized_keys//公钥文件位置
让配置生效
#sudo/etc/init.d/sshdreload//init.d中保存的是启动所需配置
或者
#servicesshrestart
步骤9免密码ssh设置方法一(在客户端)
目的:
产生私钥
登陆slave服务器使用xdata用户
#su–xdata//切换用户命令
#ssh-keygen-trsa//生成xdata密钥,使用xdata用户执行//生成私钥,用来解密rsa证书
复制id_dsa.pub文件为authorized
询问保存路径时直接回车采用默认路径
提示要为生成的密钥输入passphrase的时,直接回车,将其设定为空密码//就是笔记中提到的是否对私钥进行加密
生成的密钥对id_rsa,id_rsa.pub,默认存储在/home/xdata/.ssh目录下。
这个要截图记下来以后用
cd/home/xdata/.ssh
#catid_rsa.pub>>authorized_keys//这里只不过是复制了个公钥文件而已,为的是既保留原有公钥做备份,又能对要使用的公钥改权限
//使用cat命令在新建authorized_keys文件的同时写入内容
配置authorized_keys文件权限
$chmod600authorized_keys(只有所有者有读和写的权限,因为前面切换了用户为xdata,所以所有者用ll可以看到是xdata)
验证
$sshlocalhost使用xdata用户执行//测试是否配置完成
//在第一次连接中,服务器hosts中没有加入RSA,所以无法连接。
接着验证RSA,成功后加入hosts就可以连接了。
(相当于你以前没来过,没签到第一次进入被拒绝了,然后看到你的通行证,把通行证ID加入签到表(hosts)中,然后放行
步骤10改变系统工作目录权限给xdata
#su-root//先改回当前的所属用户或组才能进行操作(或者su也可,不过redhat中@地址后会过出个当前目录倒是挺有用的)
#chgrp-Rxdata/xdata// -R或--recursive递归处理,将指定目录下的所有文件及子目录一并处理。
//只有改变所属组或用户才能操作,现在ll看到前面是root创建的,因此属于root
#chown-Rxdata/xdata
步骤11配置$HADOOP_HOME/conf/hadoop-env.sh
切换到Hadoop的安装路径找到hadoop/conf/hadoop-env.sh文件,使用vi或vi离线方法打开将
#vi/xdata/hadoop/conf/hadoop-env.sh
#exportJAVA_HOME=/usr/lib/j2sdk1.5-sun改为
exportJAVA_HOME=/usr/java/jdk1.6.0_16///usr/java/jdk1.6.0_16表示jdk存放的路径,若是其他路径,要做相应修改
步骤12配置$HADOOP_HOME/conf/core-site.xml
目的:
配置后用于查看core的情况
切换到Hadoop的安装路径找到conf/core-site.xml文件,使用vi或离线方法打开将
#vi/xdata/hadoop/conf/core-site.xml//粗体部分根据自身情况修改
xmlversion="1.0"?
>
xml-stylesheettype="text/xsl"href="configuration.xsl"?
>
--Putsite-specificpropertyoverridesinthisfile.-->
fs.default.name
hdfs:
//master:
51600
hadoop.tmp.dir
/xdata/hadoop/tmp
hdfs:
/master:
51600:
表示hdfs连接的路径,用于网页访问
/xdata/hadoop/tmp:
表示存放的位置,用于设定系统临时目录
注:
如果没有配置hadoop.tmp.dir参数,此时系统默认的临时目录为:
/tmp/hadoop-hadoop.而这个目录在每次重启后都会被干掉,必须重新执行format才行,否则会出错。
//操作系统默认tmp目录中内容每次重启后干掉
步骤13配置$HADOOP_HOME/conf/hdfs-site.xml
目的配置后用于查看hdfs的情况
切换到Hadoop的安装路径找到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:
50070
●dfs.replication是配置复制副本数目,不同的文件副本的分区会放在不同的datanode机器上,表示配置1份副本
●dfs.name.dir是namenode机器上name数据数据的位置,没有则放到core-site.xml的tmp目录中
●dfs.data.dir是datanode机器上data数据存放的位置,没有找到name则放到core-site.xml的tmp目录中
●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/hadoop/bin/hadoopnamenode–format//使用xdata用户
●建立新的dfsnamedir,但是会删除所有这个目录下的文件
建立新的image文件以及editlog文件,这些文件建立的时候会写入一些初始值
●用RandomAccessFile建立了一个rw文件用于记录editlog
步骤16启动Hadoop服务
使用root用户,赋权
#chgrp–Rxdata/xdata
#chown–Rxdata/xdata
#chmod–R755/xdata
使用xdata用户启动了一个名称节点,一个数据节点。
#/xdata/hadoop/bin/start-all.sh
用jps命令查看进程,显示进程PID以及类名以及程序参数:
#/xdata/jdk/bin/jps–ml//使用xdata用户执行
10176org.apache.hadoop.mapred.TaskTracker
25710sun.tools.jps.Jps-ml
8607org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode
9157org.apache.hadoop.hdfs.server.datanode.DataNode
7783org.apache.hadoop.hdfs.server.namenode.NameNode
9612org.apache.hadoop.mapred.JobTracker
既是正常的
步骤17创建目录
$/xdata/hadoop/bin/hadoopfs-mkdir/liuxue/focus//xdata用户
步骤18上传文件到文件系统验证工
$/xdata/hadoop/bin/hadoopfs-copyFromLocal/xdata/lib/wrapper.jar/liuxue/wrapper.jar//使用xdata用户执行
$/xdata/hadoop/bin/hadoopfs-ls/liuxue//使用xdata用户执行
Found3items
-rw-r--r--1hadoopsupergroup11087632011-09-0218:
35/liuxue/emasys.jar
drwxr-xr-x-hadoopsupergroup02011-09-0302:
12/liuxue/focus
-rw-r--r--1hadoopsupergroup1253542011-09-0302:
21/liuxue/wrapper.jar
步骤19复制文件
步骤20读取文件
步骤21删除文件
步骤22超过64M(块分区)的大文件上传
$/xdata/hadoop/bin/hadoopfs-copyFromLocal/xdata/setup/hadoop-0.20.203.0rc1.tar.gz/liuxue/focus/hadoop-0.20.203.0rc1.tar.gz//使用xdata用户执行
$/xdata/hadoop/bin/hadoopfs-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
#tar-zxvfhbase-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打开:
#exportJAVA_HOME=/usr/java/jdk1.6.0/改为
exportJAVA_HOME=/xdata/jdk///实际的jdk路径
#exportHBASE_CLASSPATH=//由于版本问题注意这里需要适当设置可以查看FAQ
#exportHBASE_SSH_OPTS="-oConnectTimeout=1-oSendEnv=HBASE_CONF_DIR"这行直接去掉#
#exportHBASE_MANAGES_ZK=true这行直接去掉占位符#,true
#exportHBASE_LOG_DIR=${HBASE_HOME}/logs修改为输出到/xdata/log
exportHBASE_LOG_DIR=/xdata/log
#exportHBASE_PID_DIR=/var/hadoop/pids修改为输出到/xdata/pid
exportHBASE_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打开:
xmlversion="1.0"?
>
xml-stylesheettype="text/xsl"href="configuration.xsl"?
>
hbase.rootdir
hdfs:
//ireadtest:
51600/hbase//ireadtest:
51600表示主机名和端口
Thedirectorysharedbyregionservers.
hbase.cluster.distributed
true
Themodetheclusterwillbein.Possiblevaluesare
false:
standaloneandpseudo-distributedsetupswithmanagedZookeeper
true:
fully-distributedwithunmanagedZookeeperQuorum(seehbase-env.sh)