hadoop的pig与zookeeper总结

更新时间:2024-06-11 13:55:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

北大青鸟中关村

hadoop的pig与zookeeper总结

1.安装Pig 将pig添加到环境变量当中 2.pig使用 首先将数据库中的数据导入到HDFS上 sqoop import --connect jdbc:mysql://192.168.1.10:3306/itcast --username root --password 123 --table trade_detail --target-dir '/sqoop/td' sqoop import --connect jdbc:mysql://192.168.1.10:3306/itcast --username root --password 123 --table user_info --target-dir '/sqoop/ui' td = load '/sqoop/td' using PigStorage(',') as (id:long, account:chararray, income:double, expenses:double, time:chararray); ui = load '/sqoop/ui' using PigStorage(',') as (id:long, account:chararray, name:chararray, age:int); td1 = foreach td generate account, income, expenses, income-expenses as surplus; td2 = group td1 by account; td3 = foreach td2 generate group as account, SUM(td1.income) as income, SUM(td1.expenses) as expenses, SUM(td1.surplus) as surplus; tu = join td3 by account, ui by account; result = foreach tu generate td3::account as account, ui::name, td3::income, td3::expenses, td3::surplus; store result into '/result' using PigStorage(',');

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

ZooKeeper包含一个简单的原语集,[1] 提供Java和C的接口。

ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.3\\src\\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。(概述图片来源:[2] )

在Zookeeper中,znode是一个跟Unix文件系统路径相似的节点,可以往这个节点存储或获取数据。如果在创建znode时Flag设置为EPHEMERAL,那么当创建这个znode的节点和Zookeeper失去连接后,这个znode将不再存在在

Zookeeper里,Zookeeper使用Watcher察觉事件信息。当客户端接收到事件信息,比如连接超时、节点数据改变、子节点改变,可以调用相应的行为来处理数据。Zookeeper的Wiki页面展示了如何使用Zookeeper来处理事件通知,队列,优先队列,锁,共享锁,可撤销的共享锁,两阶段提交。

那么Zookeeper能做什么事情呢,简单的例子:假设我们有20个搜索引擎的服务器(每个负责总索引中的一部分的搜索任务)和一个总服务器(负责向这20个搜索引擎的服务器发出搜索请求并合并结果集),一个备用的总服务器(负责当总

北大青鸟中关村

服务器宕机时替换总服务器),一个web的cgi(向总服务器发出搜索请求)。搜索引擎的服务器中的15个服务器提供搜索服务,5个服务器正在生成索引。这20个搜索引擎的服务器经常要让正在提供搜索服务的服务器停止提供服务开始生成索引,或生成索引的服务器已经把索引生成完成可以提供搜索服务了。使用Zookeeper可以保证总服务器自动感知有多少提供搜索引擎的服务器并向这些服务器发出搜索请求,当总服务器宕机时自动启用备用的总服务器。[4]

1.上传zk安装包 2.解压

3.配置(先在一台节点上配置) 3.1添加一个zoo.cfg配置文件 $ZOOKEEPER/conf mv zoo_sample.cfg zoo.cfg

3.2修改配置文件(zoo.cfg) dataDir=/itcast/zookeeper-3.4.5/data server.5=itcast05:2888:3888 server.6=itcast06:2888:3888 server.7=itcast07:2888:3888 3.3在(dataDir=/itcast/zookeeper-3.4.5/data)创建一个myid文件,里面内容是server.N中的N(server.2里面内容为2) echo \ 3.4将配置好的zk拷贝到其他节点 scp -r /itcast/zookeeper-3.4.5/ itcast06:/itcast/ scp -r /itcast/zookeeper-3.4.5/ itcast07:/itcast/ 3.5注意:在其他节点上一定要修改myid的内容 在itcast06应该讲myid的内容改为6 (echo \) 在itcast07应该讲myid的内容改为7 (echo \) 4.启动集群 分别启动zk ./zkServer.sh start

本文来源:https://www.bwwdw.com/article/inr6.html

Top