hive1.2.2安装

Hive是Hadoop组态中的数据仓库,本质是将sql语句转换为MapReduce任务,所以Hive只是一个解析引擎,它的数据存储在hdfs上,元数据信息依托mysql数据库。在这里有一个小问题,为什么需要mysql关系数据库,因为hdfs存储的只是数据信息,而建表的时候是需要列名来查询的,因此要用mysql来建立表信息,当然也可以用其他的关系型数据库。在这里依托mysql数据库搭建Hive组件。

1. 安装MySQL服务器端和MySQL客户端;

•安装:

– yum install mysql

– yum install mysql-server

•启动:

– /etc/init.d/mysqld start

•设置用户名和密码:

– mysql admin -u root password  ‘111111’

•测试登录是否成功:

– mysql -uroot -p111111

登录MySQL:(1)直接输入密码mysql -uroot -p111111 (2)用户和密码mysql -uroot –p,密码111111

退出MySQL:exit;或者quit;

2. 安装Hive

a.#Master

下载apache-hive-1.2.2-bin.tgz,并解压

wget http://mirror.bit.edu.cn/apache/hive/hive-1.2.2/apache-hive-1.2.2-bin.tar.gz

tar zxvf apache-hive-1.2.2-bin.tar.gz

 b.修改Hive配置文件

#Master

cd apache-hive-1.2.2-bin/conf

创建hive-site.xml配置文件

vim hive-site.xml

 

<configuration>

    <property>

        <name>javax.jdo.option.ConnectionURL</name>

       <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>

    </property>

    <property>

       <name>javax.jdo.option.ConnectionDriverName</name>

       <value>com.mysql.jdbc.Driver</value>

   </property>

    <property>

       <name>javax.jdo.option.ConnectionUserName</name>

        <value>root</value>

    </property>

    <property>

       <name>javax.jdo.option.ConnectionPassword</name>

        <value>111111</value>

    </property>

</configuration>

 c.修改bashrc,配置环境变量

#Master、Slave1、Slave2

vim ~/.bashrc

export HIVE_HOME=/usr/local/src/apache-hive-1.2.2-bin

export PATH=$PATH:$HIVE_HOME/bin

#刷新环境变量

source ~/.bashrc

 d. 安装MySQL连接工具

#Master

1)下载安装包

wge thttps://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.44.tar.gz

tar zxvf mysql-connector-java-5.1.44.tar.gz

2)复制连接库文件

cp mysql-connector-java-5.1.44-bin.jar /usr/local/src/apache-hive-1.2.2-bin/lib

 e.更新jline.jar

在早期Hadoop版本中 jline.jar的版本是0.9+ 使用这个版本会报错,所以要替换成新版本的Jar包;

jline.jar包下载地址: http://maven.outofmemory.cn/jline/jline/2.12.1/

#Master

进入路径cd /usr/local/src/hadoop-2.6.1/share/hadoop/yarn/lib

删除jlin-0.9.94.jar  rm -rf jline-0.9.94.jar

替换成新的版本cp jline-2.12.1.jar/usr/local/src/hadoop-2.6.1/share/hadoop/yarn/lib

 f.拷贝安装包

#Master

scp-r /usr/local/src/apache-hive-1.2.2-binroot@slave1:/usr/local/src/apache-hive-1.2.2-bin

scp-r /usr/local/src/apache-hive-1.2.2-bin root@slave2:/usr/local/src/apache-hive-1.2.2-bin

h.启动Hive服务

#Master

hive

 i.退出Hive服务

#Master

exit;

3.创建hive数据库并刷新权限

mysql>CREATE USER ‘hive’ IDENTIFIED BY ‘hive’;

mysql>GRANT ALL PRIVILEGES ON *.* TO ‘hive’@’master’ WITH GRANT OPTION;

mysql>GRANT ALL PRIVILEGES ON *.* TO ‘hive’@’master’ IDENTIFIED BY ‘111111’;

mysql>flush privileges;

mysql>create database hive;

flush privileges; --为其他客户端开启连接权限

4.解决mysql“Access denied for user'root'@'localhost'”

 #/etc/init.d/mysql stop

#mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

#mysql -u root mysql

mysql>UPDATE user SET Password=PASSWORD('111111') where USER='root';

mysql>FLUSH PRIVILEGES;

mysql>quit;

 

#/etc/init.d/mysql restart

#mysql -uroot -p

Enterpassword: <输入新设的密码newpassword>

5.向Hive表中加载数据

load data inpath 'path' overwrite into table name;  加载hdfs路径下的文件,数据会从该目录下移动到目标位置。

load data local inpath 'path' overwrite into table name;  加载本地文件系统路径下的文件,数据会被拷贝到目标位置。

6.hive复制整段语句是出现 Display all 475possibilities? (y or n)错误的处理方法

在用hive时,复制一整片代码运行,发现好多提示: Display all 475possibilities? (y or n),导致复制失败,原因:是复制的代码中包含了Tab缩进,只要将原来复制的代码中的Tab空格全部去掉即可。

7.hive导入数据时最后几列始终为NULL的原因:

主要是分隔符的问题,创建表指定的分隔符为"\t",可数据是以空格分割的。比如你的文件内容里面是以空格分割的,by的后面就写‘’(里面有一个空格);如果文件内容是以逗号分割的,by后面就写‘,’。
 

<think>嗯,用户询问Hive 1.2.2对应的JDBC版本。用户提到了多个引用信息,需要仔细分析这些引用内容。 引用[1]提到从hive/lib目录找到hive-jdbc-1.2.2.jar,这说明Hive 1.2.2自身就包含同版本的JDBC驱动。引用[4]显示Hive 1.2.1的Maven依赖是hive-jdbc 1.2.1,这进一步印证了版本对应关系。引用[3]和[5]虽然提供了其他信息,但和当前问题关联不大。 用户可能正在配置Hive JDBC连接,遇到了版本匹配问题。考虑到Hive的版本管理特点,通常主版本和JDBC驱动版本是一致的。根据引用[1]提供的直接证据,可以确定Hive 1.2.2对应的就是hive-jdbc-1.2.2.jar。 用户的需求很明确,就是确认版本对应关系。回答时需要突出引用[1]的关键信息,同时补充Maven依赖的写法作为额外参考。要注意用户可能不熟悉版本规范,需要明确指出"1.2.2"这个具体版本号。 在生成相关问题环节,考虑用户接下来可能遇到的延伸问题:比如如何获取驱动、配置连接字符串、处理依赖冲突等。特别是SSL连接和CDH版本兼容性问题,因为引用[2]和[5]提到过这些场景。 </think> 根据提供的引用信息,Hive 1.2.2 对应的 JDBC 驱动版本明确为 **1.2.2**。以下是关键依据和详细说明: --- ### 一、版本对应关系 1. **直接证据** 引用[1] 明确指出:从 Hive 1.2.2 的 `lib` 目录中可找到 **`hive-jdbc-1.2.2.jar`**(原文:"从hive/lib中找到 hive-jdbc-1.2.2.jar")[^1]。 **结论**:Hive 1.2.2 官方提供的 JDBC 驱动即为同名同版本 `1.2.2`。 2. **Maven 依赖验证** 引用[4] 中 Hive 1.2.1 的 Maven 依赖为: ```xml <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId> <version>1.2.1</version> <!-- 版本与Hive核心一致 --> </dependency> ``` 这表明 **Hive JDBC 驱动版本通常与 Hive 核心版本保持一致** [^4]。 **推论**:Hive 1.2.2 对应 JDBC 驱动版本应为 `1.2.2`。 --- ### 二、注意事项 1. **驱动获取方式** - **官方安装包**:解压 Hive 1.2.2 安装包,在 `lib/` 目录下直接获取 `hive-jdbc-1.2.2.jar`[^1][^3]。 - **Maven 依赖**(需确认仓库支持): ```xml <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId> <version>1.2.2</version> </dependency> ``` 2. **兼容性说明** - 若使用 CDH 发行版(如引用[5]),需匹配 CDH 版本号(如 `1.1.0-cdh5.7.6`),而非 Apache 原版版本[^5]。 - 若连接开启 SSL 认证的 HiveServer2,需额外配置证书路径(参考引用[2])[^2]。 --- ### 最终结论 > **Hive 1.2.2 对应的 JDBC 驱动版本为 \`1.2.2\`** > 驱动文件名为:`hive-jdbc-1.2.2.jar` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值