现有 java web程序,如何去连接hadoop?

现有 java web程序,如何去连接hadoop?,第1张

看哗念吵你用什么版本的hadoop,高裤推荐使用cdh版的

jar包导入web工程

调用HBase接乱侍口

如:

hbaseConfig = new Configuration()

conf = HBaseConfiguration.create(hbaseConfig)

admin = new HBaseAdmin(conf)

this.setTableName(tableName)

其实,你弄错了hadoop的真正意图。首先,hadoop不适合于开发WEB程序。hadoop的优势在于大规模的分布式数据处理。负责数据的分键局拆析并采用分布式数据库(hbase)来存储。但是,hadoop有个特点是,所有的数据处理作业都是批处理的,也就是说hadoop在实时性上是不占优势的。对于WEB应用来说,你也许可以做的是,将系统的数据处理部分稿枣分离出来交腊纳给hadoop去做。关于hadoop的数据处理有一个专门的工具:hive。hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为 MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。 希望对你有帮助

hadoop适合处理分布式集群系统,本身是支持高速并发海量数据的写入和读取的。解决大量用户并发访问的方案有很多,给你个千万pv的参考方案:

1)架构中直接引入软件名称的模块,是个人推荐使用的,如Haproxy、Hadoop等;

2)关于全局负载均衡,看成本投入情况,可以使用商业的产品,如F5-GTM,开源方案便是自搭智能DNS;

3)本地负载均衡方案,可以考虑F5-LTM或成熟的开源解决方案LVS;

4)代理层为什么推荐大家使用Haproxy?Haproxy是一个非常优秀的反向代理软件,十分高效、稳定。国内top 10的互联网公司都有在使高逗用;

5)缓存层可以使用Squid或Varnish,个人更倾向Varnish。配置灵活、运行稳定,提供非常便利的管理接口。为啥在缓存层前面加一层代理?优点非常多,列举如下:

根据应用配置URI路由规则,集中热点来提高后端缓存的命中率;

轻松划分网站频道、版块,更好对应用进步组织、规划;

对URI进行一般性安全过滤,抵御注入攻击;

d性调配硬件资源,应对突发事件产生大流量;

可回收宝贵的公网IP资源;

6)应用层开源技术方案非常多且成熟,在此不详细描述;

7)数据库层主流开源解决方案Mysql是首选,主从复制(一主对多从)是目前比较靠谱的模式;

8)关于Nosql,戚纤卖应用场景不多说,可参考“给部门做的Mongodb技术交流PPT”文章,竖瞎redis、memcached等作为热点数据存储、数据库缓存都非常理想;

9)内网DNS扮演的角色非常重要,一定要消灭code中出现的内网IP地址,很大程度减少因IP变更、服务器故障而修改源码的情况,同时也便于维护;

10)内网LB适用在内部WEB接口、多台数据库Slave、多台Nosql Slave、公共服务等应用的负载均衡,可以使用LVS、Haproxy来实现,可用性要求不高的应用可行直接使用Localhost DNS轮询;

11)hadoop适合海量数据的存储与处理,如做网站日志分析、用户数据挖掘等;

12)管理集群,平台的核心,运维的阵地;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12421962.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存