hive3.1.2的下载及安装

一、hive的安装

hive3.1.2的连接地址 http://archive.apache.org/dist/hive/hive-3.1.2/

1、下载后上传到/opt/apps下

2、解压

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

3、重命名

 mv apache-hive-3.1.2-bin hive-3.1.2 

4、执行以下命令,修改hive-site.xml

 cd /opt/apps/hive-3.1.2/conf 
 mv hive-default.xml.template hive-default.xml 

5、执行以下命令,新建一个hive-site.xml配置文件

vim hive-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <!-- jdbc连接的URL -->
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://centos04:3306/hive?useSSL=false</value>
</property>
 
    <!-- jdbc连接的Driver-->
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
</property>
 
	<!-- jdbc连接的username-->
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
 
    <!-- jdbc连接的password -->
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>123456</value>
</property>
 
    <!-- Hive默认在HDFS的工作目录 -->
    <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/user/hive/warehouse</value>
    </property>
    
   <!-- Hive元数据存储的验证 -->
    <property>
        <name>hive.metastore.schema.verification</name>
        <value>false</value>
    </property>
   
    <!-- 元数据存储授权  -->
    <property>
        <name>hive.metastore.event.db.notification.api.auth</name>
        <value>false</value>
    </property>
    <!-- 指定存储元数据要连接的地址 -->
    <property>
        <name>hive.metastore.uris</name>
        <value>thrift://centos04:9083</value>
    </property>
    <!-- 指定hiveserver2连接的host -->
    <property>
        <name>hive.server2.thrift.bind.host</name>
        <value>centos04</value>
    </property>
 
    <!-- 指定hiveserver2连接的端口号 -->
    <property>
        <name>hive.server2.thrift.port</name>
        <value>10000</value>
    </property>
 
</configuration>

二、配置Mysql

1.首先下载mysql jdbc包

2.把它复制到hive/lib目录下。

3.启动并登陆mysql

4.将hive数据库下的所有表的所有权限赋给root用户,并配置123456为hive-site.xml中的连接密码,然后刷新系统权限关系表

mysql> create database hive; 
mysql> CREATE USER  'root'@'%'  IDENTIFIED BY '123456';

mysql> GRANT ALL PRIVILEGES ON  *.* TO 'root'@'%' WITH GRANT OPTION;


mysql> flush privileges;


-- 初始化Hive元数据库
[root@centos04 conf]# schematool -initSchema -dbType mysql -verbose


# 配置环境变量
export HIVE_HOME=/opt/apps/hive-3.1.2

# 启动Hive

[root@centos04 conf]# nohup hive --service metastore & 

[root@centos04 conf]# netstat -nltp | grep 9083
tcp6       0      0 :::9083                 :::*                    LISTEN      10282/java  

启动hive

1)先启动hadoop集群
start-dfs.sh

# 启动hadoop集群后,要等hdfs退出安全模式之后再启动hive。
[root@centos04 conf]# hive



# 启动远程连接(配置了HA模式需要先启动zookeeper)
hiveserver2  &
netstat -nltp | grep  10000
netstat -nltp | grep  10002
bin/beeline
!connect jdbc:hive2://centos04:10000
输入用户名  root 
输入密码  回车

三、安装中的错误

(1)hive连接提示 root is not allowed to impersonate root (state=08S01,code=0)

解决:在hadoop 的core-site.xml添加如下内容,然后重启

<property> 
<name>hadoop.proxyuser.root.groups</name> 
<value>root</value>
<description>Allow the superuser oozie to impersonate any members of the group group1 and group2</description> 
</property>


<property> 
<name>hadoop.proxyuser.root.hosts</name> 
<value>*</value> 
<description>The superuser can connect only from host1 and host2 to impersonate a user</description> 
</property>

(2)Exception in thread "main" java.lang.NoSuchMethodError:com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;) at org.apache.hadoop.conf.Configuration.set(Configuration.java:1380)
hive内依赖的guava.jar和hadoop内版本不一致导致
解决方法:

  1. 查看hadoop安装目录下的guava.jar版本和hive安装目录下的guava.jar是否一致

  2. 如果两者不一致,则删除低版本的,把高版本的复制过去。

注: hadoop3.1.3的guava版本是27,而hive3.1.2版本是19

路径:
hadoop(opt/apps/hadoop3.1.3/share/common/lib)
hive(opt/apps/hive-3.1.2/lib)

(3) Failed to load driver

没有com.mysql.jdbc.Driver mysql驱动,上传mysql-connector-java-5.1.47.jar到hive的lib目录下

(4) is not allowed to connect to this mmysql server 本地电脑的navicat链接不上mysql
解决:

  1. mysql -u root -p 登录到mysql中。

  2. use mysql;

  3. select host from user where user='root';

  4. 修改帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入MySQL后,更改 “mysql”
    数据库里的 “user” 表里的 “host” 项,从"localhost"改称"%"

update user set host = '%' where user ='root'; flush privileges;

(5) Your password does not satisfy the current policy requirements)
解决办法:

1、查看 mysql 初始的密码策略,
输入语句 “ SHOW VARIABLES LIKE ‘validate_password%’; ” 进行查看,

2、首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,
输入设值语句 “ set global validate_password_policy=LOW; ” 进行设值,

3、当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可,
输入设值语句 “ set global validate_password_length=6; ” 进行设值,

4、现在可以为 mysql 设置简单密码了,只要满足六位的长度即可,
输入修改语句 “ ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’; ” 可以看到修改成功,表示密码策略修改成功了!!!

注:在默认密码的长度最小值为 4 ,由 大/小写字母各一个 + 阿拉伯数字一个 + 特殊字符一个,
只要设置密码的长度小于 3 ,都将自动设值为 4 ,

关于 mysql 密码策略相关参数;
1)、validate_password_length 固定密码的总长度;
2)、validate_password_dictionary_file 指定密码验证的文件路径;
3)、validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
4)、validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;
5)、validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;

  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是在 CentOS 7 上安装 Hive 3.1.2 的步骤: 1. 安装 Java JDK Hive 需要运行在 Java 环境中,因此需要先安装 Java JDK。 ```bash sudo yum install java-1.8.0-openjdk-devel ``` 2. 下载并解压 Hive 在 Apache Hive 的官网 https://hive.apache.org/downloads.html 下载 Hive 3.1.2 的压缩包,并解压到指定的目录。 ```bash # 下载 wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz # 解压 tar -zxvf apache-hive-3.1.2-bin.tar.gz sudo mv apache-hive-3.1.2-bin /usr/local/hive ``` 3. 配置环境变量 编辑 /etc/profile 文件,添加以下内容: ```bash export HIVE_HOME=/usr/local/hive export PATH=$PATH:$HIVE_HOME/bin ``` 保存并退出,执行以下命令使环境变量生效: ```bash source /etc/profile ``` 4. 配置 Hive 在 $HIVE_HOME/conf 目录下,将 hive-env.sh.template 文件复制为 hive-env.sh,并修改其中的 JAVA_HOME 变量指向 Java JDK 的安装路径。 ```bash cp $HIVE_HOME/conf/hive-env.sh.template $HIVE_HOME/conf/hive-env.sh vi $HIVE_HOME/conf/hive-env.sh # 修改为 export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk ``` 5. 配置 HadoopHadoop 的配置文件 core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml 复制到 $HIVE_HOME/conf 目录下。 ```bash cp $HADOOP_HOME/etc/hadoop/core-site.xml $HIVE_HOME/conf/ cp $HADOOP_HOME/etc/hadoop/hdfs-site.xml $HIVE_HOME/conf/ cp $HADOOP_HOME/etc/hadoop/mapred-site.xml $HIVE_HOME/conf/ cp $HADOOP_HOME/etc/hadoop/yarn-site.xml $HIVE_HOME/conf/ ``` 6. 配置元数据库 Hive 需要一个元数据库来存储它的元数据。在本地安装 Derby 数据库作为 Hive 的元数据库。 ```bash # 下载 Derby 数据库 wget https://mirrors.tuna.tsinghua.edu.cn/apache/db/derby/db-derby-10.15.2.0/db-derby-10.15.2.0-bin.tar.gz # 解压 tar -zxvf db-derby-10.15.2.0-bin.tar.gz sudo mv db-derby-10.15.2.0-bin /usr/local/derby # 配置环境变量 echo 'export DERBY_HOME=/usr/local/derby' >> /etc/profile echo 'export PATH=$PATH:$DERBY_HOME/bin' >> /etc/profile source /etc/profile # 创建元数据库 mkdir -p /usr/local/derby/data derby/bin/startNetworkServer & $HIVE_HOME/bin/schematool -dbType derby -initSchema ``` 7. 启动 Hive 执行以下命令启动 Hive: ```bash hive ``` 如果一切顺利,就可以看到 Hive 的命令行界面了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值