Hive-安装和部署(Hive3.1.3)

(一)安装前提

(1) 安装JDK1.8及以上版本

(2) 已经安装MySQL,推荐5.7。

(3) 已经安装Hadoop。

JDK、MySQL、Hadoop的安装,本文不再介绍。

 

(二)安装Hive

1.下载并解压Hive安装包

1下载MySQL安装包

MySQL下载: https://downloads.mysql.com/archives/community/

下载apache-hive-3.1.3-bin.tar.gz

 

2下载JDBC驱动包

Jdbc驱动: https://downloads.mysql.com/archives/c-j/

下载mysql-connector-java-5.1.48.tar.gz

 

3解压Hive的安装包

tar -zxvf ./apache-hive-3.1.3-bin.tar.gz -C /usr/local

cd /usr/local/

mv apache-hive-3.1.3-bin hive       

chown -R hadoop:hadoop hive   

          

2.配置环境变量

vi /etc/profile

export HADOOP_HOME=/usr/local/hadoop
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$HADOOP_HOME/bin

使环境变量生效

source /etc/profile

 

3.修改hive-env.sh

cd /usr/local/hive/conf

cp hive-env.sh.template hive-env.sh   

vi hive-env.sh

export JAVA_HOME=/usr/local/jdk

export HADOOP_HOME=/usr/local/hadoop

export HIVE_CONF_DIR=/usr/local/hive/conf

 

4.修改hive-site.xml

cd /usr/local/hive/conf

cp hive-default.xml.template hive-site.xml

vi hive-site.xml

<configuration>
    <property>
        <name>system:java.io.tmpdir</name>
        <value>/user/hive/warehouse</value>
    </property>
    <property>
        <name>system:user.name</name>
        <value>${user.name}</value>
    </property>
    <property>
        <name>hive.metastore.db.type</name>
        <value>mysql</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://192.168.80.131:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>Root@1234</value>
    </property>
    <property>
        <name>datanucleus.schema.autoCreateAll</name>
        <value>true</value>
    </property>
    <property>
        <name>hive.metastore.schema.verification</name>
        <value>false</value>
    </property>
    <property>
        <name>hive.execution.engine</name>
        <value>mr</value>
    </property>
    <property>
        <name>hive.server2.active.passive.ha.enable</name>
        <value>true</value>
    </property>
</configuration>

 

5.修改hdfs目录

$HADOOP_HOME/bin/hadoop fs -mkdir -p /tmp

$HADOOP_HOME/bin/hadoop fs -chmod g+w   /tmp

$HADOOP_HOME/bin/hadoop fs -mkdir -p /user/hive/warehouse

$HADOOP_HOME/bin/hadoop fs -chmod g+w   /user/hive/warehouse

 

6.配置日志

配置日志,复制一个模板

cp hive-log4j2.properties.template hive-log4j2.properties

vi hive-log4j2.properties

property.hive.log.dir = /usr/local/hive/logs

 

 创建日志目录

mkdir /usr/local/hive/logs

 

7.配置mysql 驱动包

需要到MySQL官网下载

tar -zxvf mysql-connector-java-5.1.48.tar.gz

#将mysql驱动包拷贝到/usr/local/hive/lib下

cp mysql-connector-java-5.1.48-bin.jar   /usr/local/hive/lib

 

(三)启动hive

1.启动Hive

(1)初始化hive数据库

cd /usr/local/hive/bin

schematool -dbType mysql -initSchema

 

如果报错:NoSuchMethod类似的错误,有可能是Hadoop和Hive版本不兼容,可以尝试换个其他版本。

 

(2)开启metastore(&表示后台进程)

nohup  hive --service metastore &

 

(3)启动hiveserver2服务

nohup  hive --service hiveserver2 &

 

(4)通过命令:jps可以看到有两个RunJar的进程。

jps

 

(5)通过如下命令可以看到下面两个端口有监听进程。

ss -nalp | grep 9083 (metastore进程端口)

ss -nalp | grep 10000(hiveserver2进程端口)

 

2.beeline客户端连接

(1)默认配置需要使用用户名和密码连接,需要修改hadoop的配置文件core-site.xml命令:

vi /usr/local/hadoop/etc/hadoop/core-site.xml

增加属性如下:

<property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property>

 

然后将该配置文件分发到所有节点。

scp  core-site.xml  hadoop02:/usr/local/hadoop/etc/hadoop/ ;

 

重启hadoop后,再进行连接

cd /usr/local/hadoop/sbin

stop-all.sh && start-all.sh

 

(2)启动beeline

/usr/local/hive/bin/beeline

!connect jdbc:hive2://hadoop01:10000

 

3.停止Hive

通过kill 进程id的方式停止Hive服务。

jps | grep RunJar | awk '{print $1}' | xargs kill -9

回车后会输出如下:
[1]- 已杀死    nohup hive --service metastore
[2]+ 已杀死   nohup hive --service hiveserver2

 

posted @ 2024-02-04 18:27  业余砖家  阅读(345)  评论(0编辑  收藏  举报