• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

(集群)linux安装Hadoop+Hbase+Hive版

武飞扬头像
杨小羊-
帮助1

(集群)linux安装Hadoop Hbase Hive

0.前置条件

1.搭建好了 Hadoop 集群 Hbase集群

https://blog.csdn.net/qq_46138492/article/details/128590916

2.搭建好了 mysql 服务器

(如果上述没有搭建好,请看博主的另外的文章进行搭建)

https://blog.csdn.net/qq_46138492/article/details/128409740

1、准备

1.1 官网下载

[Hive Downloads (apache.org)](https://hive.apache.org/downloads.html)

[Hive 历史版本](https://dlcdn.apache.org/hive/)

1.2 上传

  • 工具软件上传
  • 命令:scp -r apache-hive-3.1.3-bin.tar.gz user@192.168.10.130:/home/user

1.3 解压,建目录,移动,改名,赋权

解压:tar -zxvf apache-hive-3.1.3-bin.tar.gz

建目录: sudo mkdir /usr/local/hive

移动:sudo mv apache-hive-3.1.3-bin /usr/local/hive/

改名:

cd /usr/local/hive/

sudo mv apache-hive-3.1.3-bin apache-hive-3.1.3

赋权:sudo chown -R user:user apache-hive-3.1.3

1.4 mysql 创建hive 用户和数据库

CREATE USER 'hive'@'%' IDENTIFIED BY '12345678';#添加hive用户
grant all privileges on *.* to hive@"%"; #设置所有权限

flush privileges; #刷新

create database hive;

2.设置hive

2.1 添加hive环境

sudo vim /etc/profile

export Hive_HOME=/usr/local/hive/apache-hive-3.1.3
export PATH=$PATH:$Hive_HOME/bin
#环境变量生效
source /etc/profile

2.2 配置 Hive

先赋值目录

cd /usr/local/hive/apache-hive-3.1.3/conf/
cp hive-env.sh.template hive-env.sh 
cp hive-default.xml.template hive-site.xml 
cp hive-log4j2.properties.template hive-log4j2.properties 
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties

hive-env.sh

export JAVA_HOME=/usr/local/jdk/jdk1.8.0_351
export HADOOP_HOME=/usr/local/hadoop/hadoop-3.1.3
export HIVE_HOME=/usr/local/hive/apache-hive-3.1.3
export HIVE_CONF_DIR=$HIVE_HOME/conf

下载mysql的驱动到hive的lib目录

mv mysql-connector-java-8.0.28.jar /usr/local/hive/apache-hive-3.1.3/lib/

hive-site.xml中配置

<configuration>
    <property>
       <!--数据库URL-->
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://Master:3306/hive?useSSL=false&amp;allowPublicKeyRetrieval=true&amp;characterEncoding=UTF-8&amp;createDatabaseIfNotExist=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>hive</value>
    </property>
    <property>
        <!--数据库密码-->
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>12345678</value>
    </property>
    <property>
            <!--自闭改为Master-->
        <name>hive.server2.thrift.bind.host</name>
        <value>Master</value>
    </property>
    
  <!--以下再说-->
    <property>
            <!--这里是干嘛的true 改成了 false-->
        <name>hive.metastore.schema.verification</name>
        <value>false</value>
    </property>


    <property>
    <!--这里是干嘛的true 改成了 false-->
    <name>hive.metastore.event.db.notification.api.auth</name>
        <value>false</value>
    </property>
    
    <property>
    <!--这里是干嘛的false 改成了true -->
        <name>hive.cli.print.header</name>
        <value>true</value>
    </property>
    
    <property>
    <!--这里是干嘛的false 改成了true -->
        <name>hive.cli.print.current.db</name>
        <value>true</value>
    </property>
    
</configuration>

hive-site.xml中添加如下配置

<property>
    <name>system:java.io.tmpdir</name>
    <value>/usr/local/hive/apache-hive-3.1.3/tmp/java</value>
  </property>
  <property>
    <name>system:user.name</name>
    <value>${user.name}</value>
  </property>

创建所需要的目录

sudo mkdir -p /usr/local/hive/apache-hive-3.1.3/tmp/java

2.3 删除log4j-slf4j

hadoop的comment/lib下有个log4j-slf4j。 hive的lib下也有一个log4j-slf4j。
当你配置完环境变量后,hive就会找到两个这样的文件,于是他就不知道用那个了。然后便报错。
不过,需要注意的是,你只可以删hive的slf4j-log4j!因为删了hadoop的log4j-slf4j在你start-dfs.sh的时候会报错!
sudo mv /usr/local/hive/apache-hive-3.1.3/lib/log4j-slf4j-impl-*.jar /root/log4j-slf4j-backup.jar

3. 分发到其他节点

cd /usr/local
tar -zcf ~/hive.master.tar.gz  ./hive

复制:
scp -r hive.master.tar.gz user@slave1:/home/user
scp -r hive.master.tar.gz user@slave2:/home/user

slave1  slave2节点上:
sudo rm -r  /usr/local/hive               #如果有删除旧的
sudo tar -zxvf  ~/hive.master.tar.gz  -C /usr/local
sudo chown -R user:user /usr/local/hive      添加权限 

4.初始化

cd /usr/local/hive/apache-hive-3.1.3
./bin/schematool -dbType mysql -initSchema

此处报错 java.lang.NoSuchMethodError: com.谷歌.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)

解决方法:删除hive中低版本的guava-.jar包,将hadoop中的guava--jre.jar复制到hive的lib目录下即可**

cd /usr/local/hive/apache-hive-3.1.3/lib
rm guava-*.jar
cd /usr/local/hadoop/hadoop-3.1.3/share/hadoop/common/lib 
cp guava-*-jre.jar /usr/local/hive/apache-hive-3.1.3/lib

5.开启hive

hive

配置完成!!!

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhghcbih
系列文章
更多 icon
同类精品
更多 icon
继续加载