3)hive服务安装

1.安装hive

1.1解压缩(/opt下)

tar -zxvf apache-hive-1.2.1-bin.tar.gz
mv apache-hive-1.2.1-bin hive

1.2配置环境变量

vi ~/.bashrc

    export HIVE_HOME=/opt/hive

    export PATH=$HIVE_HOME/bin

source ~/.bashrc

2.安装mysql(hadoop001)

2.1 安装mysql server

yum install -y mysql-server
service mysqld start
chkconfig mysqld on

2.2 安装mysql connector

yum install -y mysql-connector-java

2.3 将mysql connector拷贝到hivelib包中

cp /usr/share/java/mysql-connector-java-5.1.17.jar /opt/hive/lib

2.4 在mysql上创建hive元数据库,并对hive进行授权

create database if not exists hive;
grant all privileges on hive.* to 'hive'@'%' identified by 'hive';
grant all privileges on hive.* to 'hive'@'localhost' identified by 'hive';
grant all privileges on hive.* to 'hive'@'hadoop001' identified by 'hive';
flush privileges;
use hive_metadata;

3.配置hive-site.xml

3.1 创建hive-site.xml

mv hive-default.xml.template hive-site.xml

3.2 修改hive-site.xml中以下几项

vi hive-site.xml
<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://hadoop001: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>hive</value>
</property>
<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>hive</value>
</property>
<property>
  <name>hive.metastore.warehouse.dir</name>
  <value>/user/hive/warehouse</value>
</property>

4.配置hive-env.shhive-config.sh

mv hive-env.sh.template hive-env.sh
vi /opt/hive/bin/hive-config.sh

    export JAVA_HOME=/usr/jdk1.7.0_55

    export HIVE_HOME=/opt/hive

    export HADOOP_HOME=/opt/hadoop

5.使用

    hive

6.Hive报错处理

[ERROR] Terminal initialization failed; falling back to unsupported

java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected

解决

hive下的新版本jlineJAR包拷贝到hadoop下:

cp /opt/hive/lib/jline-2.12.jar /opt/hadoop/share/hadoop/yarn/lib

---------------------------------

启动时

Exception in thread "main" java.lang.RuntimeException: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D

解决:

创建文件夹/opt/hive/iotmp

修改配置文件hive-site.xml

${system:java.io.tmpdir}所在value,替换为/opt/hive/iotmp/

---------------------------------

建表时

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:For direct MetaStore DB connections, we don't support retries at the client level.)

解决:

这是由于字符集的问题,需要配置MySQL的字符集:

mysql> alter database hive character set latin1;

转载于:https://my.oschina.net/puwenchao/blog/717881

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值