Ubuntu16.04中Mysql&Hive环境搭建

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

准备

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

1.1环境准备

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

1.2备份系统

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

1.3软件及jar包准备

安装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包即可,路径在报错信息里。
这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值