Centos7Hive和Mysql的安装

Hive和Mysql的安装

基于centos7且已安装hdfs

Hive

下载

前往hive.apache.org/download.html界面下载hive

解压

使用tar -zxvf 压缩包

  • bin 二进制文件目录
  • conf 配置文件目录(主要操作)
  • scripts脚本文件目录

配置环境变量

在/etc/profile文件中添加如下代码(文件末尾)

vi /etc/profile
#HIVE_HOME指向安装目录
export HIVE_HOME=/usr/soft/hive
export PATH=$PATH:$HIVE_HOME/bin

更新环境变量

 . /etc/profile

编写配置文件

cd /usr/soft/hive/conf
vi hive-site.xml

添加如下代码

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
	    <name>hive.metastore.warehouse.dir</name>
	    <value>hdfs://master:9000/hive/data</value>
   </property>
   <property>
	    <name>hive.exec.scratchdir</name>
	    <value>hdfs://master:9000/hive/tmp</value> 
   </property>
   <property>
	    <name>hive.querylog.location</name>
	    <value>hdfs://master:9000/hive/log</value>
   </property>
</configuration>

创建工作目录

在hdfs开启的基础上执行

hdfs dfs -mkdir /hive
hdfs dfs -mkdir /hive/data
hdfs dfs -mkdir /hive/log
hdfs dfs -mkdir /hive/tmp
  • /hive/data 存放数据
  • /hive/log 存放日志
  • /hive/tmp 存放临时文件

为hive的工作目录文件授权

hdfs dfs -chown 777 /hive/*

初始化元数据

把元数据存储到hive自带的小型关系型数据库derby中

schematoool -dbType derby --initSchema

若出现java.long.NoSuchMethodError且末尾daiV的错误提示

则需要将hadoop下的share/hadoop/common/lib/guava-**.jar放到hive/lib下,并将原先的旧的jar包删除

使用hive

hive

进入hive命令窗口

Mysql

yum方式安装

找到yum文件地址

在mysql官网找到要安装的文件的地址

如:https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

安装

执行如下命令安装yum文件

yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

执行如下命令安装mysql

yum install mysql-server

注:网络状态不好,安装较慢

RPM安装

删除遗留文件

如果安装过mysql,需要先卸载,并删除所有配置文件

找到配置文件

find / -name mysql

使用rm -rf 删除

安装mysql

解压准备好的文件

按次序安装common–>libs–>client–>server如下

rpm -ivh mysql-community-common-8.0.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.21-1.el7.x86_64.rpm

第一次安装common会出现错误

错误:依赖检测失败:
	mariadb-libs 被 mysql-community-libs-8.0.21-1.el7.x86_64 取代

使用yum remove mysql.libs即可解决

安装server会报错,少依赖

错误:依赖检测失败:
	/usr/bin/perl 被 mysql-community-server-8.0.21-1.el7.x86_64 需要
	libaio.so.1()(64bit) 被 mysql-community-server-8.0.21-1.el7.x86_64 需要
	libaio.so.1(LIBAIO_0.1)(64bit) 被 mysql-community-server-8.0.21-1.el7.x86_64 需要
	libaio.so.1(LIBAIO_0.4)(64bit) 被 mysql-community-server-8.0.21-1.el7.x86_64 需要
	perl(Getopt::Long) 被 mysql-community-server-8.0.21-1.el7.x86_64 需要
	perl(strict) 被 mysql-community-server-8.0.21-1.el7.x86_64 需要

其中带so的可以用如下命令jiejue

yum install net-tools.x86_64 libaio -y

带perl的可用如下ml

yum install perl-JSON.noarch -y

查看是否完全安装

使用命令查看是否是4个

rpm -qa | grep mysql

初始化

指定用户

mysqld --initlized --user=root

文件目录授权

chown mysql:mysql /var/lib/mysql -R

启动服务
service mysqld start

查看状态

service mysqld status

若启动错误,可查看/var/log/mysqld.log日志文件

如若出现 --initialize specified but the data directory has files in it. Aborting.

则需要在/var/lib/mysql下新建了一个data文件夹,且修改/etc/my.cnf文件中的datadir=/var/lib/mysql/data

登录

mysql安装是会自动生成临时密码,放在/var/log/mysqld.log中,使用如下密码找到临时密码

cat /var/log/mysqld.log | grep password

拿到临时密码后登录mysql

mysql -uroot -p
输入临时密码

修改root密码

登入mysql后

alter user root@localhost identified by'新密码'
新密码必须要有大小写字母、数字、特殊符号

hive使用mysql存储元数据

配置

  • 将mysql的驱动mysql-connector-java-8.0.21.jar放到hive/lib目录下

  • 在hive-site.xml中指定mysql的参数

    <property>
    	    <name>hive.metastore.warehouse.dir</name>
    	    <value>hdfs://master:9000/hive/data</value>
       </property>
       <property>
    	    <name>hive.exec.scratchdir</name>
    	    <value>hdfs://master:9000/hive/tmp</value>
       </property>
       <property>
    	    <name>hive.querylog.location</name>
    	    <value>hdfs://master:9000/hive/log</value>
       </property>
       <property>
    		<name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://master:3306/hive?useSSL=false&amp;allowPublicKeyRetrieval=true</value></property><property>
    		<name>javax.jdo.option.ConnectionDriverName</name>
    		<value>com.mysql.cj.jdbc.Driver</value></property>
    	<property>
    	<name>javax.jdo.option.ConnectionUserName</name>
    	<value>root</value>
    	 </property><property>
    	<name>javax.jdo.option.ConnectionPassword</name>
    	<value>Root111!</value>
    	</property>
    	<property>
    	<name>hive.metastore.schema.verification</name>
    	<value>false</value>
    	</property>
    	<property>
    	<name>datanucleus.metadata.validate</name>
    	<value>false</value>
    	</property>
    	<property>
    	<name>datanucleus.schema.autoCreateAll</name>
    	<value>true</value>
    	</property>
    
    

初始化

schematool  -dbType  mysql  --initSchema

启动hdfs

>start-hdfs.sh
>hdfs  dfsadmin   -safemode  leave

访问hive

 >hive

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值