搭建Hadoop2.7.3+Hive2.1.1及MySQL(配置Hive+MySQL+Connector)(三)

续上一篇:
搭建Hadoop2.7.3+Hive2.1.1及MySQL(配置Hive+Hadoop)(二)

准备工作下载最新连接器地址

https://dev.mysql.com/downloads/connector/j/

例子:下载mysql-connector-java-5.1.41.tar

1、解压连接器connector文件

1.1、解压
[[email protected] Software]# tar xzfmysql-connector-java-5.1.41.tar.gz
[[email protected] Software]# cd mysql-connector-java-5.1.41/

1.2、查看文件夹
[[email protected]]# ll
1.3、Copy到hive/lib路径下
[[email protected] Software]# cpmysql-connector-java-5.1.41/mysql-connector-java-5.1.41-bin.jar/usr/hive/lib/mysql-connector-java-5.1.41-bin.jar

2、登陆MySQL创建数据库:hive_db(注意配置hive-site.xml时有指定)

2.1、用户名:root 密码:password,另开一个终端登陆MySQL,创建数据库hive_db
[[email protected] hive]# mysql -u root -ppassword

mysql> create database hive_db;

3、改配置文件hive-site.xml
以下只列出改动的配置项,其它保留默认
<configuration>
	<property>
		<name>hive.metastore.warehouse.dir</name>
		<value>/usr/hive/warehouse</value>
		<description>location of default database for the warehouse</description>
	</property>
	<property>
		<name>hive.metastore.local</name>
		<value>true</value>
		<description>Use false if a production metastore server is used</description>
	</property>
	<property>
		<name>hive.exec.scratchdir</name>
		<value>/tmp/hive</value>
		<description>HDFS root scratch dir for Hive jobs which gets created with write all (733) permission. For each connecting user, an HDFS scratch dir: ${hive.exec.scratchdir}/<username> is created, with ${hive.scratch.dir.permission}.</description>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionURL</name>
		<value>jdbc:mysql://localhost:3306/hive_db?createDatabaseIfNoExist=true</value>
		<description> Roy
      JDBC connect string for a JDBC metastore.
      To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL.
      For example, jdbc:postgresql://myhost/db?ssl=true for postgres database.
    </description>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionDriverName</name>
		<value>com.mysql.jdbc.Driver</value>
		<description>User-Defined(Roy) Driver class name for a JDBC metastore</description>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionUserName</name>
		<value>root</value>
		<description>User-defined(Roy)Username to use against metastore database</description>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionPassword</name>
		<value>password</value>
		<description>User-defined(Roy)password to use against metastore database</description>
	</property>
</configuration>

4、使用schematool初始化

[[email protected] hive]# schematool -dbType mysql  -initSchema

--显示成功

schemaTool completed

5、启动hive服务端程序

5.1、启动hive服务端
[[email protected] hive]# hive --servicemetastore &

--屏幕提示信息不显示时,按ctrl+c退出

5.2、查看进程信息
[[email protected] hive]# jps

--显示进程信息多了(RunJar)

51280 Jps
5985 SecondaryNameNode
6226 ResourceManager
45766 DataNode
5753 NameNode
51194 RunJar
6348 NodeManager

5.3、有需要时,可启动hive  远程服务 (端口号10000)

[[email protected] hive]# hive --servicehiveserver &

6、测试环境配置是否成功

6.1、准备导入文本文件/root/桌面/Test/wc-in/a.txt

格式:

1,h
2,i
3,v
4,e

6.2、登陆hive成功后,测试创建表

[email protected] hadoop]# hive
6.2.1、创建表及指定逗号(,)为分隔符
hive> create table a(id int,name string)
   > row format delimited fields terminated by ‘,‘;

--显示信息

OK
Time taken: 0.288 seconds
6.2.2、导入文件a.txt
hive> load data local inpath ‘/root/桌面/Test/wc-in/a.txt‘ into table a;

--显示信息

Loading data to table default.a
OK
Time taken: 0.763 seconds
6.2.3、查看效果
hive> select * from a;

--显示信息

OK
1     h
2     i
3     v
4     e
Time taken: 0.309 seconds, Fetched: 4row(s)

6.3、在Hive内使用dfs命令
6.3.1、查看a表dfs存储路径
hive> dfs -ls /usr/hive/warehouse/a;

--显示信息

Found 1 items
-rw-r--r--  1 root supergroup         16 2017-03-08 17:46/usr/hive/warehouse/a/a.txt
6.3.2、查看文件内容
hive> dfs -cat /usr/hive/warehouse/a/*;

--显示信息

1,h
2,i
3,v
4,e

7、登陆MySQL查看创建表

[[email protected] conf]# mysql -u root -ppassword
mysql> use hive_db;
mysql> select TBL_ID, CREATE_TIME,DB_ID, OWNER, TBL_NAME,TBL_TYPE from TBLS;

--显示信息

+--------+-------------+-------+-------+----------+---------------+
| TBL_ID | CREATE_TIME | DB_ID | OWNER |TBL_NAME | TBL_TYPE      |
+--------+-------------+-------+-------+----------+---------------+
|    37 |  1488966386 |     1 | root | a        | MANAGED_TABLE |
+--------+-------------+-------+-------+----------+---------------+
1 row in set (0.03 sec)

8、在hdfs查看生成文件(同上步骤[6.3])

8.1、查看a表存储路径
[[email protected] hadoop]# hdfs dfs -ls/usr/hive/warehouse/a

--显示信息

Found 1 items
-rw-r--r--  1 root supergroup         162017-03-08 17:46 /usr/hive/warehouse/a/a.txt
8.2、查看内容
[[email protected] hadoop]# hdfs dfs -cat  /usr/hive/warehouse/a/*

--显示信息

1,h
2,i
3,v
4,e

常见问题处理:

1、启动hive时报错

[[email protected] hive]# hive

--显示报错信息

Caused by:org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.SafeModeException):Cannot create directory /tmp/hive/root/24f1d91f-f32b-47e1-824d-ba26b02bd13e.Name node is in safe mode.

原因:hadoop为安全模式

--解决方法:

关闭安全模式

[[email protected] hadoop]# hadoop dfsadmin-safemode leave

--显示信息

DEPRECATED: Use of this script to executehdfs command is deprecated.
Instead use the hdfs command for it.

Safe mode is OFF

2、在导入数据时出错信息

hive> load data local inpath ‘/root/桌面/Test/wc-in/a.txt‘ into table a;

--显示报错信息

FAILED: Execution Error, return code 1 fromorg.apache.hadoop.hive.ql.exec.MoveTask.org.apache.hadoop.ipc.RemoteException(java.io.IOException): File/usr/hive/warehouse/a/a_copy_2.txt could only be replicated to 0 nodes insteadof minReplication (=1).  There are 0datanode(s) running and no node(s) are excluded in this operation.

原因:hadoop没有启动datanote

解决方法:

[[email protected] hive]# start-dfs.sh
[[email protected] hive]# jps

--显示信息

51152 Jps
5985 SecondaryNameNode
6226 ResourceManager
45766 DataNode
5753 NameNode
6348 NodeManager

时间: 2024-08-07 02:22:09

搭建Hadoop2.7.3+Hive2.1.1及MySQL(配置Hive+MySQL+Connector)(三)的相关文章

在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境

近几年大数据越来越火热.由于工作需要以及个人兴趣,最近开始学习大数据相关技术.学习过程中的一些经验教训希望能通过博文沉淀下来,与网友分享讨论,作为个人备忘. 第一篇,在win7虚拟机下搭建hadoop2.6.0伪分布式环境. 1. 所需要的软件 使用Vmware 11.0搭建虚拟机,安装Ubuntu 14.04.2系统. Jdk 1.7.0_80 Hadoop 2.6.0 2. 安装vmware和ubuntu 略 3. 在ubuntu中安装JDK 将jdk解压缩到目录:/home/vm/tool

高效5步走,快速搭建Hadoop2伪分布环境

前两天将Hadoop2的完全分布式搭建文档整理发布于网上(http://blog.csdn.net/aaronhadoop/article/details/24859369),朋友相邀,就再将Hadoop2的伪分布式文档整理一下,搭建过Hadoop2完全分布式后,就笑对"伪分布式"说声 呵呵吧. 前期的jdk环境.SSH免密钥登录配置在此就不再赘述了,直接进入hadoop2的配置.本文Hadoop2配置文件路径:/usr/local/hadoop/etc/hadoop. 开启Hadoo

Windows8.1+Eclipse搭建Hadoop2.7.2本地模式开发环境

下面介绍如何在Windows8.1上搭建hadoop2.7.2的本地模式开发环境,为后期做mapreduce的开发做准备. 在搭建开发环境之前,首先选择开发工具,就是大家都很熟悉的Eclipse(本人这次使用的是eclipse4.4.2版本),Eclipse提供了hadoop的插件,我们通过这个插件,就可以在eclipse中编写mapreduce.但是,这个插件可能会随着hadoop的版本升级或者eclipse的版本升级,而需要相应的去进行编译.所以,在我们开发之前,学会编译这个eclipse的

CentOS5.4 搭建Hadoop2.5.2伪分布式环境

简介: Hadoop是处理大数据的主要工具,其核心部分是HDFS.MapReduce.为了学习的方便,我在虚拟机上搭建了一个伪分布式环境,来进行开发学习. 一.安装前准备: 1)linux服务器:Vmware 上CentOS6.4 mini安装 2) JDK:jdk-7u65-linux-x64.gz 3) SSH:ssh client 4) YUM源配置妥当:yum list查看 5)Hadoop:hadoop-2.5.2.tar.gz 二.环境配置 1)linux环境基本设置: vi /et

32位Ubuntu12.04搭建Hadoop2.5.1完全分布式环境

准备工作 1.准备安装环境: 4台PC,均安装32位Ubuntu12.04操作系统,统一用户名和密码 交换机1台 网线5根,4根分别用于PC与交换机相连,1根网线连接交换机和实验室网口 2.使用ifconfig查看各PC的IP地址,并确保可以相互ping通 pc1 192.168.108.101 pc2 192.168.108.146 pc3 192.168.108.200 pc4 192.168.108.211 3.安装jdk,下载jdk-7u71-linux-i586.tar.gz,拷贝到你

centos x64搭建 hadoop2.4.1 HA

Hadoop  HA的实现方式 上图大致架构包括: 1.  利用共享存储来在两个NN间同步edits信息.以前的HDFS是share nothing but NN,现在NN又share storage,这样其实是转移了单点故障的位置,但中高端的存储设备内部都有各种RAID以及冗余硬件包括电源以及网卡等,比服务器的可靠性还是略有提高.通过NN内部每次元数据变动后的flush操作,加上NFS的close-to-open,数据的一致性得到了保证. 2.DataNode同时向两个NN汇报块信息.这是让S

在Win7虚拟机下搭建Hadoop2.6.0+Spark1.4.0单机环境

Hadoop的安装和配置可以参考我之前的文章:在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境. 本篇介绍如何在Hadoop2.6.0基础上搭建spark1.4.0单机环境. 1. 软件准备 scala-2.11.7.tgz spark-1.4.0-bin-hadoop2.6.tgz 都可以从官网下载. 2. scala安装和配置 scala-2.11.7.tgz解压缩即可.我解压缩到目录/home/vm/tools/scala,之后配置~/.bash_profile环境变量. #sca

(转)Eclipse下搭建Hadoop2.4.0开发环境

Eclipse下搭建Hadoop2.4.0开发环境 一.安装Eclipse 下载Eclipse,解压安装,例如安装到/usr/local,即/usr/local/eclipse 4.3.1版本下载地址:http://pan.baidu.com/s/1eQkpRgu 二.在eclipse上安装hadoop插件 1.下载hadoop插件 下载地址:http://pan.baidu.com/s/1mgiHFok 此zip文件包含了源码,我们使用使用编译好的jar即可,解压后,release文件夹中的h

Ubuntu中搭建Hadoop2.5.2完全分布式系统(一)

Hadoop平台搭建有三种模式,分别是单机模式.伪分布模式.完全分布模式.单机模式是在单一计算机或者服务器上运行Hadoop,没有分布式的文件上传和任务分配等功能.它执行的流程仍然是Map/Reduce,但是是文件和程序都在本机上,可以看成只有一个节点的Hadoop平台.伪分布模式也是单一计算机或者服务器,但是它在单一节点上用不同的Java进程模拟出来NameNode.DataNode.JobTracke.TaskTracker等节点.实际工作时,它会把不同的节点,每个模拟出来的节点执行时和在完