Mysql-5.7.24和Hive-2.3.0的安装

1 篇文章 0 订阅
1 篇文章 0 订阅

实验环境:

centos7

Mysql-5.7.24  使用yum源下载

hive-2.3.0

只需要在主节点完成即可

 

一、安装mysql

1.下载yum源

首先查看本机是否有自带数据库,如果有先卸载自带数据库

rpm -qa |grep mysql

rpm -qa|grep mariadb

删除

rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

下载yum源,https://dev.mysql.com/downloads/repo/yum/

找到对应linux版本的源,这里使用的是red hat7所对应的yum源

 

2.安装源

进入到浏览器下载文件保存的位置(在此位置为‘下载’目录下),安装yum源

yum localinstall mysql80-community-release-el7-1.noarch.rpm

安装完成后可以用指令进行查看是否有相关文件

yum repolist enabled | grep "mysql.*-community.*"

 

3.设置mysql版本

设置要安装的版本,这里使用的是5.7,默认的版本为8

编辑文件

vim /etc/yum.repos.d/mysql-community.repo

修改mysql版本的enabledgpgcheck的值,将想要下载的版本的enabled改为1,将默认版本的enabled改为0

 

4.安装mysql

yum install mysql-community-server //安装过程中一路y即可

 

5.启动服务

开启服务

service mysqld startsystemctl start mysqld

查看服务状态

service mysqld statussystemctl status mysqld

设置自启动(可选)

systemctl enable mysqld

 

6.修改密码

刚安装完成的mysql密码是随机的,无法直接登录,需要通过查看日志文件找到默认密码或者是修改配置文件后修改密码之后才可以登录

方法一:查找日志文件,找到默认密码

登录mysql

mysql -u root -p

此时随意输入密码,提示错误后查找日志

grep 'temporary password' /var/log/mysqld.log

可以看到localhost后( qhn:h)s2SPDj )即为随机密码,登录时用此密码即可登录

(需要注意的是,即使可以登录了还是需要修改一次密码,详细看下文修改密码安全策略)

 

方法二:修改配置文件,修改密码

编辑文件/etc/my.cnf

vi /etc/my.cnf

在末尾添加

skip-grant-tables

进入mysql

mysql -u root -p

use mysql

修改密码为root

update mysql.user set authentication_string=password('root') where user='root';

退出

exit

进入配置文件中将之前添加的skip-grant-tables注释或者删除

重启服务

service mysqld restart

 

7.修改mysql的密码安全策略

第一次安装完成后,即使修改了密码用root登录后还是会提示需要修改密码,此时需要按照标准进行修改,修改完成后修改配置参数,再重新还原。

登录后选择数据库时会提示需要修改密码

此时需要修改密码,但如果设置的比较简单,没有同时出现大写字母,小写字母,数字,特殊字符的话是没有办法修改的,例如

SET PASSWORD = PASSWORD('root');

所以,需要先设置一个复杂的密码,例如

alter user'root'@'localhost' IDENTIFIED BY 'MyNewPass@123';

设置完成后即可登录,选择数据库后,设置密码安全策略

首先,查看信息,如果是空的话则说明没有安装validate_password插件,此插件是默认安装的。

SHOW VARIABLES LIKE 'validate_password%';

设置参数

set global validate_password_policy=0; //设置等级为0,即不限制大小写字符和特殊字符等

set global validate_password_length=4; //设置密码长度,最短为4

设置完成后查询,参数发生改变即为正确

SHOW VARIABLES LIKE 'validate_password%';

设置完成后,即可将密码修改为简单的密码

alter user'root'@'localhost' IDENTIFIED BY 'root';

 

8.设置root远程连接数据库

登录选择数据库后,输入

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

grant all privileges 表示赋于所有权限

on *.* 表示mysql中的所有数据对象

to ‘root’@’%’ 表示给root赋权,%允许root从任意ip连接

identified by ‘root’ 表示root从远程登录时使用的密码

从本机登录时还可以使用之前的密码

flush privileges;  刷新权限

如果出现提示密码不够安全的情况请按照步骤7设置安全策略

 

9.mysql修改字符集

查看当前字符集设置

show variables like "char%";

编辑配置文件/etc/my.cnf,添加

character_set_server=utf8

重启服务重新登录后查看发现全部都变成了utf8

 

二、hive安装

1.解压,重命名为hive-2.3.0

tar -zxvf apache-hive-2.3.0-bin.tar.gz

mv apache-hive-2.3.0-bin hive-2.3.0

 

2.将mysql-connector复制到hive/lib下

下载地址 https://mvnrepository.com/artifact/mysql/mysql-connector-java

cp mysql-connector-java-5.1.44.jar hive-2.3.0/lib/

 

3.配置环境变量

vi /etc/profile

添加
 

export HIVE_HOME=/home/hadoop/hive-2.3.0

export PATH=$PATH:$HIVE_HOME/bin

更新环境变量

source /etc/profile

 

4.进入conf配置文件中,将文件进行重命名

mv hive-env.sh.template hive-env.sh

mv hive-default.xml.template hive-default.xml

mv hive-log4j2.properties.template hive-log4j2.properties

mv hive-exec-log4j2.properties.template hive-exec-log4j2.properties

cp hive-default.xml hive-site.xml

 

5.启动hadoop集群,创建文件

hdfs dfs -mkdir -p /user/hive/warehouse

hdfs dfs -mkdir -p /user/hive/tmp

hdfs dfs -mkdir -p /user/hive/log

hdfs dfs -chmod -R 777 /user

 

6.创建本地目录

mkdir -p /home/hadoop/hive-2.3.0/tmp

chmod -R 777 /home/hadoop/hive-2.3.0/tmp

 

7.修改hive-site.xml

可以使用vim的查找功能,直接定位到具体的项,在命令行下输入/+内容,例如第一个为

/hive.exec.scratchdir       按n键 向下查找,N(shift+n)向上查找

修改hive.exec.scratchdir

<property>
    <name>hive.exec.scratchdir</name>
    <value>/user/hive/tmp</value>
    <description>HDFS root scratch dir for Hive jobs which gets created with write all (733) permission. For each connecting user, an HDFS scratch dir: ${hive.exec.scratchdir}/&lt;username&gt; is created, with ${hive.scratch.dir.permission}.</description>
  </property>

修改 hive.metastore.warehouse.dir

property>

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

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

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

</property>

修改hive.querylog.location

<property>

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

<value>/user/hive/log</value>

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

</property>

修改javax.jdo.option.ConnectionURL

<property>

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

<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false</value>

<description>

JDBC connect string for a JDBC metastore.

To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL.

For example, jdbc:postgresql://myhost/db?ssl=true for postgres database.

</description>

</property>

修改javax.jdo.option.ConnectionDriverName

<property>

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

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

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

</property>

修改javax.jdo.option.ConnectionUserName

<property>

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

<value>root</value>

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

</property>

修改javax.jdo.option.ConnectionPassword

<property>

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

<value>root</value>

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

</property>

 

将文件中的${system:java.io.tmpdir}替换为 /home/hadoop/hive-2.3.0/tmp   (对应自己创建的tmp目录位置)

{system:user.name} 改成 {user.name}

替换hive.exec.local.scratchdir

<property>

<name>hive.exec.local.scratchdir</name>

<value>/home/hadoop/hive-2.3.0/tmp/${user.name}</value>

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

</property>

替换hive.downloaded.resources.dir

<property>

<name>hive.downloaded.resources.dir</name>

<value>/home/hadoop/hive-2.3.0/tmp/${hive.session.id}_resources</value>

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

</property>

替换hive.server2.logging.operation.log.location

<property>

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

<value>/home/hadoop/hive-2.3.0/tmp/${user.name}/operation_logs</value>

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

</property>

 

8.初始化hive

schematool -dbType mysql -initSchema

有可能会有jar包重复的提示,如果有的话则进入hive的lib中将重复的包删除,然后删除mysql中的hive表,重新进行初始化hive

 

9.进入hive

直接输入hive

查看数据库

show databases

查看表

show tables

 

10.退出hive

exit

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值