×

Samza 入门

Samza 你好Samza 下载Samza 功能预览

Samza 详细介绍

Samza 背景Samza 概念Samza 结构

Samza 与其他流处理项目比较

Samza 比较介绍Samza MUPD8Samza 与 StormSamza 与 Spark Streaming

Samza API

Samza API概述

Samza 核心

Samza ContainerSamza 流Samza 序列化Samza 定期检查Samza 状态管理Samza 窗口功能Samza 协调器流Samza 事件循环Samza 指标Samza JMX

Samza 作业部署

Samza JobRunnerSamza 配置Samza 打包Samza YARN工作Samza 记录Samza 再处理Samza Web UI和REST APISamza 分离框架和作业部署

Samza YARN

Samza Application MasterSamza YARN执行隔离Samza 主机关联和 YARNSamza YARN资源本地化Samza YARN安全Samza 写入HDFSSamza 从HDFS文件读取

Samza 相关操作

Samza 安全Samza Kafka自动创建主题

Samza REST服务

Samza REST服务概观Samza REST服务资源Samza REST服务监视器

Samza 附录

附录一 工作资源附录二 任务资源附录三 远程调试附录四 从HDFS部署Samza工作附录五 部署Samza Job到CDH附录六 在多节点YARN中运行附录七 在没有联网的情况下运行附录八 Samza REST入门附录九 Async API和多线程指南附录十 代码附录十一 Samza配置参考

在多节点YARN中运行Hello-samza


您必须通过遵循 hello-samza 教程,在单节点YARN中成功运行 hello-samza 项目。现在是时候在“真正的” YARN 网格(有多个节点)中运行 Samza 的工作。

设置多节点 YARN

如果您已经有多节点 YARN 集群(如 CDH5 集群),则可以跳过此设置部分。

基本YARN设置

1.将YARN 2.6下载到 / tmp 并解压缩。

cd /tmp
tar -xvf hadoop-2.6.1.tar.gz
cd hadoop-2.6.1

2.设置环境变量。

export HADOOP_YARN_HOME=$(pwd)
mkdir conf
export HADOOP_CONF_DIR=$HADOOP_YARN_HOME/conf

3.配置 YARN 设置文件。

cp ./etc/hadoop/yarn-site.xml conf
vi conf/yarn-site.xml

将以下属性添加到 yarn-site.xml 中:


    yarn.resourcemanager.hostname
    
    yourHostname

下载并添加 capacity-schedule.xml。

curl http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/resources/capacity-scheduler.xml?view=co > conf/capacity-scheduler.xml

为 YARN 设置 Http 文件系统

这些步骤的目标是配置 YARN 来读取 http 文件系统,因为我们将使用 Http 服务器部署 Samza 作业包。如果要使用 HDFS 部署 Samza 作业包,则可以跳过步骤4〜6,然后按照 从HDFS部署Samza作业

4.下载 Scala 包并解压缩。

cd /tmp
curl http://www.scala-lang.org/files/archive/scala-2.11.8.tgz > scala-2.11.8.tgz
tar -xvf scala-2.11.8.tgz

5.添加 Scala,其日志 jar 和 Samza 的 HttpFileSystem 实现。

cp /tmp/scala-2.11.8/lib/scala-compiler.jar $HADOOP_YARN_HOME/share/hadoop/hdfs/lib
cp /tmp/scala-2.11.8/lib/scala-library.jar $HADOOP_YARN_HOME/share/hadoop/hdfs/lib
curl -L http://search.maven.org/remotecontent?filepath=org/clapper/grizzled-slf4j_2.10/1.0.1/grizzled-slf4j_2.10-1.0.1.jar > $HADOOP_YARN_HOME/share/hadoop/hdfs/lib/grizzled-slf4j_2.10-1.0.1.jar
curl -L http://search.maven.org/remotecontent?filepath=org/apache/samza/samza-yarn_2.11/0.12.0/samza-yarn_2.11-0.12.0.jar > $HADOOP_YARN_HOME/share/hadoop/hdfs/lib/samza-yarn_2.11-0.12.0.jar
curl -L http://search.maven.org/remotecontent?filepath=org/apache/samza/samza-core_2.11/0.12.0/samza-core_2.11-0.12.0.jar > $HADOOP_YARN_HOME/share/hadoop/hdfs/lib/samza-core_2.11-0.12.0.jar

6.在 core-site.xml 中添加 http 配置(创建 core-site.xml 文件并添加内容)。

vi $HADOOP_YARN_HOME/conf/core-site.xml

添加以下代码:



    
      fs.http.impl
      org.apache.samza.util.hadoop.HttpFileSystem
    

将 Hadoop 文件分配给从站

7.基本上,您将主机中的 hadoop 文件复制到从机。(172.21.100.35,在我的情况下):

scp -r . 172.21.100.35:/tmp/hadoop-2.6.1
echo 172.21.100.35 > conf/slaves
sbin/start-yarn.sh
  • 如果您收到“172.21.100.35:错误:未设置 JAVA HOME”,则需要在配置失败的机器上添加 conf / hadoop-env.sh 文件(172.21.100.35,in这种情况),它具有“export JAVA HOME = / export / apps / jdk / JDK-1 8 0 45”(或者JAVA HOME实际上在哪里)。

8.通过访问 http:// yourHostname:8088 / cluster / nodes 验证您的节点是否已启动。

部署 Samza Job

以下步骤与您在 hello-samza中看到 的完全相同。如果您已经这样做,您可能会跳过它们。

1.下载Samza并将其发布到Maven本地存储库。

cd /tmp
git clone http://git-wip-us.apache.org/repos/asf/samza.git
cd samza
./gradlew clean publishToMavenLocal
cd ..

2.下载 hello-samza 项目并更改作业属性文件。

git clone git://github.com/linkedin/hello-samza.git
cd hello-samza
vi src/main/config/wikipedia-feed.properties

将 yarn.package.path 属性更改为:

yarn.package.path=http://yourHostname:8000/target/hello-samza-0.12.0-dist.tar.gz

编译 hello-samza。

mvn clean package
mkdir -p deploy/samza
tar -xvf ./target/hello-samza-0.12.0-dist.tar.gz -C deploy/samza

4.将 Samza 工作包部署到 Http 服务器..

打开一个新的终端,并运行:

cd /tmp/hello-samza && python -m SimpleHTTPServer

返回到原始终端(不是运行HTTP服务器的终端):

deploy/samza/bin/run-job.sh --config-factory=org.apache.samza.config.factories.PropertiesConfigFactory --config-path=file://$PWD/deploy/samza/config/wikipedia-feed.properties

转到 http:// yourHostname:8088,找到维基百科的工作。单击 ApplicationMaster 链接以查看它正在运行。

恭喜!你现在在一个“真正的”YARN网格中运行 Samza 的工作!


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)