samza系统的分布式部署
来源:互联网 发布:java求100到200的素数 编辑:程序博客网 时间:2024/05/17 22:50
1.安装环境
系统环境分为开发环境和生产环境,开发环境下的一些工具在生产环境下不必须安装,会以“(开发环境)”注明。
操作系统: Ubuntu 14.04 LTS – 64bit
Java版本: java-7-openjdk-amd64
Maven版本:Apache Maven 3.0.5 (开发环境)
Samza系统:samza-0.10
Samza系统集成于hello-samza,由公司内相关开发人员提供,通常由hello-samza-YYYYMMDD.tar.gz 和m2-YYMMDD.tar.gz两个tar包。其中包m2内的文件为Samza工程编译时依赖相关的jar包。
Java和Maven可以通过Ubuntu源中下载:
Java :
$ sudo apt-get install openjdk-7-jdk
Maven:
$ sudo apt-get install maven
注意:maven版本3.0以下的用mvn编译工程时会出问题。
2.配置环境
配置主机别名文件/etc/hosts
配置主服务器和从服务器的Ip和主机名称,以便在samza各系统配置中全局使用该Ip配置。图例如下:
$ sudo vim /etc/hosts
127.0.1.1对应的名称为系统samza系统对应用户名,samza内部系统yarn的job运行时需要使用该配置,建议每台主机使用相同的用户名,如示例中的ubuntu。Master为samza系统配置的主机,Slave1为从机。
配置ssh秘钥登录(免密码登录)
于分布式的samza多台主机之间需要相互远程访问,需在各主机上开放ssh密钥登录权限。对于ssh目录所有者,开发环境大多为ubuntu用户, 生产环境大多为root用户组,两者配置实现有以下区别:
当ssh目录权限所有者为ubuntu用户时:
$ ssh localhost $ ssh-keygen -t rsa -P "" $ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
第一条生成ssh密码的命令,-t 参数表示生成算法,有rsa和dsa两种;-P表示使用的密码,这里使用“”空字符串表示无密码。
第二条命令将生成的密钥写入authorized_keys文件。
这时输入 ssh localhost,弹出写入提示后回车,便可无密码登录本机。同理,将authorized_keys文件 通过 scp命令拷贝到其它主机相同目录下,则可无密码登录其它机器。
当ssh目录权限所有者为root用户时: 以sudo生成rsa秘钥,并指定在ubuntu的.ssh目录下
$ sudo ssh-keygen –t rsa –P ""
Input: /home/ubuntu/.ssh/ id_rsa
$cd /home/ubuntu/.ssh
创建.ssh/known_hosts, id_rsa和id_rsa.pub文件并将其所有者设置为ubuntu
$ sudo vim known_hosts $ sudo chown ubuntu:ubuntu known_hosts id_rsa id_rsa.pub
将id_rsa.pub的公钥内容,添加到authorized_keys的文件的末尾 示例如下:
配置JAVA_HOME
找到Jdk安装的目录,由ubuntu源安装的java目录为“/usr/lib/jvm/java-7-openjdk- amd64”。
在/etc/profile文件最后添加
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 export CLASSPATH=.:$JAVA_HOME/lib
之后刷新环境变量
$ . /etc/profile
在/etc/environment文件最后添加
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
之后刷新环境变量
$ . /etc/environment
3.部署Samza
各主机解压项目包
将hello-samza-*.tar.gz和m2-*.tar.gz文件拷贝到各主机的samza系统用户的目录下,并分别执行
$ tar –xzvf hello-samza-*.tar.gz $ tar –xzvf m2-*.tar.gz (开发环境)
在各主机上创建/var/samza目录和并授权给samza的系统用户,例如:
$ sudo mkdir /var/samza /home/ubuntu/.samza $ sudo chown –R ubuntu:ubuntu /var/samza .samza $ sudo mkdir .samza/conf $ cp /home/ubuntu/hello-samza/deploy/yarn/etc/hadoop/yarn-site.xml /home/ubuntu/.samza/conf
该目录为samza中zookeeper,yarn和kafka模块在配置的目录,因具体配置而异。
配置主服务器中的从服务器ID
进入yarn目录,修改其中的slaves,内容为/etc/hosts中对应的从服务器名称,例如
$ cd hello-samza/deploy/yarn/etc/hadoop/slaves $ vim slaves
首次部署时,需要fomat hdfs
bin/hdfs namenode -format
一键启动与关闭
在主机执行下面命令:
$ cd hello-samza $ bin/grid start all
将依次启动zookeeper, yarn和kafka,其中yarn包括hdfs, resourcemanager和nodemanager并启动从机的yarn。
在主机执行下面命令:
$ bin/grid stop all
将关闭启动的zookeeper, yarn和kafka,结束运行中的yarn Jobs。
- samza系统的分布式部署
- samza系统的配置解析
- 分布式系统之部署
- Redhat5.4 系统上部署 MooseFS分布式文件系统的部署
- 部署Zipkin分布式性能追踪日志系统的操作记录
- scgi的分布式部署
- RLS的分布式部署
- kafka的分布式部署
- 最火爆的开源流式系统Storm vs 新星Samza
- 最火爆的开源流式系统Storm vs 新星Samza .
- 最火爆的开源流式系统Storm vs 新星Samza
- 最火爆的开源流式系统Storm vs 新星Samza
- 设计分布式系统以进行部署
- 设计分布式系统以进行部署
- .NET企业服务开发分布式系统--部署
- 分布式系统与集群部署区别
- 淘宝MySQL分布式处理系统Cobar部署
- Grafana + Zabbix --- 部署分布式监控系统
- MySQL学习总结2
- docker私有仓库构建
- java I/O系统(9)-对象序列化与还原
- C++中的“信号和槽”机制,sigslot.h
- 函数名地址、函数名取地址、函数名解引用问题
- samza系统的分布式部署
- MySQL中decimal与float的区别
- 反向代理
- windows cmd或批处理命令中不支持空格的解决办法
- CSDN怎么转载别人的博客
- android 加载本地所有视频时,显示其第一帧出现的卡顿问题
- 收集的很好玩的js前端漂浮鼠标跟随
- bzoj256最小生成树
- 基于DragonBoard 410c的遥控炮台八之控制协议优化(下)