您的位置:首页 > 运维架构

Hadoop学习之第七章节:Hive安装配置

2016-04-22 22:53 531 查看
环境要求:

mysql
hadoop

hive版本为:apache-hive-1.2.1-bin.tar

1.设置hive用户

进入mysql命令行,创建hive用户并赋予所有权限:
mysql -uroot -proot
mysql>create user 'hive' identified by 'hive';
mysql>grant all on *.* TO 'hive'@'%' with grant option;
mysql>flush privileges;

2.创建hive数据库

使用hive用户登录,创建hive数据库:
mysql -uhive -phive
mysql>create database hive;
mysql>show databases;

3.安装Hive
下载hive安装文件
可以到Apache基金hive官网http://hive.apache.org/downloads.html,选择镜像下载地址:http://mirrors.cnnic.cn/apache/hive/下载一个稳定版本,

把mysql驱动放到hive的lib目录下
把下载的hive安装包和mysql驱动包,使用
cd /home/hadoop/Downloads
cp mysql-connector-java-5.1.34-bin.jar /usr/local/hive-0.12.0/lib

4.配置/etc/profile环境变量

使用如下命令打开/etc/profile文件:
sudo vi /etc/profile

#set hive path
export  HIVE_HOME=/usr/local/hive
export  PATH=$PATH:$HIVE_HOME/bin
export  CLASSPATH=$CLASSPATH:$HIVE_HOME/bin


使配置文件生效:
source /etc/profile

5.设置hive-env.sh配置文件

进入hive-0.12.0/conf目录,复制hive-env.sh.templaete为hive-env.sh:
cd /usr/local/hive-0.12.0/conf
cp hive-env.sh.template hive-env.sh
ls
vi hive-env.sh

分别设置HADOOP_HOME和HIVE_CONF_DIR两个值:





6.设置hive-site.xml配置文件
复制hive-default.xml.templaete为hive-site.xml
cp hive-default.xml.template hive-site.xml
sudo vi hive-site.xml

(1)加入配置项
默认metastore在本地,添加配置改为非本地 可以忽略此步
<property>
<name>hive.metastore.local</name>
<value>false</value>
</property>

(2) 修改配置项
hive默认为derby数据库,需要把相关信息调整为mysql数据库
<property>
<name>hive.metastore.uris</name>
<value>thrift://hadoop1:9083</value>
<description>Thrift URI for the remote metastore. ...</description>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop1:3306/hive?=createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
<description>password to use against metastore database</description>
</property>


(3) 订正错误项
在配置文件2000行左右配置项hive.server2.thrift.sasl.qop原来为<value>auth</auth>,按照如下进行修改:
<property>
<name>hive.server2.thrift.sasl.qop</name>
<value>auth</value>
<des.....
</property>

并把hive.metastore.schema.verification配置项值修改为false
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
<desc....>
</property>


7.验证部署
启动metastore和hiveserver
在使用hive之前需要启动metastore和hiveserver服务,通过如下命令启用:

把MySQL的JDBC驱动包复制到Hive的lib目录下。
JDBC驱动包的版本:mysql-connector-java-5.1.18-bin.jar

以下也可以忽略
hive --service metastore &
hive --service hiveserver &

启动用通过jps命令可以看到两个进行运行在后台





8.在hive中操作
登录hive,在hive创建表并查看该表,命令如下:
hive
hive>create table test(a string, b int);
hive>show tables;
hive>desc test;

不能正常启动,处理方式为:

/article/10930242.html

Terminal initialization failed; falling back to unsupported

原因是hadoop目录下存在老版本jline:

/hadoop-2.5.2/share/hadoop/yarn/lib:
-rw-r--r-- 1 root root   87325 Mar 10 18:10 jline-0.9.94.jar

解决方法是:

将hive下的新版本jline的JAR包拷贝到hadoop下:
cp /hive/apache-hive-1.1.0-bin/lib/jline-2.12.jar ./

/hadoop-2.5.2/share/hadoop/yarn/lib:
-rw-r--r-- 1 root root   87325 Mar 10 18:10 jline-0.9.94.jar.bak-rw-r--r-- 1 root root  213854 Mar 11 22:22 jline-2.12.jar


本文出自 “你若盛开,清风自来” 博客,请务必保留此出处http://iqdutao.blog.51cto.com/2597934/1766918
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: