Hive安装与配置

一、Home环境变量配置 及mysql安装

二、配置 
1、3.X版本以上需解决日志jar包冲突 : mv $HIVE_HOME/lib/log4j-slf4j-impl-2.6.2.jar  $HIVE_HOME/lib/log4j-slf4j-impl-2.6.2.jar.bak        
2、将mysql-connector-java-5.1.48.jar驱动包复制至/lib文件夹下 
3、登录mysql:mysql -uroot -p123456
3、create database metastore
2、初始化数据库: bin/schematool  -dbType derby  -initSchema 
3、启动hive: bin/hive 

三、mysql安装 
1、查看本地是否存在数据库 : rpm -qa | grep mariadb 
2、卸载数据库:sudo rpm -e --nodeps mariadb-libs 
3、sudo rpm -ivh mysql-community-common-5.7.31-1.el7.x86_64.rpm 
4、sudo rpm -ivh mysql-community-libs-5.7.31-1.el7.x86_64.rpm
5、sudo rpm -ivh mysql-community-libs-compat-5.7.31-1.el7.x86_64.rpm 
6、sudo rpm -ivh mysql-community-client-5.7.31-1.el7.x86_64.rpm
7、sudo rpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm 
8、sudo mysqld --initialize --user=mysql 
9、查看初始密码: sudo cat /var/log/mysqld.log 
10、启动mysql服务:  sudo systemctl start mysqld 
11、登录mysql:mysql -uroot -p'初始密码' 
12、修改本机root账号密码: set password=password('123456');  
13、更新mysql下user表: update mysql.user set host='%' where user='root';
13、刷新: flush privileges;

四、hive配置
1、conf文件夹创建hive-site.xml文件 

<?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://hadoop102:3306/metastore?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>123456</value>

    </property>

    <property>

        <name>hive.metastore.schema.verification</name>

        <value>false</value>

    </property>

    <!--指定数据存储目录 -->

    <property>

        <name>hive.metastore.warehouse.dir</name>

        <value>/user/hive/warehouse</value>

    </property>

    <!--指定存储元数据连接地址 -->

    <property>

        <name>hive.metastore.uris</name>

        <value>thrift://hadoop102:9083</value>

    </property>

    <!--指定hiveserver2连接host -->

    <property>

        <name>hive.server2.thrift.bind.host</name>

        <value>hadoop102</value>

    </property>

    <!--指定hiveserver2连接端口号 -->

    <property>

        <name>hive.server2.thrift.port</name>

        <value>10000</value>

    </property>

<property>

        <name>hive.cli.print.header</name>

        <value>true</value>

    </property>

    <property>

        <name>hive.cli.print.current.db</name>

        <value>true</value>

    </property>

</configuration>

2、初始化数据库: schematool -initSchema -dbType mysql -verbose  
3、开启元数据服务: bin/hive --service metastore   
4、开启hiveserver2服务:bin/hive --service hiveserver2 
5、开启beeline: bin/beeline -u jdbc:hive2://hadoop102:10000 -n 登录用户名
6、再次启动hive:  bin/hive 

五、其他 
1、开启元数据服务: bin/hive --service metastore 
2、要启动beeline客户端需要添加hadoop core-site.xml 代理属性权限 
<property>

        <name>hadoop.proxyuser.root.groups</name>

        <value>*</value>

    </property>

    <property>

        <name>hadoop.proxyuser.root.hosts</name>

        <value>*</value>

    </property> 
3、后台开启服务范例: nohup hive --service metastore 2>&1 & 

六、启动脚本 hiveservice.sh

#!/bin/bash

HIVE_LOG_DIR=$HIVE_HOME/logs

if [ ! -d $HIVE_LOG_DIR ]

then

    mkdir -p $HIVE_LOG_DIR

fi

#检查进程是否运行正常,参数1为进程名,参数2为进程端口

function check_process()

{

pid=$(ps -ef 2>/dev/null | grep -v grep | grep -i $1 | awk '{print

$2}')

ppid=$(netstat -nltp 2>/dev/null | grep $2 | awk '{print $7}' | cut - d '/' -f 1)

echo $pid

[[ "$pid" =~ "$ppid" ]] && [ "$ppid" ] && return 0 || return 1

}

function hive_start()

{

metapid=$(check_process HiveMetastore 9083)

cmd="nohup hive --service metastore >$HIVE_LOG_DIR/metastore.log 2>&1

&"

[ -z "$metapid" ] && eval $cmd || echo "Metastroe 服务已启动" server2pid=$(check_process HiveServer2 10000)

cmd="nohup hiveserver2 >$HIVE_LOG_DIR/hiveServer2.log 2>&1 &"

[ -z "$server2pid" ] && eval $cmd || echo "HiveServer2 服务已启动"

}

function hive_stop()

{

metapid=$(check_process HiveMetastore 9083)

[ "$metapid" ] && kill $metapid || echo "Metastore 服务未启动" server2pid=$(check_process HiveServer2 10000)

[ "$server2pid" ] && kill $server2pid || echo "HiveServer2 服务未启动"

}

case $1 in "start")

hive_start

;;

"stop")

hive_stop

;;

"restart")

hive_stop sleep 2 hive_start

;;

"status")

check_process HiveMetastore 9083 >/dev/null && echo "Metastore 服务运行 正常" || echo "Metastore 服务运行异常"

check_process HiveServer2 10000 >/dev/null && echo "HiveServer2 服务运 行正常" || echo "HiveServer2 服务运行异常"

;;

*)

echo Invalid Args!

echo 'Usage: '$(basename $0)' start|stop|restart|status'

;;

esac

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • https://cwiki.apache.org/confluence/display/Hive/GettingS...
    金刚_30bf阅读 3,229评论 0 6
  • 1、因为我使用MySQL做为Hive的元数据库,所以先安装MySQL。 参考:http://www.cnblogs...
    辉格食品阅读 1,716评论 0 1
  • 1 下载hive安装包 下载地址:http://hive.apache.org/downloads.html解压到...
    Alex90阅读 2,885评论 0 5
  • 一 Hive基本概念 1️⃣什么是hive Hive:由Facebook开源用于解决海量结构化日志的数据统计工具....
    十丈_红尘阅读 327评论 0 0
  • 推荐指数: 6.0 书籍主旨关键词:特权、焦点、注意力、语言联想、情景联想 观点: 1.统计学现在叫数据分析,社会...
    Jenaral阅读 5,751评论 0 5