--------------------安装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,所以自己建了一个,百度搜一下格式如下
在configuration中添加如下配置
--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-be到linux,然后放在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试试