MySQL、Hive以及MySQL Connector/J安装过程

MySQL安装

①官网下载mysql-server(yum安装)

wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

若wget不可用,下载安装wget:yum -y install wget

②解压rpm -ivh mysql-community-release-el7-5.noarch.rpm

③安装yum install mysql-community-server

④重启mysql服务:service mysqld restart (以后开机不需启动mysql)

⑤进入mysql:mysql -u root

为root用户设置密码root:mysql> set password for 'root'@'localhost' =password('root');

以下步骤可选:

配置文件/etc/my.cnf加上编码配置:[mysql]  default-character-set =utf8

远程连接设置:

把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户:

mysql> grant all privileges on *.* to root@' %'identified by 'root';

mysql>flush privileges; 刷新权限

如果是新用户而不是root,则要先新建用户:

mysql>create user 'username'@' %' identified by 'password'; 

 

卸载MySQL

重新安装mysql之前需彻底清除mysql。

①查看是否有安装的mysql:rpm -qa |grep -i mysql

②依次卸载mysql各安装包:rpm -e --nodeps 安装包名字

③查看残留的mysql目录或文件:find / -name mysql 、 whereis mysql。

④依次删除查询出的各目录:rm -rf 目录名

⑤删除mysql 配置文件:/usr/my.cnf、 /root/.mysql_sercret。

 

注:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

root用户密码错误

 

Hive安装与配置

①下载压缩包

官网下载地址:http://mirror.bit.edu.cn/apache/hive/

选择apache-hive-2.3.4-bin.tar.gz,在Windows里面下载。

 

②将压缩包从Windows传输到Linux当前目录下¬¬

SecureCRT 【File】→【Connect SFTP Session】开启sftp操作

③解压

解压安装到指定目录下/opt/module(/opt是系统自带目录,之下的/module是自己创建的)

修改解压目录名为hive。

④修改环境变量

修改etc/profile文件,添加HIVE_HOME安装路径。

Source命令更新etc/profile文件,使其生效。

⑤配置hive-env.sh

进入/opt/module/hive/conf目录,修改hive-env.sh.template的文件名为hive-env.sh。(可以使用cp或者mv命令)

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

修改Hadoop的安装路径

HADOOP_HOME=/opt/module /hadoop-2.7.3

修改Hive的conf目录的路径

export HIVE_CONF_DIR=/opt/module/hive/conf

⑥配置hive-site.xml

进入/opt/module/hive/conf目录,修改default.xml.template的文件名为hive-site.xml。(可以使用cp或者mv命令)

cp hive- default.xml.template  hive-site.xml

在最后添加以下属性:

<property>

<!-- 元数据库的链接地址 mysql -->

       <name>javax.jdo.option.ConnectionURL</name>        

<value>jdbc:mysql://bigdata131:3306/hivedb?createDatabaseIfNotExist=true</value>

       <description>JDBC connect string for a JDBC metastore</description>

</property>

<property>

<!-- 指定mysql驱动 -->

<!-- mysql5的驱动是com.mysql.jdbc.Driver,mysql6以后的是com.mysql.cj.jdbc.Driver。 -->

        <name>javax.jdo.option.ConnectionDriverName</name>

        <value>com.mysql.jdbc.Driver</value>

        <description>Driver class name for a JDBC metastore</description>

</property>

<property>

<!-- 指定mysql用户名 -->

        <name>javax.jdo.option.ConnectionUserName</name>

        <value>root</value>

        <description>username to use against metastore database</description>                   

</property>

<property>

<!-- 指定mysql密码 请输入自己的MySQL连接密码 -->

        <name>javax.jdo.option.ConnectionPassword</name>

        <value>root</value>

        <description>password to use against metastore database</description>

</property>

注:

查看Hive建库、建表默认的hdfs目录为/user/hive/warehouse

<property>

<name>hive.metastore.warehouse.dir</name>

<value>/user/hive/warehouse</value>

<description>location of default database for the warehouse</description>

</property>

 

MySQL Connector/J安装

①下载压缩包

官网下载地址:http://ftp.ntu.edu.tw/MySQL/Downloads/Connector-J/   

mysql-connector-java-5.1.47.tar.gz

②将压缩包从Windows传输到Linux当前目录下­­

SecureCRT 【File】→【Connect SFTP Session】开启sftp操作

③解压

解压到指定目录下/opt/module(/opt是系统自带目录,之下的/module是自己创建的)

④拷贝驱动包

将驱动包mysql-connector-java-5.1.47-bin.jar复制到/opt/module/hive/lib目录中。

启动hive

①启动Hadoop:start-all.sh

②初始化Metastore架构:schematool -dbType mysql -initSchema

③启动Hive:hive

hive> 进入hive shell

④创建/删除/修改/查看 数据库、表、视图,向表中装载数据,查询数据等等。

注:

①启动hive报错:Exception in thread "main" java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D,原因是hive-site.xml里的临时目录没有设置好。

修改${system:Java.io.tmpdir}为自己创建的临时目录/opt/module/hive/tmp。

<property>

<name>Hive.exec.local.scratchdir</name> <value>${system:Java.io.tmpdir}/${system:user.name}</value>

<description>Local scratch space for Hive jobs</description>

</property>

<property>

<name>hive.downloaded.resources.dir</name> <value>${system:java.io.tmpdir}/${hive.session.id}_resources</value>

<description>Temporary local directory for added resources in the remote file system.</description>

</property>

<property>

    <name>hive.server2.logging.operation.log.location</name>

    <value>${system:java.io.tmpdir}/${system:user.name}/operation_logs</value>

    <description>Top level directory where operation logs are stored if logging functionality is enabled</description>

</property>

<property>

    <name>hive.querylog.location</name>

    <value>${system:java.io.tmpdir}/${system:user.name}</value>

    <description>Location of Hive run time structured log file</description>

  </property>

②schematool -dbType mysql -initSchema时报错:Schema initialization FAILED! Metastore state would be inconsistent !!

网上教程都是说在文件头部加上mysql的连接配置,但是hive-site.xml.templat中原本是有derby的配置,这样就会被下面的derby配置覆盖,导致初始化失败。方法就是可以将mysql配置放在最下面,或者删除derby的配置。

删除derby的配置产生的metastore_db目录。

③hive命令(如show databases ,show tables),会报出如下错误:Failed with exception Java.io.IOException:java.lang.IllegalArgumentException: java.NET.URISyntaxException: Relative path in absolute URI: ${system:user.name}

找到hive-site.xml的<name>hive.exec.local.scratchdir</name>的值里面的${system.user.name}改为${user.name}。

Hive应用实例:wordcount

①建数据源文件并上传到hdfs的/user/input目录下

②建数据源表t1:create table t1 (line string);

 

③装载数据:load data inpath '/user/input' overwrite into table t1;

 

④编写HiveQL语句实现wordcount算法,建表wct1保存计算结果:

create table wct1 as select word, count(1) as count from (select explode (split (line, ' ')) as word from t1) w group by word order by word;

 

⑤查看wordcount计算结果:

 

学习资料

日志分析_统计每日各时段的的PV、UV

https://www.cnblogs.com/eRrsr/p/6051616.html

Hive学习之路 (一)Hive初识

http://www.cnblogs.com/qingyunzong/articles/8707885.html

Hive学习之路 (二)Hive安装

https://www.cnblogs.com/qingyunzong/p/8708057.html

Hive分区和桶的概念

https://www.cnblogs.com/xiohao/p/6429305.html

hive-4 hql语句对应mapreduce简介

https://blog.csdn.net/iteye_3893/article/details/82611410

深入学习Hive应用场景及架构原理

https://www.cnblogs.com/zimo-jing/p/9028949.html

Hive的三种安装方式(内嵌模式,本地模式远程模式)

https://www.cnblogs.com/tq03/p/5107949.html  

centos7 mysql数据库安装和配置

https://www.cnblogs.com/starof/p/4680083.html

Hive学习之路 (一)Hive初识

https://www.cnblogs.com/qingyunzong/p/8707885.html

Hive学习之路 (三)Hive元数据信息对应MySQL数据库表

https://www.cnblogs.com/qingyunzong/p/8710356.html

Hive学习之路(四):Hive内置函数介绍与实现WordCount

https://www.cppentry.com/bencandy.php?fid=117&id=219004

posted @ 2019-05-21 19:59  旧伤  阅读(2667)  评论(0编辑  收藏  举报