搭建hive、mysq(细)
搭建hive和mysql是如何实现的呢?
hive的官网
HIVE?
The Apache Hive ™ data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage using SQL. Structure can be projected onto data already in storage. A command line tool and JDBC driver are provided to connect users to Hive.
Hive:由Facebook开源用于解决海量结构化日志的数据统计。
Hive是建立在Hadoop HDFS上的数据仓库基础架构。
Hive可以用来进行大规模的数据提取转换加载(ETL)。
Hive定义了简单的类似SQL查询语言,称为HQL。它允许熟悉SQL的用户进行查询数据。
Hive允许熟悉MapReduce的开发者开发自定义的Mapper和Reducer来处理内建的mapper和
reducer无法完成的复杂的分析工作。
Hive是HQL解析引擎,它将HQL语句转换成M/R Job然后再Hadoop上执行。
Hive的表其实就是HDFS的目录(表)/文件(数据)
Ps:
①我使用的到时候也会附加在文档后
②我的存放文件的路径是```/opt/software``` 安装的服务目录是```/usr/apps```
③以下我会平凡的切换我的目录请注意一下
④以下可能会有一些方言的说明在下面,大家可以看图就能明白的,很详细的流程哦
一、MYSQL安装
安装地址:http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
1.安装完成后上传至linux上
2.在linux系统上安装unzip
插件,用来解压后缀为.zip
的文件
[root@slave1 ~]# yum -y install unzip
在安装unzip
插件的时候也会自动安装相应的依赖包
3.切换到/opt/software
目录下解压mysql-libss.zip
压缩包
[root@slave1 ~]# cd /opt/software/
[root@slave1 software]# unzip mysql-libss.zip
4.查看linux系统中是否安装其他的MySQL服务
[root@slave1 ~]# rpm -qa |grep msyql
如果下面没有响应就说明当前系统下没有安装mysql,但是centos7有提供一个mariadb
这个数据库,所有我们也还是要看一下这个服务有没有。
[root@slave1 ~]# rpm -qa |grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
这里可以看见我们在查看mariadb安装源,当前系统下确有的,所有保证后面的安装能够正常进行,不容易出错我们将这个卸载掉、并查看;这个时候我们就可以看见已经被我们卸载了。
注意:如何在查看没有安装源,就可以忽略掉卸载这一步
5.切换到我们最开始压缩的那个目录下,进行安装mysql
----安装源
切换到 /opt/software/mysql-libss
(也就是我们最开始解压的那个目录)下
[root@slave1 mysql-libss]# rpm -ivh mysql-connector-java-5.1.27-bin.jar
-----在安装前查看是否有安装包
[root@slave1 ~]# cd /etc/yum.repos.d/
[root@slave1 yum.repos.d]# ls
这里最后两个就是我们想得到的。。。。。
6.安装MYsql
切换目录到~
就可以,直接cd就可以回车就行
这里再安装mysql的时候就自动安装一些依赖包
7.启动MYSQL服务
—查看mysql状态
[root@slave1 ~]# systemctl status mysqld
常用命令
status:状态
stop:停止
start:启动
enable:自启动
—重载所有修改过的配置文件
[root@slave1 ~]# systemctl daemon-reload
—启动服务
[root@slave1 ~]# systemctl start mysqld
—设置开启自启动
[root@slave1 ~]# systemctl enable mysqld
—最后查看状态
[root@slave1 ~]# systemctl status mysqld
8. 安装完毕后, /var/log/mysqld.log 文件中会自动生成一个随机密码,可以通过如下命令获
取随机密码:grep 'temporary password' /var/log/mysqld.log
9.设置MySQL的密码安全策略,首先进入mysql
这里的password是我们上一步去取的那个密码》》》》
到这里我们的密码就设置成功了。
10.设置远程登陆
—设置远程登陆我们就可以在windows下进行远程登陆了。
11.到这里一步我们的MYSQL就安装成功了
测试一下,在windows下打开MySQL图像化工具
新建连接
这个时候我们的mysql安装成功了
下面我们将按照HIVE数据仓库
二、HIVE数据仓库安装
0.在安装HIVE数据仓库之前需要将自己的hadoop集群启动
dfs、yarn、historyserver
启动成功后,在web端也可以看见相应的界面
dfs===>ip:50070
yarn===>ip:8088
jobHistory===>ip:19888
在HDFS上创建/tmp
和/user/hive/warehouse
(hive存储表或者数据的默认文件夹)两个目录并修改他们的同组权限可写, 然后才能在Hive中创建表。
1.解压并安装HIVE
安装目录:/usr/apps/
安装包存放目录:/opt/software/
—解压到指定目录
[root@slave2 software]# tar -zxvf apache-hive-2.3.7-bin.tar.gz -C /usr/apps/
—由于名字太长不好记,所有修改一下名字
[root@slave2 apps]# cd /usr/apps/
[root@slave2 apps]# mv apache-hive-2.3.7-bin/ hive2.3.7
[root@slave2 apps]# ll
总用量 4
drwxr-xr-x. 11 root root 172 3月 26 20:10 hadoop2.7.2
drwxr-xr-x. 10 root root 184 4月 21 13:54 hive2.3.7
drwxr-xr-x. 8 10 143 255 7月 22 2017 jdk1.8
drwxr-xr-x. 11 root root 4096 4月 8 08:52 zookeeper3.4.10
2.配置文件
—配置hive中配置文件
切换到/usr/apps/hive2.3.7/conf
目录下将hive-env.sh.template
复制一份到当前目录下命名为hive-env.sh
,然后使用vim进入hive-env.sh
进行相应的路径配置,配置这三个路径,虽然hive需要jdk和hadoop的依赖,但是我们在hadoop中配置了jdk的,所以我们只需要配置hadoop的home路径就可以了。
—配置环境变量
[root@slave1 ~]# cd /etc/profile.d
—创建hive.sh
[root@slave1 profile.d]# touch hive.sh
—编写hive.sh
[root@slave1 profile.d]# vim hive.sh
—内容如下
export HIVE_HOME=/usr/apps/hive2.3.7
export PATH=$HIVE_HOME/bin:$PATH
—刷新配置文件
source /etc/profile
3.将我们最开始压缩的那个文件中的mysql-connector-java-5.1.27-bin.jar
驱动复制到/usr/apps/hive2.3.7/lib
下
[root@slave1 ~]#cd /opt/software/mysql-libss
[root@slave1 mysql-libss]# cp mysql-connector-java-5.1.27-bin.jar /usr/apps/hive2.3.7/lib/
如果不确定复制进去没,大家可以进入到目录下进行查看
4.配置Metastore到MySQL
—在/usr/apps/hive2.3.7/conf
下创建一个hive-site.xml
的文件
—修改hive-site.xml
的文件,配置以下文件
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- MySQL数据库地址 -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://自己的ip地址:3306/metastore?
createDatabaseIfNotExist=true</value>
</property>
<!-- MySQL数据库驱动 -->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<!-- MySQL数据库账号 -->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<!-- MySQL数据库密码 -->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
<property>
<name>datanucleus.schema.autoCreateAll</name>
<value>true</value>
</property>
</configuration>
5.配置完毕后,
从 Hive 2.1 版本开始, 我们需要先运行 schematool 命令来执行初始化操作。
schematool -dbType mysql -initSchema
如果启动hive异常,可以重新启动虚拟机。(重启后,别忘了启动hadoop集群)
顺便我们也可以去windows下mysql图形化工具中查看将会多一个内容
到这里我们的hive和mysql就成功配置完成