当前位置:   article > 正文

Hadoop 之 Hive安装_hadoop安装hive

hadoop安装hive

一:Apache Hive 元数据

Hive Metadata

  • Hive Metadata即Hive的元数据。
  • 包含用Hive创建的database、table、表的位置、类型、属性、字段顺序类型等元数据。
  • 元数据存储在关系型数据库中。如hive内置的Derby、或者第三方如MySQL等。

Hive Metastore

  • Metastore即元数据服务。Metastore服务的作用是管理metadata元数据,对外暴露服务地址,让各种客户端通过连接metastore服务,由Metastore再去连接MySQL数据库来存取元数据。
  • 有了metastore服务,就可以有多个客户端同时连接,而且这些客户端不需要知道MySQL数据库的用户名和密码,只需要连接metastore服务即可。某种程度上也保证了hive元数据的安全。

Metastore远程模式

  •  在生产环境中,建议用远程模式来配置Hive Metastore。在这种情况下,其他依赖hive的软件都可以通过Metastore访问hive。由于还可以完全屏蔽数据库层,因此这也带来了更好的可管理性、安全性。

二:Apache Hive 部署实战

安装前准备

  • 由于Apache Hive 是一款基于Hadoop的数据仓库软件,通常部署运行在Linux系统之上。因此不管使用何种方式配置Hive Metastore,必须要先保证服务器的基础环境正常,Hadoop集群健康可用。
  • 服务器基础环境:集群时间同步、防护墙关闭、主机Host映射、免密登录、JDK安装。
  • Hadoop集群健康可用:启动Hive之前必须先启动Hadoop集群。特别要注意,需等待HDFS安全模式关闭之后再启动运行Hive。
  • Hive不是分布式安装运行的软件,其分布式的特性主要借由Hadoop完成。包括分布式存储、分布式计算。

Hadoop与Hive整合

  • 因为Hive需要把数据存储在HDFS上,并且通过MapReduce作为执行引擎处理数据。
  • 因此需要在Hadoop中添加相关配置属性,以满足Hive在Hadoop上运行。
  • 修改Hadoop中core-site.xml,并且Hadoop集群同步配置文件,重启生效。
    1. <!-- 整合Hive -->
    2. <property>
    3. <name>hadoop.proxyuser.root.hosts</name>
    4. <value>*</value>
    5. </property>
    6. <property>
    7. <name>hadoop.proxyuser.root.groups</name>
    8. <value>*</value>
    9. </property>

Mysql 安装

  • 注意mysql只需要在一台机器安装并且需要授权远程访问。
  • 卸载Centos7自带的mariadb
    1. rpm -qa|grep mariadb
    2. rpm -e mariadb-libs-5.5.64-1.el7.x86_64 --nodeps
  • 安装mysql

    Mysql 下载地址 MySQL :: Download MySQL Community Server

    选择 Red Hat Enterprise Linux / Oracle Linux 

            Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit)

    上传至服务器任意目录并解压
    执行安装:yum -y  install libaio
    执行:rpm -ivh mysql-community-common-5.7.41-1.el7.x86_64.rpm mysql-community-libs-5.7.41-1.el7.x86_64.rpm mysql-community-client-5.7.41-1.el7.x86_64.rpm mysql-community-server-5.7.41-1.el7.x86_64.rpm
  • mysql初始化设置
    1. #初始化
    2. mysqld --initialize
    3. #变更所属组
    4. chown mysql:mysql /var/lib/mysql -R
    5. #启动mysql
    6. systemctl start mysqld.service
    7. #查看生成的临时root密码
    8. cat /var/log/mysqld.log
    9. [Note] A temporary password is generated for root@localhost:o+TU+KDOm004
  • 修改root密码 授权远程访问 设置开机自启动

  • 上传解压Hive安装包(node1安装即可)

    Hive 下载地址 :Index of /apache/hive

    解压:tar -zxf apache-hive-3.1.3-bin.tar.gz
    mv apache-hive-3.1.3-bin  /usr/local/apache-hive-3.1.3-bin
    cd /usr/local/apache-hive-3.1.3-bin/lib
    rm -f guava-19.0.jar
    cp /usr/local/hadoop-3.3.4/share/hadoop/common/lib/guava-27.0-jre.jar  ./
  • 修改配置文件

    1. hive-env.sh
    2. cd /usr/local/apache-hive-3.1.3-bin/conf/
    3. mv hive-env.sh.template hive-env.sh
    4. vim hive-env.sh
    5. 底部插入:
    6. export HADOOP_HOME=/usr/local/hadoop-3.3.4
    7. export HIVE_CONF_DIR=/usr/local/apache-hive-3.1.3-bin/conf
    8. export HIVE_AUX_JARS_PATH=/usr/local/apache-hive-3.1.3-bin/lib
    1. hive-site.sh
    2. <configuration>
    3. <!-- 存储元数据mysql相关配置-->
    4. <property>
    5. <name>javax.jdo.option.ConnectionURL</name>
    6. <value>jdbc:mysql://node1:3306/hive3?createDatabaseIfNotExist=true&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</value>
    7. </property>
    8. <property>
    9. <name>javax.jdo.option.ConnectionDriverName</name>
    10. <value>com.mysql.jdbc.Driver</value>
    11. </property>
    12. <property>
    13. <name>javax.jdo.option.ConnectionUserName</name>
    14. <value>root</value>
    15. </property>
    16. <property>
    17. <name>javax.jdo.option.ConnectionPassword</name>
    18. <value>111111</value>
    19. </property>
    20. <!-- H2S运行绑定host-->
    21. <property>
    22. <name>hive.server2.thrift.bind.host</name>
    23. <value>node1</value>
    24. </property>
    25. <!-- 远程模式部署metastore metastore地址-->
    26. <property>
    27. <name>hive.metastore.uris</name>
    28. <value>thrift://node1:9083</value>
    29. </property>
    30. <!-- 关闭元数据存储授权-->
    31. <property>
    32. <name>hive.metastore.event.db.notification.api.auth</name>
    33. <value>false</value>
    34. </property>
    35. </configuration>
  • 上传mysql jdbc驱动到hive安装包lib下

    1. Mysql驱动包下载 https://downloads.mysql.com/archives/c-j/
    2. 下载:
    3. mysql-connector-java-5.1.49.tar.gz

  • 初始化元数据

    1. cd /usr/local/apache-hive-3.1.3-bin/bin
    2. ./schematool -initSchema -dbType mysql -verbos
    3. #初始化成功会在mysql中创建74张表

  • 在hdfs创建hive存储目录

    1. hadoop fs -mkdir /tmp
    2. hadoop fs -mkdir -p /user/hive/warehouse
    3. hadoop fs -chmod g+w /tmp
    4. hadoop fs -chmod g+w /user/hive/warehouse

  • 启动hive

    1. 1.启动metastore服务
    2. #前台启动 关闭ctrl+c
    3. /usr/local/apache-hive-3.1.3-bin/bin/hive --service metastore
    4. #前台启动开启debug日志
    5. /usr/local/apache-hive-3.1.3-bin/bin/hive --service metastore --hiveconf hive.root.logger=DEBUG,console
    6. #后台启动 进程挂起 关闭使用jps+kill -9
    7. nohup /usr/local/apache-hive-3.1.3-bin/bin/hive --service metastore &
    8. 2.启动hiveserver2服务
    9. nohup /usr/local/apache-hive-3.1.3-bin/bin/hive --service hiveserver2 &
    10. #注意 启动hiveserver2需要一定时间 不要启动之后立即beeline连接 可能连接不上
    11. 3.beeline 客户端连接
    12. >拷贝node1安装包到beeline客户端机器上(node3
    13. scp -r /usr/local/apache-hive-3.1.3-bin/ root@node3:/usr/local/
    14. >连接访问
    15. /usr/local/apache-hive-3.1.3-bin/bin/beeline
    16. beeline> ! connect jdbc:hive2://node1:10000
    17. beeline> root
    18. beeline> 直接回车不要密码

三:Apache Hive 客户端使用

<1>Hive自带客户端

 

 

 

 

 

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

闽ICP备14008679号