samza是一个分布式的流式数据处理框架(streaming processing),它是基于Kafka消息队列来实现类实时的流式数据处理的。(准确的说,samza是通过模块化的形式来使用kafka的,因此可以构架在其他消息队列框架上,但出发点和默认实现是基于kafka)

Apache Kafka主要是用来控制发消息的

Apache Hadoop YARN会提供错误信息,隔离处理器,安全和资源管理.

本文将介绍怎么在 Ubuntu 14.04 的32 系统上安装Samza.

安装准备:

要安装和配置Apache-Samza,需要以下东西

JDK 1.7
maven2

kafka
yarn
zookeeper

  1. #  apt-get install curl gem

下载并设置JDK路径:

我们需要安装JDK并设置好其环境变量.

  1. # cd /usr/java
  2.  
  3. # wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-i586.tar.gz"
  4.  
  5. # tar xzf jdk-7u79-linux-i586.tar.gz

解压并设置好JAVA_HOME路径

  1. # tar -zxvf  jdk-7u79-linux-i586.tar.gz
  2. # JAVA_HOME=/usr/java/jdk1.7.0_79
  3. # export JAVA_HOME
  4. # PATH=$JAVA_HOME/bin:$PATH
  5. # export PATH

把上面的加入到 ~/.bashrc 和 /etc/bashrc文件去

安装Maven2:

接下来下载安装maven

  1. #  wget https://launchpad.net/~bneijt/+archive/ubuntu/ppa/+build/2139203/+files/maven3_3.0.1-0~ppa2_all.deb
  1. # dpkg -i maven3_3.0.1-0~ppa2_all.deb

检查maven版本好

  1. # mvn3 -version
Apache Maven 3.0.1 (r1038046; 2010-11-23 16:28:32+0530)
Java version: 1.7.0_79
Java home: /usr/java/jdk1.7.0_79/jre
Default locale: en_IN, platform encoding: UTF-8
OS name: "linux" version: "3.8.0-29-generic" arch: "i386" Family: "unix"

安装Hello-Samza : 

我们就按照在 /usr/local 文件夹下面把

  1. # cd /usr/local

把hello-samza复制进来,

  1. # git clone git://git.apache.org/samza-hello-samza.git hello-samza

本项目中含有一个"grid"的脚本,其中有hello-samza变量,有了这个你可以搞定一切了. 使用它可以安装 Kafka, Yarn和Zookeeper.

执行下面的命令,

  1. # cd /usr/local/hello-samza
  1. root@dev:/usr/local/hello-samza# bin/grid install kafka
EXECUTING: install kafka
Downloading kafka_2.10-0.8.2.1.tgz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
 15 15.4M   15 2406k    0     0   304k      0  0:00:51  0:00:07  0:00:44  443k
  1. root@dev:/usr/local/hello-samza# bin/grid install yarn
EXECUTING: install yarn
Downloading hadoop-2.6.1.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
 77  187M   77  145M    0     0   239k      0  0:13:23  0:10:22  0:03:01  204k
  1. root@dev:/usr/local/hello-samza# bin/grid install zookeeper
EXECUTING: install zookeeper
Downloading zookeeper-3.4.3.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  8 15.4M    8 1324k    0     0   212k      0  0:01:14  0:00:06  0:01:08  266k

现在你会发现所有的包都在hello-samza根目录下面的一个名字叫 “deploy”文件夹里面.

  1. root@dev:/usr/local/hello-samza# cd deploy
  2. root@dev:/usr/local/hello-samza/deploy# ls 
kafka  yarn  zookeeper

执行bin/grid bootstrap命令

  1. root@dev:/usr/local/hello-samza# bin/grid bootstrap 
Download http://repo1.maven.org/maven2/org/fusesource/scalate/scalate-util_2.10/1.6.1/scalate-util_2.10-1.6.1.jar
:samza-yarn_2.10:processResources
:samza-yarn_2.10:classes
:samza-yarn_2.10:lesscss
....
....
BUILD SUCCESSFUL

Total time: 20 mins 32.855 secs
/usr/local/hello-samza
EXECUTING: install zookeeper
Using previously downloaded file /root/.samza/download/zookeeper-3.4.3.tar.gz
EXECUTING: install yarn
Using previously downloaded file /root/.samza/download/hadoop-2.6.1.tar.gz
EXECUTING: install kafka
Using previously downloaded file /root/.samza/download/kafka_2.10-0.8.2.1.tgz
EXECUTING: start zookeeper
JMX enabled by default
Using config: /usr/local/hello-samza/deploy/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
EXECUTING: start yarn
starting resourcemanager, logging to /usr/local/hello-samza/deploy/yarn/logs/yarn-root-resourcemanager-dev.out
starting nodemanager, logging to /usr/local/hello-samza/deploy/yarn/logs/yarn-root-nodemanager-dev.out
EXECUTING: start kafka
 

上面的grid执行完后,你就可以验证YARN是否安装好了并在运行,访问URL http://localhost:8088. 看到的就是YARN UI界面.

Build一个Samza工作包:

你需要build下这个包,YARN就是通过这个包来执行grid的.

注: 比如你build的是hello-samza项目的最新版的话,记得首先执行下下面的命令。

  1. root@dev:/usr/local/hello-samza#./gradlew publishToMavenLocal 

你可以在hello-samza项目中使用这些命令:

  1. root@dev:/usr/local/hello-samza# mvn clean package
  2. root@dev:/usr/local/hello-samza# mkdir -p deploy/samza
  3. root@dev:/usr/local/hello-samza# tar -xvf ./target/hello-samza-0.10.0-dist.tar.gz -C deploy/samza

执行Samza任务:

完成build Samza包之后,你就可以在grid使用t run-job.sh 脚本来完成一些任务了

  1. root@dev:/usr/local/hello-samza # deploy/samza/bin/run-job.sh --config-factory=org.apache.samza.config.factories.PropertiesConfigFactory --config-path=file://$PWD/deploy/samza/config/wikipedia-feed.properties 

上面的这个任务将会从Wikipedia上把实施反馈编辑撤销掉,会把这些编辑放到一个叫thelinuxfaq-raw”的主题里面去.

让这个主题运行几分钟后,你再来看下Kafka 最后面的更新情况:

  1. root@dev:/usr/local/hello-samza#  deploy/kafka/bin/kafka-console-consumer.sh  --zookeeper localhost:2181 --topic thelinuxfaq-raw

再次访问YARN UI界面(http://localhost:8088). 你就看到Samza很正常的运行而不是有错误提示了!

关闭Samza:

一切都弄好了,你就可以使用grid脚本关闭所有的相关服务器了.

  1. root@dev:/usr/local/hello-samza #  bin/grid stop all 

输出示例:

  1. EXECUTING: stop all
  2. EXECUTING: stop kafka
  3. EXECUTING: stop yarn
  4. stopping resourcemanager
  5. stopping nodemanager
  6. EXECUTING: stop zookeeper
  7. JMX enabled by default
  8. Using config: /usr/local/hello-samza/deploy/zookeeper/bin/../conf/zoo.cfg
  9. Stopping zookeeper ... STOPPED

启动Samza :

同意的,你可以使用grid脚本来启动所有服务,

  1. root@dev:/usr/local/hello-samza #  bin/grid start all 

输出示例:

  1. EXECUTING: start all
  2. EXECUTING: start zookeeper
  3. JMX enabled by default
  4. Using config: /usr/local/hello-samza/deploy/zookeeper/bin/../conf/zoo.cfg
  5. Starting zookeeper ... STARTED
  6. EXECUTING: start yarn
  7. ....
  8. EXECUTING: start kafka

在Linux上怎么安装和配置Apache Samza的更多相关文章

  1. java环境--JDK和Tomcat在linux上的安装和配置

    Tomcat在Linux上的安装与配置 以下使用的Linux版本为: Redhat Enterprise Linux 7.0 x86_64,Tomcat版本为tomcat-7.0.54.1.下载JDK ...

  2. Nginx 在 Linux 上的安装和配置

    一.Nginx的安装 1.单台Nginx的安装 Nginx在Linux上的安装可以参考这篇博客:http://blog.csdn.net/molingduzun123/article/details/ ...

  3. nginx在linux上的安装与配置详解(一)

    Nginx的安装与配置详解 (1)nginx简介     nginx概念: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like ...

  4. Tomcat在Linux上的安装与配置

    以下使用的Linux版本为: Redhat Enterprise Linux 6.5 x86_64,Tomcat版本为tomcat-7.0.54. 1.下载JDK与Tomcat.    jdk下载地址 ...

  5. LINUX 上源代码安装与配置samba服务,支持从windows上读写LINUX文件。

    ###动机###在windows编写代码文件比较方便,因为有source insight.但是需要在LINUX上编译.一种办法就是使用samba文件共享. [1] 下载samba代码.按照config ...

  6. Tomcat与jdk在Linux上的安装与配置

    本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加). QQ群:   281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027&k=29Lo ...

  7. 在Linux上怎么安装和配置DenyHosts工具

    使用DenyHosts能够进行自动屏ip的功能,掌握DenyHosts在Linux系统中的安装是很有必要的,那么在Linux系统中要如何安装DenyHosts工具呢?安装后又要如何配置呢?这都是用户需 ...

  8. Tomcat 在 Linux 上的安装和配置

    一.文件上传 先上传tomcat安装文件到Linux服务器 二.解压安装 使用以下命令解压安装包 .tar.gz 解压成功会生成一个文件夹 tomcat服务器运行时是需要JDK支持的,所以必须先安装好 ...

  9. linux系统下安装与配置apache

    搭建环境:VMware上虚拟的linux 主机:win  7 安装linux下的Apache前准备: 1.httpd服务的配置文件,默认存储路径:/etc/httpd/conf/httpd.conf( ...

随机推荐

  1. nav

    $(document).ready(function() { $(window).resize(function(){ var need=0; var ul_max_width = $(window) ...

  2. 我和CPP的第二次约会

    1.变量之间的运算形式依赖于变量的数据类型,如i = i + j;当 i 和 j 是整型或者浮点型,则代表两个数的相加,如果是第一章所说的Sales_item类型,那么就是这两个变量的成分相加(如果书 ...

  3. HDU 1995

    Problem Description 用1,2,...,n表示n个盘子,称为1号盘,2号盘,....号数大盘子就大.经典的汉诺塔问题经常作为一个递归的经典例题存在.可能有人并不知道汉诺塔问题的典故. ...

  4. STM32 枚举类型和结构体的使用

    结构体就是一个可以包含不同数据类型的一个结构,它是一种可以自己定义的数据类型.        首先结构体可以在一个结构中声明不同的数据类型.        第二相同结构的结构体变量是可以相互赋值的,而 ...

  5. 剖析并利用Visual Studio Code在Mac上编译、调试c#程序【转】

    0x00 前言 一周多以前的微软的Build大会上,微软发布了一个让很多人眼前一亮的工具,也是本文的主角——Visual Studio Code.很多使用Windows的朋友都很高兴,认为又多了一个很 ...

  6. CVE-2015-1635,MS15-034 漏洞测试

    HTTP.sys远程执行代码漏洞(CVE-2015-1635,MS15-034) 远程执行代码漏洞存在于 HTTP 协议堆栈 (HTTP.sys) 中,当 HTTP.sys 未正确分析经特殊设计的 H ...

  7. [BZOJ 1068] [SCOI2007] 压缩 【记忆化搜索】

    题目链接:BZOJ - 1068 题目分析 这种记忆化搜索(区间 DP) 之前就做过类似的,也是字符串压缩问题,不过这道题稍微复杂一些. 需要注意如果某一段是 S1S1 重复,那么可以变成 M + S ...

  8. MIT教授将网页开发整合为完整独立的程式语言Ur/Web

    MIT 的软体技术教授 Adam Chlipala 设计了新的 Ur/Web 程式语言,这是一个整合 HTML.CSS.XML.SQL 及 JavaScript 等网路标准的“完整独立”语言,强调快速 ...

  9. codeforces C. Inna and Huge Candy Matrix

    http://codeforces.com/problemset/problem/400/C 题意:给你一个n*m的矩阵,然后在矩阵中有p个糖果,给你每个糖果的初始位置,然后经过x次顺时针反转,y次旋 ...

  10. WebService引擎Axis2完美教程

    1.http://wenku.baidu.com/link?url=O05r69TGaLmrJrjJqGz-5EASox8FhhUO6i97xoUOV2dcbh8BEnOlX2EN3nuYGE_3HE ...