您好,欢迎来到尚佳旅游分享网。
搜索
您的当前位置:首页hadoop与hbase与hive与oozie安装使用文档

hadoop与hbase与hive与oozie安装使用文档

来源:尚佳旅游分享网
保密级别:研发部内部

Hadoop HBase Hive Oozie 安装使用文档

保密级别:研发部内部

目录

Hadoop-2.0 HA 解决方案安装文档 ............................................................................................... 1

1.安装NFS并配置共享目录 .................................................................................................. 2 2.修改hadoop安装目录下etc/hadoop/core-site.xml .............................................................. 4

3.修改hdfs-site.xml .................................................................................................................. 4 4.NameNode格式化 ................................................................................................................ 6 5.HDFS (HA) 的初始化 .......................................................................................................... 7 6.zkfc格式化 ............................................................................................................................ 7 7.HDFS(HA) 的管理 ............................................................................................................... 7 8.验证hadoop-2.0 HA高可用是否成功 ................................................................................. 7 HBase 安装文档 ............................................................................................................................ 10

一、环境简介 ......................................................................................................................... 10 二、安装步骤 ......................................................................................................................... 10

1.解压安装包 .................................................................................................................. 10 2. 修改配置文件hbase-site.xml .................................................................................... 10 3. 修改配置文件regionservers ..................................................................................... 11

4. 修改配置文件hbase-evn.sh ...................................................................................... 11 5. 使用scp命令将HBase主目录复制到另外三台服务器相同的路径下: ............ 11 6.对每台服务器进行时间同步 ...................................................................................... 11 7. 启动HBase ................................................................................................................ 12 8.验证是否成功启动 ...................................................................................................... 12 9.关闭HBase .................................................................................................................. 13

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.安装Oozie Web控制台 .............................................................................................. 22 10. 启动Oozie ............................................................................................................... 22 11. 查看Web控制台 .................................................................................................... 22 12. 关闭Oozie ............................................................................................................... 23 三、 使用范例 ....................................................................................................................... 23

1解压Oozie自带的examples包 ................................................................................. 23 2.将解压出的examples文件夹上传至hadoop存储环境的根文件夹下 ................... 23 3. 修改Hadoop的core-site.xml配置文件 .................................................................. 23

4.修改map-reduce job的job.properties文件 ............................................................... 24 5. 执行map-reduce job .................................................................................................. 24

保密级别:研发部内部

Hadoop-2.0 HA 解决方案安装文档

版本:v1.0

发布日期:2012年8月21日

1.安装NFS并配置共享目录

NFS是Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件。CentOS系统中如何安装和配置nfs呢,下面我们就来学习一下方法。首先我们来介绍一些会用到的CentOS系统命令。 1) 安装

$yum -y install nfs-utils

2) 创建共享目录

$su root (切换到root用户,因为NFS只能被root用户使用) $mkdir –p /smp/hadoop-cdh4 $chmod –R 777 /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. async NFS在写入数据前可以相应请求

5. secure NFS通过1024以下的安全TCP/IP端口发送

6. insecure NFS通过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 和上面相对,不检查父目录权限

2

13. all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。 14. no_all_squash 保留共享文件的UID和GID(默认)

15. root_squash root用户的所有请求映射成如anonymous用户一样的权限(默

认)

16. no_root_squash root用户具有根目录的完全管理访问权限 17. anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID

anongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID 4) 启动

$/etc/init.d/nfs restart

在你要共享的机器上同样使用root用户创建同步的目录并赋读写权限,并挂在该目录,具体的命令如下:

$mkdir –p /smp/avatarshare

$mount -v -t nfs -o tcp,soft,retry=20,timeo=20,rsize=32768,wsize=32768 hadoop04:/smp/hadoop-cdh4 /smp/hadoop-cdh4

说明:

hadoop04在此处为NFS服务器的主机名。

到此我们就将NFS配置并启动好了 5) 安装zookeeper-3.4.2

a. 下载zookeeper-3.4.2.tar.gz。 b. 将tar包解压到指定目录。

tar zxvf zookeeper-3.4.2.tar.gz

c. 修改zookeeper配置, 将zookeeper安装目录下conf/zoo_sample.cfg重命名

为zoo.cfg, 修改其中的内容。

# The number of milliseconds of each tick

tickTime=2000

# The number of ticks that the initial # synchronization phase can take

initLimit=10

# The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5

# the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes.

dataDir=/home/hadoop/zookeeper

# the port at which the clients will connect clientPort=2181

server.1=hadoop01:2888:3888 server.2=hadoop02:2888:3888 server.3=hadoop03:2888:3888 #

# Be sure to read the maintenance section of the

3

# administrator guide before turning on autopurge.

#

#http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance

#

# The number of snapshots to retain in dataDir #autopurge.snapRetainCount=3 # Purge task interval in hours

# Set to \"0\" to disable auto purge feature #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.sh start

使用客户端连接zookeeper测试是否成功 bin/zkCli.sh -server ip地址:clientPort

2.修改hadoop安装目录下etc/hadoop/core-site.xml

加入以下内容:

fs.defaultFS

hdfs://dinglicom

ha.zookeeper.quorum

hadoop03:2181,hadoop04:2181,hadoop05:2181 说明:

hadoop03、hadoop04和hadoop05在此处为用作client的主机名。

3.修改hdfs-site.xml

dfs.federation.nameservices dinglicom

dfs.namenode.name.dir /home/hadoop/hadoop-cdh4-nn

dfs.ha.namenodes.dinglicom nn1,nn2

dfs.namenode.rpc-address.dinglicom.nn1 hadoop01:8020

dfs.namenode.rpc-address.dinglicom.nn2

hadoop02:8020

dfs.namenode.http-address.dinglicom.nn1 hadoop01:50070

dfs.namenode.http-address.dinglicom.nn2 hadoop02:50070

说明:

hadoop01和hadoop02均为NameNode,且互为主备关系。

dfs.namenode.shared.edits.dir

/smp/hadoop-cdh4

5

dfs.client.failover.proxy.provider.dinglicom

org.apache.Hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider

dfs.ha.fencing.methods sshfence

dfs.ha.fencing.ssh.private-key-files /home/smp/.ssh/id_rsa

dfs.ha.automatic-failover.enabled true

ha.zookeeper.quorum

hadoop03:2181,hadoop04:2181,hadoop05:2181

dfs.data.dir

/home/hadoop/hadoop-cdh4-dn

4.NameNode格式化

bin/hadoop namenode -format –clusterid dinglicom

6

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/hdfs zkfc –formatZK

7.HDFS(HA) 的管理

sbin/start-dfs.sh

默认以HA 方式启动集群,启动后为Standby 状态,使用如下命令设置Active 节点 (手动方式)

bin/hdfs haadmin –DFSHAadmin –transitionToActive nn1 如果让nn2 成为变为active nn1 变为standby ,则 # bin/hdfs haadmin -DfSHAadmin -failover nn1 nn2 如果失败(is not ready to become active) 则

# bin/hdfs haadmin -DfSHAadmin -failover --forceactive nn1 nn2 具体参照bin/hdfs haadmin命令

8.验证hadoop-2.0 HA高可用是否成功

验证Hadoop-2.0 HA 高可用是否成功可以通过两种方式实现。安装图形界面的系统请采用方法1),安装非图形界面的系统请采用方法2)。

1) 在地址栏输入:http://hostname:50070/dfshealth.jsp,按“Enter”键,检查是否

出现如图1和图2中的界面。

图1 NameNode主用节点登录界面

7

图2 NameNode备用节点登录界面

8

2) 使用JPS命令查看主备节点上是否存在进程NameNode和

DFSZKFailoverController,当且仅当两个进程都存在时说明HA高可用成功。

9

保密级别:研发部内部

HBase 安装文档

一、环境简介

本次安装使用了四台已安装CentOS 6.2的服务器,且已搭建好Hadoop环境。主机名与ip分别为:

主机名 ip hadoop01 192.168.6.2 hadoop02 192.168.6.4 hadoop03 192.168.6.6 hadoop04 192.168.6.8

其中将hadoop01作为主节点,其余三个作为从节点与zookeeper。 HBase安装包使用hbase-0.94.6-cdh4.3.0.tar.gz。

二、安装步骤

1.解压安装包

$su hadoop

$cd (进入hadoop用户主目录,HBase安装包放置此目录下) $tar -zxvf hbase-0.94.6-cdh4.3.0.tar.gz

2.修改配置文件hbase-site.xml

$cd hbase-0.94.6-cdh4.3.0 (进入HBase安装目录) $vi conf/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

Property fromZooKeeper's config zoo.cfg. The port at which the clients willconnect. 3.修改配置文件regionservers

$vi conf/regionservers

将文件内容改为从节点的hostname:

hadoop02 hadoop03 hadoop04 4.修改配置文件hbase-evn.sh

$vi conf/hbase-evn.sh

在此文件中配置各环境变量JAVA_HOME、HBASE_HOME、HADOOP_HOME分别为jdk、hbase、hadoop的安装目录。

export HBASE_OPTS=\"$HBASE_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkS

weepGC -XX:+CMSIncrementalMode\" export JAVA_HOME=/usr/java/jdk1.6.0_43 export HBASE_MANAGES_ZK=true

#如果是true说明是使用Hbase本身集成的zookeeper服务 export HBASE_HOME=/home/hadoop/hbase-0.94.6-cdh4.3.0 export HADOOP_HOME=/home/hadoop/hadoop-2.0.0-cdh4.3.0

到此HBase配置完毕

5.使用scp命令将HBase主目录复制到另外三台服务器相同的路径下:

$ scp -r /home/hadoop/hbase-0.94.6-cdh4.3.0/ hadoop02:/home/hadoop/ $ scp -r /home/hadoop/hbase-0.94.6-cdh4.3.0/ hadoop03:/home/hadoop/ $ scp -r /home/hadoop/hbase-0.94.6-cdh4.3.0/ hadoop04:/home/hadoop/

6.对每台服务器进行时间同步

$ ntpdate 210.0.235.14

11

7.启动HBase

$ bin/start-hbase.sh

注:启动HBase前必须先启动Hadoop服务,启动方法为

$ cd (进入hadoop用户主目录)

$ hadoop-2.0.0-cdh4.3.0/sbin/start-all.sh

8.验证是否成功启动

使用jps命令查看进程,若主节点有HMaster,zookeeper有HQuorumPeer,从节点有HRegionServer即安装成功。

或是在浏览器中输入http://192.168.6.2:60010/master.jsp (红字部分为主节点的ip地址)即可查看到HBase的状态信息,如下图:

12

9.关闭HBase

$ bin/stop-hbase.sh

13

保密级别:研发部内部

Hive安装文档

一、环境简介

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。用HBase做数据库时,由于HBase没有类似sql查询方式,所以操作和计算数据非常不方便,于是整合Hive,让Hive支撑在HBase数据库层面的 hql查询。

本次安装使用了四台已安装CentOS 6.2的服务器,且已安装好Hadoop、HBase与Mysql。主机名与ip分别为:

主机名 ip hadoop01 192.168.6.2 hadoop02 192.168.6.4 hadoop03 192.168.6.6 hadoop04 192.168.6.8

将hadoop01作为Hive安装节点,Hive安装包使用hive-0.10.0-cdh4.3.0.tar.gz。

二、安装步骤

1.为Hive创建mysql用户及数据库,并赋予足够的权限

$mysql -u root -p

mysql>create user 'hive' identified by 'password'; (创建用户名为hive,密码为password的用户)

mysql>create database hive;

mysql>grant all privileges on hive.* to 'hive'@'localhost' identified by 'password'; mysql>grant all privileges on hive.* to 'hive'@'%' identified by 'password';(为用户hive授予对hive数据库的所有操作权限) mysql>flush privileges;

2.解压Hive安装包

$su hadoop

$cd (进入hadoop用户主目录,Hive安装包放置此目录下) $tar -zxvf hive-0.10.0-cdh4.3.0.tar.gz

3.生成配置文件

$cd hive-0.10.0-cdh4.3.0/conf (进入Hive配置文件所在目录) $cp hive-default.xml.template hive-default.xml $cp hive-default.xml.template hive-site.xml $cp hive-env.sh.template hive-env.sh

4.修改配置文件

a)修改hive-env.sh

$vi hive-env.sh

在配置文件中添加你的Hadoop和jdk安装目录,如:

export JAVA_HOME=/usr/java/jdk1.6.0_43

export HADOOP_HOME=/home/hadoop/hadoop-2.0.0-cdh4.3.0 b)修改hive-site.xml

$vi hive-site.xml

这里主要是配置存放hive元数据的数据库信息,找到如下区域,修改红字部分:

< property>

javax.jdo.option.ConnectionURL

jdbc:mysql://hadoop01:3306/hive?createDatabaseIfNotExist=true

JDBC connect string for a JDBC metastore

javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver

Driver class name for a JDBC metastore

javax.jdo.option.ConnectionUserName hive

username to use against metastore database

javax.jdo.option.ConnectionPassword password

password to use against metastore database

到此Hive配置文件修改完毕。 5.下载、安装mysql驱动

a)下载地址:http://download.softagency.net/mysql/Downloads/Connector-J/ ,选择与已安装的mysql版本一致的mysql-connector-java驱动包,在此我们选择mysql-connector-java-5.1.26.tar.gz。

注:Linux系统请下载后缀名为“.tar.gz”的驱动包。 b)解压mysql驱动包:

15

$tar -zxvf mysql-connector-java-5.1.26.tar.gz

c)进入解压后生成的文件夹下,将mysql驱动复制到Hive安装目录的lib目录下:

$cd mysql-connector-java-5.1.26

$cp mysql-connector-java-5.1.26-bin.jar /home/hadoop/hive-0.10.0-cdh4.3.0/lib

6.验证Hive安装

启动Hive,查看所有表:

$cd /home/hadoop/hive-0.10.0-cdh4.3.0

$./bin/hive

hive>show tables;

若出现“OK”,则表示安装成功。

若出现以下错误,则进入mysql中的hive数据库里执行 alter database hive character set latin1; 改变hive元数据库的字符集,即可解决。

FAILED: Error in metadata: javax.jdo.JDODataStoreException: Error(s) were found while auto-creating/validating the datastore for classes. The errors are printed in the log, and are attached to this exception. NestedThrowables:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

三、Hive的连接

1.使用jdbc连接Hive数据库

a)后台启动hiveserver2服务,并生成日志:

$nohup ./bin/hiveserver2 >> ./log/hiveserver2.log & b)使用hiveserver2 client连接:

$cd ./bin/beeline

Beeline version 0.10.0-cdh4.3.0 by Apache Hive

beeline> !connect jdbc:hive2://localhost:10000 hive password

org.apache.hive.jdbc.HiveDriver (使用第1步创建的用户名与密码) Connecting to jdbc:hive2://localhost:10000

SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in

[jar:file:/home/hadoop/hadoop-2.0.0-cdh4.3.0/share/hadoop/common/lib/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in

[jar:file:/home/hadoop/hive-0.10.0-cdh4.3.0/lib/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]

16

SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. Error: Could not establish connection to jdbc:hive2://localhost:10000: java.net.ConnectException: Connection refused (state=08S01,code=0) (这样即连接上jdbc数据库,下面就可以执行hql来操作Hive)

0: jdbc:hive2://localhost:10000>create table pokes (foo int, bar string); (创建表pokes) No rows affected (0.817 seconds)

0: jdbc:hive2://localhost:10000> show tables; (显示所有表) +---------------+ | tab_name | +---------------+ | pokes | +---------------+

1 rows selected (0.2 seconds)

0: jdbc:hive2://localhost:10000> drop table pokes; (删除表) No rows affected (0.633 seconds) 2使用HBase连接Hive数据库

a)复制hbase-0.94.6-cdh4.3.0.jar驱动与zookeeper-3.4.5-cdh4.3.0.jar驱动到Hive安装目录的lib目录下

$cd (进入hadoop用户主目录)

$cp hbase-0.94.6-cdh4.3.0/hbase-0.94.6-cdh4.3.0.jar hive-0.10.0-cdh4.3.0/lib/

$cp hbase-0.94.6-cdh4.3.0/lib/zookeeper-3.4.5-cdh4.3.0.jar hive-0.10.0-cdh4.3.0/lib/

注:如果Hive 的lib下已经存在这两个文件的其他版本,建议删除后使用hbase下的相关版本。

b)修改配置文件hive-site.xml

$vi hive-0.10.0-cdh4.3.0/conf/hive-site.xml

在底部的前添加如下内容:

hive.exec.scratchdir

/home/hadoop/hive-0.10.0-cdh4.3.0/tmp

hive.querylog.location

/home/hadoop/hive-0.10.0-cdh4.3.0/logs

hive.aux.jars.path

file:///home/hadoop/hive-0.10.0-cdh4.3.0/lib/hive-hbase-handler-0.10.0-cdh4.3.0.jar,file:///home/hadoop/hive-0.10.0-cdh4.3.0/lib/hbase-0.94.6-cdh4.3.0.jar,file:///home/hadoop/hive-0.10.0-cdh4.3.0/lib/zookeeper-3.4.5-cdh4.3.0.jar

c)群集启动Hive,红字部分为群集中zookeeper的hostname

$cd hive-0.10.0-cdh4.3.0 (进入Hive安装目录下)

$bin/hive -hiveconf hbase.zookeeper.quorum=hadoop02,hadoop03,hadoop04 若没有错误提示,则表示启动成功。

注:若hive-site.xml文件中没有配置hive.aux.jars.path,则可以按照如下方式启动:

$bin/hive --auxpath

/home/hadoop/hive-0.10.0-cdh4.3.0/lib/hive-hbase-handler-0.10.0-cdh4.3.0.jar,

/home/hadoop/hive-0.10.0-cdh4.3.0/lib/hbase-0.94.6-cdh4.3.0.jar,/home/hadoop/hive-

0.10.0-cdh4.3.0/lib/zookeeper-3.4.5-cdh4.3.0.jar-hiveconf

hbase.zookeeper.quorum=hadoop02,hadoop03,hadoop04 d)创建HBase识别的数据表

hive>CREATE TABLE test(name string,score int)

stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'

WITH SERDEPROPERTIES (\"hbase.columns.mapping\" = \"cf:sc\")

TBLPROPERTIES (\"hbase.table.name\" = \"scores\");

e)进入HBase shell,查看表scores是否被创建

$cd (进入hadoop用户主目录)

$ hbase-0.94.6-cdh4.3.0/bin/hbase shell

hbase(main):001:0> describe 'scores'

(查看scores表结构,若有显示,则表示创建成功)

f)通过HBase shell向表中put数据

hbase(main):002:0> put 'scores','Tom','cf:sc',90

0 row(s) in 0.0940 seconds

hbase(main):003:0>scan 'scores'

ROW COLUMN+CELL

Tom column=cf:sc, timestamp=1377507172745, value=90

1 row(s) in 0.0550 seconds

g)查看Hive数据库中的数据,若有显示,则表示连接成功

$ hive-0.10.0-cdh4.3.0bin/hive -hiveconf

hbase.zookeeper.quorum=hadoop02,hadoop03,hadoop04

hive> select * from test

OK

Tom 90

Time taken: 0.496 seconds

h)使用Hive访问HBase中已存在的表

18

hive>CREATE EXTERNAL TABLE test2(name string, score int) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES (\"hbase.columns.mapping\" = \"cf:sc\") TBLPROPERTIES(\"hbase.table.name\" = \"scores\"); (使用CREATE EXTERNAL TABLE 方式建表) OK

Time taken: 0.267 seconds hive> select * from test2 OK Tom 90 Time taken: 0.496 seconds

19

保密级别:研发部内部

Oozie安装使用文档

一、环境简介

Oozie是Hadoop生态圈中的一种Java Web应用程序,它运行在Tomcat中,可以把多个Map/Reduce作业组合到一个逻辑工作单元中,从而完成更大型的任务。

本次安装使用了四台已安装CentOS 6.2的服务器,且已安装好Hadoop与Mysql。主机名与ip分别为:

主机名 ip hadoop01 192.168.6.2 hadoop02 192.168.6.4 hadoop03 192.168.6.6 hadoop04 192.168.6.8 将hadoop01作为Oozie安装节点,Oozie安装包使用oozie-3.3.2-cdh4.3.0.tar.gz。在安装Oozie之前需要安装Tomcat,Tomcat安装包使用apache-tomcat-7.0.42.tar.gz

二、安装步骤

1.解压Tomcat安装包

$su hadoop

$cd (进入hadoop用户主目录,Tomcat安装包放置此目录下) $tar -zxvf apache-tomcat-7.0.42.tar.gz

2.验证Tomcat安装

启动Tomcat:

$apache-tomcat-7.0.42/bin/startup.sh

在浏览器中输入hadoop01:8080,若出现以下页面,则表示Tomcat安装成功。

关闭Tomcat:

$apache-tomcat-7.0.42/bin/shutdown.sh

3.为Oozie创建mysql用户及数据库,并赋予足够的权限

$mysql -u root -p

mysql>create user 'oozie' identified by 'password'; (创建用户名为oozie,密码为password的用户)

mysql>create database oozie;

mysql>grant all privileges on oozie.* to 'oozie'@'localhost' identified by 'password'; mysql>grant all privileges on oozie.* to 'oozie'@'%' identified by 'password';(为用户oozie授予对数据库oozie的所有操作权限) mysql>flush privileges;

4.解压Oozie安装包

$su hadoop

$cd (进入hadoop用户主目录,Oozie安装包放置此目录下) $tar -zxvf oozie-3.3.2-cdh4.3.0.tar.gz

5.添加环境变量

$su root

$vi /etc/profile

在此文件中添加Tomcat和Oozie的安装路径:

export CATALINA_HOME=/home/hadoop/apache-tomcat-7.0.42 export OOZIE_HOME=/home/hadoop/oozie-3.3.2-cdh4.3.0 保存后使环境变量生效:

$source /etc/profile

6.修改配置文件

a)修改oozie-site.xml

$vi oozie-3.3.2-cdh4.3.0/conf/oozie-site.xml

找到如下区域,修改红字部分:

oozie.service.JPAService.jdbc.driver

com.mysql.jdbc.Driver

oozie.service.JPAService.jdbc.url

jdbc:mysql://hadoop01:3306/oozie

21

oozie.service.JPAService.jdbc.username oozie

oozie.service.JPAService.jdbc.password password

7.安装mysql驱动

由于在安装Hive时已下载了mysql驱动,只需将安装在Hive下的mysq驱动mysql-connector-java-5.1.26-bin.jar拷贝至Oozie安装目录下的lib目录即可,并将lib目录复制为libext。

$cp hive-0.10.0-cdh4.3.0/lib/mysql-connector-java-5.1.26-bin.jar

oozie-3.3.2-cdh4.3.0/lib/

$cp -r oozie-3.3.2-cdh4.3.0/lib oozie-3.3.2-cdh4.3.0/libext 8.在mysql上为Oozie创建数据库模式

$oozie-3.3.2-cdh4.3.0/bin/ooziedb.sh create -run

若出现以下提示,则表示创建成功:

Oozie DB has been created for Oozie version '3.3.2-cdh4.3.0'

The SQL commands have been written to: /tmp/ooziedb-727987259524762386.sql 9.安装Oozie Web控制台

从http://archive.cloudera.com/gplextras/misc/ext-2.2.zip下载ExtJS version 2.2 library,存放在Oozie安装目录下。执行以下命令安装Oozie Web控制台:

$ $OOZIE_HOME/bin/oozie-setup.sh -hadoop 2.0.0 $HADOOP_HOME -extjs

$OOZIE_HOME/ext-2.2.zip 注:$OOZIE_HOME、$HADOOP_HOME是Oozie和Hadoop的安装路径,若在/etc/profile文件下已配置,则不用显式写明这两个路径;2.0.0为已安装的Hadoop的版本。

若出现以下信息,则表示Web控制台已成功安装:

New Oozie WAR file with added 'Hadoop JARs, ExtJS library, JARs' at /home/hadoop/oozie-3.3.2-cdh4.3.0/oozie-server/webapps/oozie.war

INFO: Oozie is ready to be started 10.启动Oozie

$oozie-3.3.2-cdh4.3.0/bin/oozie-start.sh

11.查看Web控制台

在浏览器中输入http://hadoop01:11000/oozie ,若出现以下页面,则表示启动成功:

22

此外,还可在linux命令行中输入以下指令,来查看Oozie的状态:

$oozie-3.3.2-cdh4.3.0/bin/oozie admin -oozie http://hadoop01:11000/oozie -status

System mode: NORMAL

12.关闭Oozie

$oozie-3.3.2-cdh4.3.0/bin/oozie-stop.sh

三、使用范例

本例通过运行Oozie自带的map-reduce范例,来说明在Oozie中运行Map/Reduce job的方法。

1解压Oozie自带的examples包

$tar -zxvf oozie-3.3.2-cdh4.3.0/oozie-examples.tar.gz oozie-3.3.2-cdh4.3.0/ 2.将解压出的examples文件夹上传至hadoop存储环境的根文件夹下

$hadoop-2.0.0-cdh4.3.0/bin/hadoop fs -put oozie-3.3.2-cdh4.3.0/examples / 3.修改Hadoop的core-site.xml配置文件

$vi hadoop-2.0.0-cdh4.3.0/etc/hadoop/core-site.xml 在文件底部的前添加以下部分:

hadoop.proxyuser.root.groups root

hadoop.proxyuser.root.hosts hadoop01

23

注:标签中的root是用户名,标签中的root是组名。若不做此修改,在运行job时会出现错误提示“Unauthorized connection for super-user: root from IP localhost” 4.修改map-reduce job的job.properties文件

$vi oozie-3.3.2-cdh4.3.0/examples/apps/map-reduce/job.properties

修改红字部分:

nameNode=hdfs://hadoop01:9000 jobTracker=hadoop01:9001

(改为安装Oozie主机的hostname) queueName=default

examplesRoot=/home/hadoop/oozie-3.3.2-cdh4.3.0/examples (改为examples文件夹在本机上的路径)

oozie.wf.application.path=${nameNode}/examples/apps/map-reduce

(改为要运行的job所属的文件夹在hadoop分布式存储环境下的路径) outputDir=/home/hadoop/oozie-3.3.2-cdh4.3.0/map-reduce (指定job执行后的输出路径) 5.执行map-reduce job

输入命令:

$oozie-3.3.2-cdh4.3.0/bin/oozie job -oozie http://hadoop01:11000/oozie -config oozie-3.3.2-cdh4.3.0/examples/apps/map-reduce/job.properties -run 若成功执行,会得到提示:

job: 0000000-1309090955536-oozie-root-W

此时进入Oozie Web控制台,可看到正在运行的job的状态:

24

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- shangjiatang.cn 版权所有 湘ICP备2022005869号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务