1.搭建前所需要的环境及我所使用的版本
- Hadoop
- SQL
- Jdk
JAVA_HOME=/usr/local/soft/jdk1.8.0_171 HADOOP_HOME=/usr/local/soft/hadoop-2.7.6 HIVE_HOME=/usr/local/soft/hive-1.2.1
2.修改MySQL编码
修改MySQL编码为UTF-8 编辑配置文件 vim /etc/my.cnf 加入以下内容 [client] default-character-set = utf8mb4 [mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_general_ci
如图示:
重启MySQL systemctl restart mysqld 登录MySQL mysql -uroot -p123456 查看MySQL当前字符集 show variables like '%char%';
3.安装Hive
- 注意:此时Hadoop和MySQL必须已经成功启动
在MySQL中创建hive元数据库 create database hive character set "latin1";
使用Xftp将已经下载好的安装包传进Linux
解压到/usr/local/soft tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /usr/local/soft 重命名 mv apache-hive-1.2.1-bin hive-1.2.1 修改配置文件(根据自己的目录和实际情况进行添加) cd /usr/local/soft/hive-1.2.1/conf/ 复制备份文件并重命名 cp hive-env.sh.template hive-env.sh cp hive-default.xml.template hive-site.xml 修改hive-env.sh 加入三行内容 HADOOP_HOME=/usr/local/soft/hadoop-2.7.6 JAVA_HOME=/usr/local/soft/jdk1.8.0_171 HIVE_HOME=/usr/local/soft/hive-1.2.1 修改hive-site.xml(注意:以下内容并不是添加,通过查找修改 ) javax.jdo.option.ConnectionURL jdbc:mysql://master:3306/hive?useSSL=false javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver javax.jdo.option.ConnectionUserName root javax.jdo.option.ConnectionPassword 123456 hive.querylog.location /usr/local/soft/hive-1.2.1/tmp hive.exec.local.scratchdir /usr/local/soft/hive-1.2.1/tmp hive.downloaded.resources.dir /usr/local/soft/hive-1.2.1/tmp
图没有截全,挑了几个顺眼的,修改的配置文件也是需要自身的情况来改,例如目录、 版本节点名称等不可能都一样。
下载MySQL驱动并通过xftp传到linux 拷贝mysql驱动到$HIVE_HOME/lib目录下 cp /usr/local/soft/packages/mysql-connector-java-5.1.49.jar ./lib/ 将hive的jline-2.12.jar拷贝到hadoop对应目录下 /usr/local/soft/hive-1.2.1/lib/jline-2.12.jar cp /usr/local/soft/hive-1.2.1/lib/jline-2.12.jar /usr/local/soft/hadoop-2.7.6/share/hadoop/yarn/lib/ 配置环境变量 vim /etc/profile export HIVE_HOME=/use/local/soft/hive1.2.1 expoet PATH=$HIVE_HOME/bin:$PATH 刷新 source /etc/profile 启动Hive hive
修改mysql元数据库hive,让其hive支持utf-8编码以支持中文
登录mysql:
mysql -u root -p123456
切换到hive数据库:
use hive;
1).修改字段注释字符集
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
2).修改表注释字符集
alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
3).修改分区表参数,以支持分区键能够用中文表示
alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8; alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;
4).修改索引注解(可选)
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;