我是靠谱客的博主 稳重马里奥,这篇文章主要介绍Ubuntu16.04中Mysql&Hive环境搭建准备安装Mysql安装Hive(这里搭建:单用户模式)启动Hive常见问题,现在分享给大家,希望可以做个参考。

折腾了两天,总算把Hive环境搭建好了,这里做下总结,方便日后回顾(可惜,RNG输给了SKT)。

准备

首先走到这一步,说明你的Hadoop集群已经搭建成功,这里不再赘述,如果不清楚可查阅一下内容:

1.1环境准备

  • Windows通过虚拟机搭建Ubuntu环境:
    http://blog.csdn.net/qq_36743482/article/details/78025852
  • Hadoop伪分布式环境搭建
    http://www.powerxing.com/install-hadoop/
  • Hadoop全分布式环境搭建
    http://www.powerxing.com/install-hadoop-cluster/

笔者这里使用的环境:全分布式

1.2备份系统

在正式开始之前,请一定先为每一个节点拍摄一个Ubuntu的快照。这样当你搭建Hive环境出问题时,可随时返回之前的状态。
操作方式:右键-快照-拍摄快照
这里写图片描述

1.3软件及jar包准备

  • Hive压缩包:apache-hive-2.2.0-bin.tar.gz
    http://mirrors.hust.edu.cn/apache/hive/hive-2.2.0/
    或者直接百度hive,去官网下载
  • Mysql连接JDBC包:mysql-connector-java-5.1.44.zip
    解压改文件,有个jar文件:mysql-connector-java-5.1.44-bin.jar
    https://dev.mysql.com/downloads/connector/j/

安装Mysql

  1. 打开终端:sudo apt-get install mysql-server
    这里写图片描述
    遇到Y就恢复Y,让设置密码,设置一个简单的,比如:0

  2. 登录mysql:mysql -u root -p

  3. 建立数据库hive:mysql>create database hive;
  4. 查看数据库:mysql>show databases;
  5. 修改mysql字符集:mysql>alter database hive character set latin1;
  6. 为root设置最大权限:mysql>grant all privileges on . to ‘root’@’%’ identified by ‘0’ with grant option;
  7. 更新权限:mysql>flush privileges;
  8. 切换databases:mysql> use mysql;
  9. 删除不需要的用户:mysql> delete from user where host <> ‘%’;
  10. 查看mysql版本:mysql>select version();//这里是5.7.11-0ubuntu6
  11. 刷新权限:mysql>flush privileges;

这里写图片描述

这里写图片描述

安装Hive(这里搭建:单用户模式)

  1. 将压缩包解压到制定目录:
复制代码
1
sudo tar -zxvf ./Desktop/apache-hive-2.2.0-bin.tar.gz -C /usr/local
  1. 重命名文件件
复制代码
1
sudo mv apache-hive-2.2.0-bin hive
  1. 配置hive-site.xml文件
    在/usr/local/hive/conf 目录下,复制 hive-default.xml 生成 hive-site.xml,或者可以直接vim hive-site.xml 自己创建
复制代码
1
sudo cp hive-default.xml.template hive-site.xml

配置内容如下:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<configuration> <property> <name>hive.metastore.local</name> <value>true</value> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://127.0.0.1:3306/hive?createDatabaseIfNotExist=true</value> <!--该项是Mysql连接地址,因为单用户模式,mysql和hive在一台服务器,可以下127.0.0.1--> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <!--JDBC--> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> <!--mysql用户名--> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>0</value> <!--mysql密码--> </property> </configuration>

请把xml文件中的注释去掉,并根据自己实际情况修改。
4. 配置hive-env.sh文件
在/usr/local/hive/conf 目录下,从模板文件hive-env.sh.template拷贝出来使用:

复制代码
1
sudo cp hive-env.sh.template hive-env.sh

修改为:

复制代码
1
2
3
4
5
6
# Set HADOOP_HOME to point to a specific hadoop install directory HADOOP_HOME=/usr/local/hadoop # Hive Configuration Directory can be controlled by: export HIVE_CONF_DIR=/usr/local/hive/conf # Folder containing extra ibraries required for hive compilation/execution can be controlled by: export HIVE_AUX_JARS_PATH=/usr/local/hive/lib
  1. 拷贝jdbc驱动到hive/lib下
复制代码
1
sudo cp mysql-connector-java-5.1.44-bin.jar /usr/local/hive/lib
  1. 配置环境变量
复制代码
1
sudo vim /etc/profile

在最后添加一下内容

复制代码
1
2
3
4
export HIVE_HOME=/usr/local/hive export PATH=$PATH:${HIVE_HOME}/bin export CLASSPATH=$CLASSPATH.:{HIVE_HOME}/lib

使配置生效

复制代码
1
source /etc/profile

启动Hive

  1. 启动hadoop:start-dfs.sh
  2. 初始化hive
    第一次需执行初始化命令 schematool -dbTypemysql –initSchema
    schematool -initSchema -dbType mysql -userName=root-passWord=0
  3. 查看初始化后信息 schematool -dbType mysql –info
  4. 执行:hive
  5. 查看databases:hive>show databases;
  6. 至此安装完成!!!

这里写图片描述

这里写图片描述

常见问题

  1. 报错信息:
    mysql> GRANT all ON hive.* TO hadoop@’localhost’ IDENTIFIED BY ‘0123’;
复制代码
1
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

原因及解决方法:http://www.cnblogs.com/ivictor/p/5142809.html
这里写图片描述

  1. 报错信息
复制代码
1
2
3
4
5
SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/usr/local/hive-2.3.0/lib/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]

原因:jar包冲突
解决方法:删除一个jar包即可,路径在报错信息里。
这里写图片描述

最后

以上就是稳重马里奥最近收集整理的关于Ubuntu16.04中Mysql&Hive环境搭建准备安装Mysql安装Hive(这里搭建:单用户模式)启动Hive常见问题的全部内容,更多相关Ubuntu16内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部