欢迎投稿

今日深度:

hive( 一)--hive安装,

hive( 一)--hive安装,


一、简介
hive是基于hadoop的数据仓库工具,提供了类sql的查询语言,将sql语句转化为MapReduce进行执行。
这里介绍hive的安装。
二、安装步骤
1、准备
a、安装hadoop,并启动hdfs和MapReduce(hadoop的安装过程在此略过,详情请查看本博客hadoop安装);
b、安装mysql,并启动;
2、下载hive
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-3.1.0/apache-hive-3.1.0-bin.tar.gz
3、解压hive
tar -zxvf apache-hive-3.1.0-bin.tar.gz
4、生成hive的环境配置文件hive-env.sh
cp conf/hive-env.sh.template conf/hive-env.sh
5、修改hive-env.sh文件,添加hadoop路径
HADOOP_HOME=/home/china/programs/hadoop
6、生成hive的配置文件hive-site.xml
cp conf/hive-default.xml.template conf/hive-site.xml
7、修改hive-site.xml文件,配置hive的本地临时路径、hive连接mysql的配置参数(用于存储元数据库信息)、
hive在hdfs中的路径。

<!-- 配置system:user.name和system:java.io.tmpdir两个变量 -->
<property>
    <name>system:user.name</name>
    <value>china</value>
</property>
<property>
    <name>system:java.io.tmpdir</name>
    <value>/home/${system:user.name}/tmp/hive/</value>
</property>

<!-- mysql连接配置 -->
<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive_metadata?createDatabaseIfNotExist=true</value>
</property>
<property>
<property>
    <name>javax.jdo.option.ConnectionUserName</name>
   <value>root</value>
  </property>
<property>
    <name>javax.jdo.option.ConnectionPassword</name>
   <value>root</value>
  </property>
<property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
  </property>

<!--在hdfs中的路径  -->
<property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/user/hive/warehouse</value>
  </property>

8、在lib目录下添加mysql连接器jar包(mysql-connector-java-5.1.30.jar 请自行下载)
cp ~/Downloads/mysql-connector-java-5.1.30.jar lib/
9、初始化元数据库
bin/schematool -dbType mysql -initSchema
10、启动hive客户端
bin/hive
可加参数 -H 获取帮助,至此,hive安装完毕。
三、问题处理
问题一
问题:报 FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask 错误
分析:这是通常公共报错,具体错误还得查web端的日志,
查看web页面http://192.168.0.1:8088/proxy/application_1539939200327_0011/
Diagnostics: Container [pid=6874,containerID=container_1539939200327_0011_02_000001] is running beyond virtual memory limits. Current usage: 391.2 MB of 2 GB physical memory used; 4.4 GB of 4.2 GB virtual memory used. Killing container.
解决:
修改hadoop配置文件,vim hadoop/etc/hadoop/yarn-site.xml,添加配置

<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
    <description>Whether virtual memory limits will be enforced for containers</description>
</property>
<property>
    <name>yarn.nodemanager.vmem-pmem-ratio</name>
    <value>4</value>
    <description>Ratio between virtual memory to physical memory when setting memory limits for containers</description>
</property>

问题二
问题:仍然报FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
分析:同上,分析web端日志,发现
Container launch failed for container_1540094607627_0001_01_000005 : org.apache.hadoop.yarn.exceptions.InvalidAuxServiceException: The auxService:mapreduce_shuffle does not exist
解决:
修改hadoop配置文件vim hadoop/etc/hadoop/yarn-site.xml,添加配置

<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>

重启hadoop,hive即可,因此出现问题时,我们应该多看日志,从中发现错误信息。


 

www.htsjk.Com true http://www.htsjk.com/hive/29816.html NewsArticle hive( 一)--hive安装, 一、简介 hive是基于hadoop的数据仓库工具,提供了类sql的查询语言,将sql语句转化为MapReduce进行执行。 这里介绍hive的安装。 二、安装步骤 1、准备 a、安装hadoop,并...
相关文章
    暂无相关文章
评论暂时关闭