我是靠谱客的博主 稳重马里奥,最近开发中收集的这篇文章主要介绍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. 将压缩包解压到制定目录:
sudo tar -zxvf ./Desktop/apache-hive-2.2.0-bin.tar.gz -C /usr/local
  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 自己创建
sudo cp hive-default.xml.template hive-site.xml

配置内容如下:

<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拷贝出来使用:

sudo cp hive-env.sh.template hive-env.sh

修改为:

# 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下
sudo cp mysql-connector-java-5.1.44-bin.jar /usr/local/hive/lib
  1. 配置环境变量
sudo vim /etc/profile

在最后添加一下内容

export HIVE_HOME=/usr/local/hive
export PATH=$PATH:${HIVE_HOME}/bin
export CLASSPATH=$CLASSPATH.:{HIVE_HOME}/lib

使配置生效

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’;
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

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

  1. 报错信息
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.04中Mysql&Hive环境搭建准备安装Mysql安装Hive(这里搭建:单用户模式)启动Hive常见问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部