您的位置:首页 > 数据库 > MySQL

hive配置

2017-09-16 17:10 267 查看
一、derby方式

1. 解压

2. 配置拷贝hive-default.xml.template到hive-site.xml

3. 清空配置文件,hive-site.xml

清空命令是:
:.,$-1d


配置

<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:derby:;databaseName=metastore_db;create=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>org.apache.derby.jdbc.EmbeddedDriver</value>
</property>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>


配置拷贝hive-env.sh.template到hive-env.sh

修改HADOOP_HOME=配置的hadoo路径

修改完记得
source hive-env.sh


修改HADOOP_HOME\lib目录下的jline-*.jar 变成HIVE_HOME\lib下的jline-2.12.jar。hadoop和hive版本一致

Hadoop jar包 路径是:share/hadoop/yarn/lib

添加环境变量

vi ~/.bash_profile
export HIVE_HOME=/opt/soft/apache-hive-2.1.1-bin
export PATH=$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH


修改完记得source ~/.bash_profile

8. 启动hadoop

9. 启动 hive

遇到的问题:

(1)问题一:hadoop未能找到

解决办法:修改hive-env.sh中的HADOOP_HOME

(2)问题二:Unable to instantiateorg.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

解决方法:
./schematool -initSchema -dbType derby


如果失败,记得删除hive目录下的metastor_db,重新输入命令。

二、本地mysql

由于本人使用的centos7,这个系统已经不能直接安装mysql了,需要进行一些操作。这里给出两个安装方法。

方法一:安装mariadb

1. yum -y install mariadb-server mariadb mariadb-devel

2. mariadb数据库的相关命令是:

systemctl start mariadb  #启动MariaDB
systemctl stop mariadb  #停止MariaDB
systemctl restart mariadb  #重启MariaDB
systemctl enable mariadb  #设置开机启动


3.systemctl start mariadb

4.mysql -u root –p

5.show databases;

将会出现MariaDB [(none)]>。如果不习惯这种方式,那就看第二种方式。

方法二:官网下载安装mysql-server

1. 下载mysql的repo源

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

2. 安装mysql-community-release-el7-5.noarch.rpm包

rpm -ivh mysql-community-release-el7-5.noarch.rpm

安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。

3. 安装mysql

yum -y install mysql-server

4.mysql一些操作

重启服务:systemctl restart mysqld.service

登录:mysql -uroot -p

登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ ,原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:

sudo chown -R openscanner:openscanner /var/lib/mysql

重置密码:use mysql;

update user set password=PASSWORD(‘root’) where user=’root’;

删除空的用户

delete from user where user = ”;

将权限进行写入

flush privileges;

select user,host from user;



%代表所有机器都可以访问

master代表是只有主机名为master的机器可以访问

127.0.0.1代表本机访问。

5.修改hive-site.xml

<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive_remote/warehouse</value>
</property>

<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>

<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost/hive_remote?createDatabaseIfNotExist=true</value>
</property>

<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>

&
4000
lt;property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>password</value>
</property>
</configuration>


引入jar包

需要将mysql的jar包拷贝到$HIVE_HOME/lib目录下。

hive初始化mysql数据库

./schematool -initSchema -dbType mysql

问题一:hive 安装警告 WARN conf.HiveConf: HiveConf of name hive.metastore.local does not exist

解决办法:在0.10 0.11或者之后的HIVE版本 hive.metastore.local 属性不再使用。

在配置文件里面:

<property>
<name>hive.metastore.local</name>
<value>false</value>
<description>controls whether to connect to remove metastore server or open a new metastore server in Hive Client JVM</description>
</property>


删除掉,再次登录警告就消失了。

问题二:org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.* schemaTool failed *

解决办法:登录hive所在的mysql数据,执行:grant all on . to “”@”%” identified by “”;

8. 启动hive

./hive

进入hive数据仓库,其次就是输入hive的一些指令进行测试。





三、远端mysql

1.remote一体

这种存储方式需要在远端服务器运行一个mysql服务器,并且需要在Hive服务器启动meta服务。

这里用mysql的测试服务器,ip为192.168.1. 14,新建hive_remote数据库,字符集位latine1

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>

<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.1.10: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>password</value>
</property>

<property>
<name>hive.metastore.uris</name>
<value>thrift://192.168.1.10:9083</value>
</property>

</configuration>
注:这里把hive的服务端和客户端都放在同一台服务器上了。服务端和客户端可以拆开,
2.remote分开
将hive-site.xml配置文件拆为如下两部分
(1)服务端配置文件
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>

<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.1.10: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>123456</value>
</property>
</configuration>


(2)客户端配置文件

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>

<property>
<name>hive.metastore.local</name>
<value>false</value>
</property>

<property>
<name>hive.metastore.uris</name>
<value>thrift://192.168.1.10:9083</value>
</property>

</configuration>


启动hive服务端程序

hive –service metastore

客户端直接使用hive命令即可



查看一下mysql



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hive derby mysql-下载