hadoop大数据平台部署坑点总结

最近学习大数据,需要在linux服务器上部署完全分布式的hadoop+hive+hbase系统,先简单介绍一下(引自百度百科):

Hadoop是一个分布式系统基础架构。它实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。提供高吞吐量(high throughput)来访问应用程序的数据,非常适合那些有着超大数据集(large data set)的应用程序。它的核心设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算 。

hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。Hive的优点是学习成本低,可以通过类似SQL语句实现快速MapReduce统计,使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序。hive十分适合对数据仓库进行统计分析。

HBase是一个分布式的、面向列的开源数据库,HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。

hadoop系列框架的部署主要参考了厦大林子雨的大数据教程,按照他的教程几乎不会遇到什么问题就能完成部署。详情参考->林子雨大数据部署教程。

但也有一些问题,在自己搭建环境时要注意的:

1. hadoop完全分布式部署完成以后,并没有提供远程访问功能,因此当通过python远程访问hadoop,上传数据到hive中时。会在python控制台,遇到以下问题:

        hadoop is not allowed to impersonate hadoop

此时需要修改hadoop的配置文件:core-site.xml。添加如下字段即可。


  hadoop.proxyuser.hadoop.hosts
  *


  hadoop.proxyuser.hadoop.groups
 *


这两行设置了hadoop的代理用户和组,*表示通配,不用管具体的用户名和组名。设置完毕后访问成功。

hadoop大数据平台部署坑点总结_第1张图片

 

2.使用python远程访问hive上传数据时,提示

“WARN: Establishing SSL connection without server’s identity verification is not recommended.”

意思是:不建议不使用服务器身份验证建立SSL连接。产生的原因是使用JDBC连接MySQL服务器时没有设置useSSL的参数。不处理的话,会一直产生警告,输出很多无用的信息

此时需要修改hive的配置文件:hive/conf/hive-site.xml,修改后的字段如下:


    javax.jdo.option.ConnectionURL
    jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&useSSL=false
    JDBC connect string for a JDBC metastore
  

相比于林子雨教程的配置,添加了字段useSSL=false,其中“&”在xml文件中表示含义“&”。

文章参考:https://blog.csdn.net/weixin_34417183/article/details/91438273

                   https://blog.csdn.net/weixin_43643900/article/details/106880571

你可能感兴趣的:(hadoop,大数据,hadoop,hive)