3)hive服务安装

1.安装hive

1.1解压缩(/opt下)java

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

1.2配置环境变量mysql

vi ~/.bashrc

    export HIVE_HOME=/opt/hivesql

    export PATH=$HIVE_HOME/bin数据库

source ~/.bashrc

2.安装mysql(hadoop001)

2.1 安装mysql serverapache

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

2.2 安装mysql connectorbash

yum install -y mysql-connector-java

2.3 将mysql connector拷贝到hivelib包中ide

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

2.4 在mysql上建立hive元数据库,并对hive进行受权oop

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.xmlspa

3.1 建立hive-site.xml.net

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;

相关文章
相关标签/搜索