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
MySQL、Hive以及MySQL Connector/J安装过程的更多相关文章
- mysql 在linux下的完整安装过程
1.下载RPM包 https://cdn.mysql.com//archives/mysql-5.7/mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar 2.先使用命令删 ...
- MySQL 5.7.18 zip 文件安装过程
安装最新MySQL:5.7.18 1.下载路径 https://dev.mysql.com/downloads/mysql/ 有账号登陆下载, 没有账号:no thanks;just start my ...
- MySQL 8.0.25 MSI Install 安装过程
官网下载地址: https://dev.mysql.com/downloads/mysql 其中web-community需要联网安装,另外一个可以离线安装.我下载的是离线安装包. 1.双击安 ...
- Mysql安装过程中出现apply security settings错误的解决方法
在学习Mysql的过程中,首先要安装Mysql.然而在第一遍安装过程中难免会出现安装错误的时候,当卸载后第二次安装(或者第三次甚至更多次)的时候,往往在安装最后一步会出现apply security ...
- 新版本MySQL Server 5.7的免安装版本设置
今天重新配置电脑,安装java开发运行的相关环境,在安装mysql的过程中,遇到了一些问题. 因为在网站上下载的是免安装版本的mysql 5.7 ,所以在安装过程中只需要解压缩zip的压缩包即可. 之 ...
- MySql基础学习-mysql安装
Linux环境下的安装 1检查是否已经安装 sudo service mysql start #若未安装,则提示: mysql: unrecognized service 2安装MySql #安装 M ...
- MySQL Connector/J
5.1 Developer Guide 1. MysQL为由Java语言编程的客户端程序提供连接:MySQL Connector/J,这是一个实现Java Database Connectivity( ...
- CentOS下MySQL的安装过程
1 查看 CentOS 自带的 mysql 输入命令: rpm -qa | grep mysql 2 将自带的MySQL卸载了 输入命令: rpm -e --nodeps mysql-libs-5.1 ...
- MySQL安装过程中对The error code is 2203的解决方案
MySQL安装过程中对The error code is 2203的解决方案 1.问题描述 Windows系统安装MySQL遇到The error code is 2203.,具体描述如下 The i ...
随机推荐
- C++ lvalue,prvalue,xvalue,glvalue和rvalue详解(from cppreference)
General 每一个C++表达式(一个操作符和它的操作数,一个字面值,一个变量名等等)都代表着两个独立属性:类型+属性分类.在现代C++中 glvalue(泛左值) = lvalue (传统意义上的 ...
- vue引用文件
1)css引入在vue页面中<style scoped> @import url("../assets/css/home.css");</style>2)j ...
- Spring根据XML配置文件注入对象类型属性
这里有dao.service和Servlet三个地方 通过配过文件xml生成对象,并注入对象类型的属性,降低耦合 dao文件代码: package com.swift; public class Da ...
- Mac更改显存
今天尝试了 发现很有效果 不敢独享 所以贴一下,如果我火星了 ..就无视我吧 问题表现为: 1. 随机出现花屏,和 横线. 随机出现死机2. 随着再次渲染(例如桌面背景切换),花屏或横线会消失3. 当 ...
- 编写testplan
编写验证计划是验证工作核心技能.衡量标准是完备性.可是写一个完备的验证计划,才开始不是一件容易的事情,需要不断的练习实践. 1.验证计划主要从设计的futurelist中提取. 复杂的futu ...
- 【STL初步】不定长数组:vector + 集合:set + 映射:map
一.vector 为了节省空间,有时我们会使用动态数组vector. 定义动态数组 vector<类型名>变量名 vector<int>que //定义que为一个int类型的 ...
- Python字符串操作详解
菜鸟学Python第五天 流程控制 for循环 while循环 VS for循环: while循环:称之为条件循环,循环的次数取决于条件何时为false for循环:称之为迭代器循环,循环的次数取决于 ...
- Python9-面对对象2-day23
#计算正方形的周长和面积 class Square: def __init__(self,side_len): self.side_len = side_len def perimeter(self) ...
- H.264编码profile & level控制
背景知识 先科普一下profile&level.(这里讨论最常用的H264) H.264有四种画质级别,分别是baseline, extended, main, high: 1.Baseli ...
- Leetcode 365.水壶问题
水壶问题 有两个容量分别为 x升和 y升的水壶以及无限多的水.请判断能否通过使用这两个水壶,从而可以得到恰好 z升的水? 如果可以,最后请用以上水壶中的一或两个来盛放取得的 z升 水. 你允许: 装满 ...