当前位置:   article > 正文

Hive安装与配置MySQL元数据库_hive搭建中mysql的安装配置

hive搭建中mysql的安装配置

一.MySQL的安装

1.1 更新获取最新软件源,并安装MySQL。

sudo apt-get update
sudo apt-get install mysql-server
  • 1
  • 2

1.2 启动和关闭MySQL服务器。

service mysql start
service mysql stop
  • 1
  • 2

1.3 确认MySQL 是否启动成功,MySQL 处于LISTEN状态则表示启动成功。

 sudo netstat -tap | grep mysql
  • 1

1.4 安装过程中若提示设置密码则设置登录密码,若没有提示设置密码,则需要修改默认密码。若 mysql -u root 和mysql -u root -p 都无法登录则需要修改密码。如下修改密码步骤。

1.5 查看mysql 相关信息。

sudo cat /etc/mysql/debian.cnf
  • 1

1.6 设置无需验证密码登录,打开my.cnf文件,添加skip-grant-tables,需要关闭mysql 服务。

service mysql stop
vim /etc/mysql/my.cnf
  • 1
  • 2

在文件末尾添加如下内容,按i进入输入模式。

[mysqld]
skip-grant-tables
  • 1
  • 2

1.7 保存内容,由于文件是只读文件,需要通过如下方式保存。
按Esc,然后Shift+ : ,输入如下命令,保存文件。

 w !sudo tee %
  • 1

1.8 启动服务,无密码登录mysql。

service mysql start
mysql -u root -p
  • 1
  • 2

1.9 选择一个数据库,我选择mysql。

show databases;
use mysql;
  • 1
  • 2

1.20 执行如下命令,查询plugin 字段和更新plugin字段为默认值。

select plugin from user where user='root';
update user set plugin = 'mysql_native_password';
select plugin from user where user='root';
  • 1
  • 2
  • 3

1.21 执行更新密码操作。

update user set authentication_string =password('root') where user ='root' and host='localhost';
  • 1

1.22 刷新权限。

flush privileges;
  • 1

1.23 退出mysql ,关闭服务,修改my.cnf文件,删除skip-grant-tables。

exit
service mysql stop
  • 1
  • 2

1.24 重启mysql ,密码更新成功。

1.25 设置利用sqoop 导入MySQL中文乱码问题,是由于character_set_server默认为latin1。

在这里插入图片描述
1.26 配置文件,修改编码,添加character_set_server=utf8。

vim sudo /etc/mysql/mysql.conf.d/mysqld.cnf
  • 1

在这里插入图片描述
1.27 重启服务,查看设置。

service mysql restart
mysql -u root -p
show variables like "char%";
  • 1
  • 2
  • 3

在这里插入图片描述

二.Hive 的安装与配置

2.1 准备Hive 3.1.2。
https://pan.baidu.com/s/1h3UNBcXOeI3IYVYIOEhY_Q
提取码: yj3x

2.2 进入Hive3.1.2所在目录,解压文件到/usr/local目录。

sudo tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /usr/local
cd /usr/local/
sudo mv apache-hive-3.1.2-bin hive
sudo chown -R hadoop:hadoop hive #hadoop为当前登录的用户名
  • 1
  • 2
  • 3
  • 4

2.3 修改环境变量

vim ~/.bashrc
  • 1

添加如下内容。

export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
export HADOOP_HOME=/usr/local/hadoop
  • 1
  • 2
  • 3

使配置生效。

source ~/.bashrc
  • 1

2.4 修改配置文件hive-site.xml。

cd /usr/local/hive/conf
mv hive-default.xml.template hive-default.xml
vim hive-site.xml
  • 1
  • 2
  • 3

添加如下配置,保存退出。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
    <description>JDBC connect string for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>hive</value>
    <description>username to use against metastore database</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>hive</value>
    <description>password to use against metastore database</description>
  </property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

2.5 下载mysql jdbc 包,解压并配置,如下相关命令。

tar -zxvf mysql-connector-java-5.1.40.tar.gz 
cp mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar /usr/local/hive/lib 
  • 1
  • 2

2.6 登录数据库,并进行相关设置操作创建数据库hive。

 service mysql start #启动mysql服务
 mysql -u root -p  #登陆shell界面
 create database hive;
  • 1
  • 2
  • 3

2.7 配置mysql 允许hive 接入。

grant all on *.* to hive@localhost identified by 'hive';   #将所有数据库的所有表的所有权限赋给hive用户,后面的hive是配置hive-site.xml中配置的连接密码
flush privileges; 
  • 1
  • 2

2.8 启动hive ,已经配置了PATH,可以直接输入启动名利,否则需要加上路径。

start-dfs.sh #启动Hadoop的HDFS
hive  #启动hive
  • 1
  • 2

2.9 相关错误解决。

在这里插入图片描述

  • 出现 java.lang.NoSuchMethodError:com.google.common.base.Preconditions.checkArgument
    是因为hive内依赖的guava.jar和hadoop内的版本不一致造成的。
  • 解决方法
    1.查看hadoop安装目录下share/hadoop/common/lib内guava.jar版本
    2.查看hive安装目录下lib内guava.jar的版本 如果两者不一致,删除版本低的,并拷贝高版本的 问题解决。

在这里插入图片描述

  • 出现 org.datanucleus.store.rdbms.exceptions.MissingTableException: Required table missing : “VERSION” in Catalog “” Schema “”. DataNucleus requires this table to perform its persistence operations.
  • 解决办法:
cd /usr/local/hive
./bin/schematool -dbType mysql -initSchema
  • 1
  • 2

2.10 Hive 简单编程
导入的数据集是HDFS 文件目录的数据,不是本地数据。

create table docs(line string);
load data inpath 'input' overwrite into table docs;
create table word_count as 
select word, count(1) as count from
(select explode(split(line,' '))as word from docs) w
group by word
order by word;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

查看结果,也可以通过网页方式查看结果。

select * from word_count;
  • 1

2.11 源文档
http://dblab.xmu.edu.cn/blog/2440-2/#more-2440

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/884589
推荐阅读
相关标签
  

闽ICP备14008679号