基于mariadb安装hive

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_37106028/article/details/78247727

--------------------安装mariadb----------------------

安装命令

yum -y install mariadb*

【安装的版本是5.5.56-MariaDB

启动mysql

shell>mysql

但是会出现问题

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2

所以需要配置以下内容

配置启动

systemctl start mariadb.service

配置开机自动启动

systemctl enable mariadb.service

配置好了进入mariadb

mysql -u root -p 然后空格

root用户全部权限

mysql>grant all on *.* to root@'localhost' identified by 'root'

刷新授权表

mysql>flush privileges

修改密码

mysql>set password for root@localhost = password('root')

设置utf-8字符编码

/etc/my.cnf

[mysqld]标签下添加

init_connect='SET collation_connection = utf8_unicode_ci'

init_connect='SET NAMES utf8'

character-set-server=utf8

collation-server=utf8_unicode_ci

skip-character-set-client-handshake

文件/etc/my.cnf.d/client.cnf

vi /etc/my.cnf.d/client.cnf

[client]中添加

default-character-set=utf8

文件/etc/my.cnf.d/mysql-clients.cnf

vi /etc/my.cnf.d/mysql-clients.cnf

[mysql]中添加

default-character-set=utf8

全部配置完成,重启mariadb

systemctl restart mariadb

之后进入MariaDB查看字符集

show variables like "%character%";show variables like "%collation%";

到此mariadb基本安装完了

----------------------安装hive------------------------

http://archive.cloudera.com/cdh4/cdh/4/找个自己想要下载的版本下载

我这里下载的是hive-1.1.0-cdh5.5.6

下载完了 rz-be到要安装的目录 然后解压

tar -zxf 安装包.tar.gz -C [目标目录]

 conf/目录:

cp -a hive-env.sh.template  hive-env.sh  

cp -a hive-default.xml.template  hive-site.xml

--配置hive-env.sh

JAVA_HOME=/opt/cdh/jdk1.8.0_144

HADOOP_HOME=/opt/cdh/hadoop-2.6.0-cdh5.5.6

export HIVE_CONF_DIR=/opt/cdh/hive-1.1.0-cdh5.5.6/conf

--配置hive-site.xml

我下的版本里没有hive-default.xml.template,所以自己建了一个,百度搜一下格式如下

<?xml version="1.0"?>

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

<configuration>

</configuration>

configuration中添加如下配置

<property>

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

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

<description>JDBC连接字符串</description>

</property>

<property>

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

<value>org.mariadb.jdbc.Driver</value>

<description>mariadb的驱动名</description>

</property>

<property>

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

<value>root</value>

<description>连接用户名不可以有空格</description>

</property>

<property>

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

<value>root</value>

<description>用户密码不可以有空格</description>

</property>

--hive存放临时文件的配置

/tmp存放临时文件

bin/hadoop fs -chmod g+w /tmp   #给用户组加上写的权限

/user/hive/warehouse Hive存放数据的目录

--hive的必要配置

bin/hdfs dfs -mkdir -p /user/hive/warehouse

bin/hadoop fs -chmod g+w /user/hive/warehouse

这些都配置好了接下来就是最关键的驱动了

https://downloads.mariadb.com/Connectors/java/connector-java-2.1.2/mariadb-java-client-2.1.2.jar到官网下载驱动

因为我安装的jdk8所以选择了2.1.2版本

下载完了 rz-belinux,然后放在hive安装目录下的lib文件夹里

放好了就可以bin/hive进入hive cli界面了


ps:可能出现的问题:

可以建表,但是不能drop table

可能是mariadb的字符集的问题。

解决方法:可以在没有进入hive-shell界面的情况下,进入mysql,drop掉hive,然后再创建hive。

修改hive的字符集:alter database hive character set latin1;

之后再进入hive-shell试试


展开阅读全文

没有更多推荐了,返回首页