hadoop与hbase与hive与oozie安装使用文档.docx
《hadoop与hbase与hive与oozie安装使用文档.docx》由会员分享,可在线阅读,更多相关《hadoop与hbase与hive与oozie安装使用文档.docx(30页珍藏版)》请在冰豆网上搜索。
hadoop与hbase与hive与oozie安装使用文档
Hadoop
HBase
Hive
Oozie
安装使用文档
目录
Hadoop-2.0HA解决方案安装文档1
1.安装NFS并配置共享目录2
2.修改hadoop安装目录下etc/hadoop/core-site.xml4
3.修改hdfs-site.xml4
4.NameNode格式化6
5.HDFS(HA)的初始化7
6.zkfc格式化7
7.HDFS(HA)的管理7
8.验证hadoop-2.0HA高可用是否成功7
HBase安装文档10
一、环境简介10
二、安装步骤10
1.解压安装包10
2.修改配置文件hbase-site.xml10
3.修改配置文件regionservers11
4.修改配置文件hbase-evn.sh11
5.使用scp命令将HBase主目录复制到另外三台服务器相同的路径下:
11
6.对每台服务器进行时间同步11
7.启动HBase12
8.验证是否成功启动12
9.关闭HBase13
Hive安装文档14
一、环境简介14
二、安装步骤14
1.为Hive创建mysql用户及数据库,并赋予足够的权限14
2.解压Hive安装包14
3.生成配置文件14
4.修改配置文件15
5.下载、安装mysql驱动15
6.验证Hive安装16
三、Hive的连接16
1.使用jdbc连接Hive数据库16
2使用HBase连接Hive数据库17
Oozie安装使用文档20
一、环境简介20
二、安装步骤20
1.解压Tomcat安装包20
2.验证Tomcat安装20
3.为Oozie创建mysql用户及数据库,并赋予足够的权限21
4.解压Oozie安装包21
5.添加环境变量21
6.修改配置文件21
7.安装mysql驱动22
8.在mysql上为Oozie创建数据库模式22
9.安装OozieWeb控制台22
10.启动Oozie22
11.查看Web控制台22
12.关闭Oozie23
三、使用范例23
1解压Oozie自带的examples包23
2.将解压出的examples文件夹上传至hadoop存储环境的根文件夹下23
3.修改Hadoop的core-site.xml配置文件23
4.修改map-reducejob的job.properties文件24
5.执行map-reducejob24
Hadoop-2.0HA解决方案安装文档
版本:
v1.0
发布日期:
2012年8月21日
1.安装NFS并配置共享目录
NFS是NetworkFileSystem的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS.NFS允许一个系统在网络上与它人共享目录和文件。
通过使用NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件。
CentOS系统中如何安装和配置nfs呢,下面我们就来学习一下方法。
首先我们来介绍一些会用到的CentOS系统命令。
1)安装
$yum-yinstallnfs-utils
2)创建共享目录
$suroot(切换到root用户,因为NFS只能被root用户使用)
$mkdir–p/smp/hadoop-cdh4
$chmod–R777/smp/hadoop-cdh4(因为是root用户创建,要给当前用户赋可读写的权限)
3)配置
$vi/etc/exports
在配置文件中添加你要共享的目录等信息,例如:
/smp/hadoop-cdh4*(rw,sync,no_root_squash)
内容具体参数说明如下:
[共享的目录][主机名或IP(参数,参数)]
其中参数是可选的,当不指定参数时,nfs将使用默认选项。
默认的共享选项是sync,ro,root_squash,no_delay。
CentOS系统中,当主机名或IP地址为空时,则代表共享给任意客户机提供服务。
当将同一目录共享给多个客户机,但对每个客户机提供的权限不同时,可以这样:
[共享的目录][主机名1或IP1(参数1,参数2)][主机名2或IP2(参数3,参数4)]
下面是一些NFS共享的常用参数:
1.ro只读访问
2.rw读写访问
3.sync所有数据在请求时写入共享
4.asyncNFS在写入数据前可以相应请求
5.secureNFS通过1024以下的安全TCP/IP端口发送
6.insecureNFS通过1024以上的端口发送
7.wdelay如果多个用户要写入NFS目录,则归组写入(默认)
8.no_wdelay如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
9.hide在NFS共享目录中不共享其子目录
10.no_hide共享NFS目录的子目录
11.subtree_check如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
12.no_subtree_check和上面相对,不检查父目录权限
13.all_squash共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
14.no_all_squash保留共享文件的UID和GID(默认)
15.root_squashroot用户的所有请求映射成如anonymous用户一样的权限(默认)
16.no_root_squashroot用户具有根目录的完全管理访问权限
17.anonuid=xxx指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx指定NFS服务器/etc/passwd文件中匿名用户的GID
4)启动
$/etc/init.d/nfsrestart
在你要共享的机器上同样使用root用户创建同步的目录并赋读写权限,并挂在该目录,具体的命令如下:
$mkdir–p/smp/avatarshare
$mount-v-tnfs-otcp,soft,retry=20,timeo=20,rsize=32768,wsize=32768hadoop04:
/smp/hadoop-cdh4/smp/hadoop-cdh4
说明:
hadoop04在此处为NFS服务器的主机名。
到此我们就将NFS配置并启动好了
5)安装zookeeper-3.4.2
a.下载zookeeper-3.4.2.tar.gz。
b.将tar包解压到指定目录。
tarzxvfzookeeper-3.4.2.tar.gz
c.修改zookeeper配置,将zookeeper安装目录下conf/zoo_sample.cfg重命名为zoo.cfg,修改其中的内容。
#Thenumberofmillisecondsofeachtick
tickTime=2000
#Thenumberofticksthattheinitial
#synchronizationphasecantake
initLimit=10
#Thenumberofticksthatcanpassbetween
#sendingarequestandgettinganacknowledgement
syncLimit=5
#thedirectorywherethesnapshotisstored.
#donotuse/tmpforstorage,/tmphereisjust
#examplesakes.
dataDir=/home/hadoop/zookeeper
#theportatwhichtheclientswillconnect
clientPort=2181
server.1=hadoop01:
2888:
3888
server.2=hadoop02:
2888:
3888
server.3=hadoop03:
2888:
3888
#
#Besuretoreadthemaintenancesectionofthe
#administratorguidebeforeturningonautopurge.
#
#http:
//zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
#ThenumberofsnapshotstoretainindataDir
#autopurge.snapRetainCount=3
#Purgetaskintervalinhours
#Setto"0"todisableautopurgefeature
#autopurge.purgeInterval=1
在配置的dataDir目录下创建一个myid文件,里面写入一个0-255之间的一个随意数字,每个zookeeper上这个文件的数字要是不一样的。
修改下面的内容变成你自己的服务器地址
server.1=hadoop01:
2888:
3888
server.2=hadoop02:
2888:
3888
server.3=hadoop03:
2888:
3888
说明:
hadoop01、hadoop02和hadoop03在此处为用作Server的主机名。
分别启动所有的zookeeper
bin/zkServer.shstart
使用客户端连接zookeeper测试是否成功
bin/zkCli.sh-serverip地址:
clientPort
2.修改hadoop安装目录下etc/hadoop/core-site.xml
加入以下内容:
--fs.default.nameforMRV1,fs.defaultFSforMRV2(yarn)-->
fs.defaultFS
--这个地方的值要和hdfs-site.xml文件中的dfs.federation.nameservices一致-->
hdfs:
//dinglicom
ha.zookeeper.quorum
hadoop03:
2181,hadoop04:
2181,hadoop05:
2181
说明:
hadoop03、hadoop04和hadoop05在此处为用作client的主机名。
3.修改hdfs-site.xml
--配置dfs.nameservices这个名称可以随意,如果同时还使用HDFS的Federation机制,则应该使用逗号分隔nameservices列表-->
dfs.federation.nameservices
dinglicom
dfs.namenode.name.dir
/home/hadoop/hadoop-cdh4-nn
--配置:
dfs.ha.namenodes.[nameserviceID].下面的dinglicom是nameserviceID,nn1和nn2是每台namenode的serviceId。
-->
dfs.ha.namenodes.dinglicom
nn1,nn2
--配置rpc通信地址:
dfs.namenode.rpc-address.[nameserviceID].-->
dfs.namenode.rpc-address.dinglicom.nn1
hadoop01:
8020
dfs.namenode.rpc-address.dinglicom.nn2
hadoop02:
8020
--配置http通信地址:
dfs.namenode.http-address.[nameserviceID].-->
dfs.namenode.http-address.dinglicom.nn1
hadoop01:
50070
dfs.namenode.http-address.dinglicom.nn2
hadoop02:
50070
说明:
hadoop01和hadoop02均为NameNode,且互为主备关系。
--配置dfs.namenode.shared.edits.dir是主备namenode共享目录,这里要求主备都可以读写,采用NFS实现共享-->
dfs.namenode.shared.edits.dir
/smp/hadoop-cdh4
--配置客户端failover,解决客户端故障转移-->
dfs.client.failover.proxy.provider.dinglicom
org.apache.Hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
--配置:
Fencing,
这里dfs.ha.fencing.methods实现的方法有两种sshfence和shell,我下面实现的是sshfence,dfs.ha.fencing.ssh.private-key-files这个是ssh的keyfile,用于在Active节点切换期间的安全机制,确保在任何时间都只有一个NameNode处于活跃状态。
在故障切换期间,haadmin命令确保在将其它NameNode转换为Active状态之前Active节点处在Standby状态,或其进程已被终止。
至少应该配置一个,因为没有默认配置,因此如果配置则HA机制将会失效。
如果要实现自定义的安全机制,参照org.apache.hadoop.ha.NodeFencer
-->
dfs.ha.fencing.methods
sshfence
dfs.ha.fencing.ssh.private-key-files
/home/smp/.ssh/id_rsa
--启用失败自动切换-->
dfs.ha.automatic-failover.enabled
true
--配置zk集群信息-->
ha.zookeeper.quorum
hadoop03:
2181,hadoop04:
2181,hadoop05:
2181
--datanode数据存放目录-->
dfs.data.dir
/home/hadoop/hadoop-cdh4-dn
4.NameNode格式化
bin/hadoopnamenode-format–clusteriddinglicom
5.HDFS(HA)的初始化
设定所有的必要配置项后,必须首先同步两个NameNode上的元数据。
如果是新建的HDFS集群,则应首先格式化一个NameNode,或者想把非HA集群转换为HA集群,按照dfs.namenode.name.dir、dfs.namenode.edits.dir的配置把当前NameNode节点的元数据目录复制到另一个NameNode.还应该确保共享存储目录下(dfs.namenode.shared.edits.dir)包含NameNode所有的元数据。
6.zkfc格式化
bin/hdfszkfc–formatZK
7.HDFS(HA)的管理
sbin/start-dfs.sh
默认以HA方式启动集群,启动后为Standby状态,使用如下命令设置Active节点(手动方式)
bin/hdfshaadmin–DFSHAadmin–transitionToActivenn1
如果让nn2成为变为activenn1变为standby,则
#bin/hdfshaadmin-DfSHAadmin-failovernn1nn2
如果失败(isnotreadytobecomeactive)则
#bin/hdfshaadmin-DfSHAadmin-failover--forceactivenn1nn2
具体参照bin/hdfshaadmin命令
8.验证hadoop-2.0HA高可用是否成功
验证Hadoop-2.0HA高可用是否成功可以通过两种方式实现。
安装图形界面的系统请采用方法1),安装非图形界面的系统请采用方法2)。
1)在地址栏输入:
http:
//hostname:
50070/dfshealth.jsp,按“Enter”键,检查是否出现如图1和图2中的界面。
图1NameNode主用节点登录界面
图2NameNode备用节点登录界面
2)使用JPS命令查看主备节点上是否存在进程NameNode和DFSZKFailoverController,当且仅当两个进程都存在时说明HA高可用成功。
HBase安装文档
一、环境简介
本次安装使用了四台已安装CentOS6.2的服务器,且已搭建好Hadoop环境。
主机名与ip分别为:
主机名ip
hadoop01192.168.6.2
hadoop02192.168.6.4
hadoop03192.168.6.6
hadoop04192.168.6.8
其中将hadoop01作为主节点,其余三个作为从节点与zookeeper。
HBase安装包使用hbase-0.94.6-cdh4.3.0.tar.gz。
二、安装步骤
1.解压安装包
$suhadoop
$cd(进入hadoop用户主目录,HBase安装包放置此目录下)
$tar-zxvfhbase-0.94.6-cdh4.3.0.tar.gz
2.修改配置文件hbase-site.xml
$cdhbase-0.94.6-cdh4.3.0(进入HBase安装目录)
$viconf/hbase-site.xml
在与之间加入以下代码(红字部分根据实际情况进行替换):
hbase.rootdir
hdfs:
//hadoop01:
9000/hbase
区域服务器使用存储HBase数据库数据的目录
hbase.cluster.distributed
true
指定HBase运行的模式:
false:
单机模式或者为分布式模式
true:
全分布模式
hbase.zookeeper.quorum
hadoop02,haddop03,hadoop04
ZooKeeper集群服务器的hostname,必须为奇数
hbase.zookeeper.property.clientPort
2222
PropertyfromZooKeeper'sconfigzoo.cfg.
Theportatwhichtheclientswillconnect.
3.修改配置文件regionservers
$viconf/regionservers
将文件内容改为从节点的hostname:
hadoop02
hadoop03
hadoop04
4.修改配置文件hbase-evn.sh
$viconf/hbase-evn.sh
在此文件中配置各环境变量JAVA_HOME、HBASE_HOME、HADOOP_HOME分别为jdk、hbase、hadoop的安装目录。
exportHBASE_OPTS="$HBASE_OPTS-XX:
+HeapDumpOnOutOfMemoryError-XX:
+UseConcMarkS
weepGC-XX:
+CMSIncrementalMode"
exportJAVA_HOME=/usr/java/jdk1.6.0_43
exportHBASE_MANAGES_ZK=true
#如果是true说明是使用Hbase本身集成的zookeeper服务
exportHBASE_HOME=/home/hadoop/hbase-0.94.6-cdh4.3.0
exportHAD