推广 热搜: 公司  快速  上海  中国  未来    企业  政策  教师  系统 

大数据软件安装之Hive(查询)

   日期:2024-11-09     作者:xinet    caijiyuan   评论:0    移动:http://dfvalve.xrbh.cn/mobile/news/9621.html
核心提示:https://cwiki.apache.org/confluence/display/Hive/GettingStarted1)上传apache-hive-2.3.0-bin.tar.gz 到/opt/software目录下

https://cwiki.apache.org/confluence/display/Hive/GettingStarted

大数据软件安装之Hive(查询)

1)上传apache-hive-2.3.0-bin.tar.gz 到/opt/software目录下,并解压到/opt/module

2)修改apache-hive-2.3.6-bin名称为hive

3)将Mysql的mysql-connector-java-5.1.27-bin.jar拷贝到/opt/module/hive/lib/

4)在/opt/module/hive/conf路径上,创建hive-site.xml文件

添加如下内容

注意:hive安装在哪个服务器节点,thrift://hadoop102:9083中的主机名就更换为相应的主机名。

3)启动服务

注意:hive2.x版本需要启动两个服务metastore和hiveserver2,否则会报错Exception in thread "main" java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHivemetaStoreClient

4)服务启动完毕后在启动Hive

[test@hadoop102 hadoop-2.7.2]$ sbin/start-dfs.sh

[test@hadoop102 hadoop-2.7.2]$ sbin/start-yarn.sh

1)查看MySQL是否安装,如果安装了,卸载MySQL

(1)查看

(2)卸载

2)解压mysql-libs.zip文件到当前目录

3)进入到mysql-libs文件夹下

1)安装mysql服务端

2)查看产生的随机密码

3)查看mysql状态

4)启动mysql

1)安装mysql客户端

2)链接mysql

3)修改密码

4)退出mysql

配置只要是root用户+密码,在任何主机上都能登录MySQL数据库。

1)进入mysql

2)显示数据库

3)使用mysql数据库

4)展示mysql数据库中的所有表

5)展示user表的结构

6)查询user表

7)修改user表,把Host表内容修改为%

8)删除root用户的其他host

9)刷新

10)退出

Tez是一个Hive的运行引擎,性能优于MR。 

用Hive直接编写MR程序,假设有四个有依赖关系的MR作业,上图中,绿色是Reduce Task,云状表示写屏蔽,需要将中间结果持久化写到HDFS。

Tez可以将多个有依赖的作业转换为一个作业,这样只需写一次HDFS,且中间节点较少,从而大大提升作业的计算性能。

1)下载tez的依赖包:http://tez.apache.org

2)拷贝apache-tez-0.9.1-bin.tar.gz到hadoop102的/opt/software目录

[test@hadoop102 software]$ ls

apache-tez-0.9.1-bin.tar.gz

3)将apache-tez-0.9.1-bin.tar.gz上传到HDFS的/tez目录下。

[test@hadoop102 conf]$ hadoop fs -mkdir /tez

[test@hadoop102 conf]$ hadoop fs -put /opt/software/apache-tez-0.9.1-bin.tar.gz/ /tez

4)解压缩apache-tez-0.9.1-bin.tar.gz

[test@hadoop102 software]$ tar -zxvf apache-tez-0.9.1-bin.tar.gz -C /opt/module

5)修改名称

[test@hadoop102 module]$ mv apache-tez-0.9.1-bin/ tez-0.9.1

1)进入到Hive的配置目录:/opt/module/hive/conf

[test@hadoop102 conf]$ pwd

/opt/module/hive/conf

2)在Hive的/opt/module/hive/conf下面创建一个tez-site.xml文件

[test@hadoop102 conf]$ pwd

/opt/module/hive/conf

[test@hadoop102 conf]$ vim tez-site.xml

添加如下内容

<?xml version="1.0" encoding="UTF-8"?>

<?xml-stylesheet type="text/xsl" href="https://www.cnblogs.com/solomongold/p/configuration.xsl"?>

<configuration>

    <property>

        <name>tez.lib.uris</name>

        <value>${fs.defaultFS}/tez/apache-tez-0.9.1-bin.tar.gz</value>

    </property>

    <property>

         <name>tez.use.cluster.hadoop-libs</name>

         <value>true</value>

    </property>

    <property>

         <name>tez.history.logging.service.class</name>       

         <value>org.apache.tez.dag.history.logging.ats.ATSHistoryLoggingService</value>

    </property>

</configuration>

2)在hive-env.sh文件中添加tez环境变量配置和依赖包环境变量配置

[test@hadoop102 conf]$ mv hive-env.sh.template hive-env.sh

[test@hadoop102 conf]$ vim hive-env.sh

添加如下配置

# Set HADOOP_HOME to point to a specific hadoop install directory

export HADOOP_HOME=/opt/module/hadoop-2.7.2

 

# Hive Configuration Directory can be controlled by:

export HIVE_CONF_DIR=/opt/module/hive/conf

 

# Folder containing extra libraries required for hive compilation/execution can be controlled by:

export TEZ_HOME=/opt/module/tez-0.9.1    #是你的tez的解压目录

export TEZ_JARS=""

for jar in `ls $TEZ_HOME |grep jar`; do

    export TEZ_JARS=$TEZ_JARS:$TEZ_HOME/$jar

done

for jar in `ls $TEZ_HOME/lib`; do

    export TEZ_JARS=$TEZ_JARS:$TEZ_HOME/lib/$jar

done

 

export HIVE_AUX_JARS_PATH=/opt/module/hadoop-2.7.2/share/hadoop/common/hadoop-lzo-0.4.20.jar$TEZ_JARS

3)在hive-site.xml文件中添加如下配置,更改hive计算引擎

<property>

    <name>hive.execution.engine</name>

    <value>tez</value>

</property>

1)启动Hive

[test@hadoop102 hive]$ bin/hive

2)创建表

hive (default)> create table student(

id int,

name string);

3)向表中插入数据

hive (default)> insert into student values(1,"zhangsan");

4)如果没有报错就表示成功了

hive (default)> select * from student;

1       zhangsan

1)运行Tez时检查到用过多内存而被NodeManager杀死进程问题:

这种问题是从机上运行的Container试图使用过多的内存,而被NodeManager kill掉了。

2)解决方法:

(1)关掉虚拟内存检查,修改yarn-site.xml,

本文地址:http://dfvalve.xrbh.cn/news/9621.html    迅博思语资讯 http://dfvalve.xrbh.cn/ , 查看更多
 
标签: 软件
 
更多>同类行业资讯
0相关评论

新闻列表
企业新闻
推荐企业新闻
推荐图文
推荐行业资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号