zookeeper的配置:
zookeeper有三种配置方式:单机式/伪分布式/集群式
其中伪分布式是在一台电脑上通过不同的端口来模拟分布式情形,需要N份配置文件和启动程序,而集群式是多个zookeeper程序。
 
首先通过sftp等方式获取tar包,解压到指定的目录:/usr/local/java 下,生成目录zookeeper-3.3.6;
配置环境变量(注意路径后面千万不要有空格,路径之前,与等号之间也不要有空格。):
vi /etc/profile
#zk
ZOOKEEPER_HOME=/usr/local/java/zookeeper-3.3.6
export PATH="$PATH:$ZOOKEEPER_HOME/bin"
export ZOOKEEPER_HOME
cd /zookeeper-3.3.6/conf
touch zoo.cfg 或 mv zoo-sample.cfg zoo.cfg
vi zoo.cfg
插入如下的内容:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/java/zookeeper-3.3.6/data
dataLogDir=/usr/local/java/zookeeper-3.3.6/logs
clientPort=4180
server.3=192.168.204.3:2888:3888
server.4=192.168.204.4:2888:3888
server.5=192.168.204.5:2888:3888
--其中节点数量大于虚拟机数量,文件路径一定要存在,不存在后面要创建,路径后面不能有空格
完成配置:Esc -> :wq
cd .. 到根目录
mkdir logs
mkdir data
需要在data下面建立一个myid问价,内容为server的编号,一定是本机的server编号
touch myid
vi myid
插入
主机对应的server号
基本配置就是这样,之后我们在另外两台虚拟机上执行同样的配置,zoo.cfg基本不变,但是myid要根据本机的ip映射的server编号来。同样路径不能有空格
依次启动三台虚拟机的zookeeper,zkServer.sh start 记住启动第一个的时候,会报错找不到后面的两个,这个不要紧,都启动就好了。
通过bin下面的命令:zkServer.sh status 查看状态,启动成功后会有节点是leader还是follower的标识,表示启动成功了。
中间遇到了一些问题,主要是无法启动,启动之后不能通信,找不到文件等。原因有:myid丢失,bin没有配置到path里,配置的logs文件夹没有建立,zoo.cfg中路径有空格,防火墙阻止等。
本来已经运行成功了,但是第二天过来的时候,又出问题了。表现是:
zhServer.sh start 启动之后,显示STARTED,并且后台的进程也在运行中,依次启动zk。jps命令也能看到 QuorumPeerMain 进程。明明已经启动成功了
但是zkServer.sh status 命令查看,却又报错:Error contacting service. It is probably not running 。
查看了许多资料啊,什么改hosts,检查myid,检查文件夹是否建立,但是没有针对性地改来改去,始终没有结果。而iptables命令,也显示invalid(我以为已经关闭了)
总结一下:报错的开始,并没有认真看报错日志,主要是网上有博客说启动的时候报错是正常的,因为其他节点没有启动。所以就没有继续深入了,然后各种漫无目的的瞎碰......
报错如下
java.net.NoRouteToHostException: No route to host(没有到主机的路由)
之后检查网络,端口,hosts,iptables都没有用。
随后发现centos7的防火墙不再是iptables了,变成firewall。我之前不停地
service iptables stop 命令并没有用。
最后通过:
--------------------------------------------------------------
centos7.0(默认是使用firewall作为防火墙,如若未改为iptables防火墙,使用以下命令查看和关闭防火墙)
查看防火墙状态:firewall-cmd --state
关闭防火墙:systemctl stop firewalld.service
------------------------------------------------------------------
Ubuntu(ubuntu-12.04-desktop-amd64)
查看防火墙状态:ufw status
关闭防火墙:ufw disable
---------------------------------------------------------------
CentOS6.0
查看防火墙状态:service iptables status
关闭防火墙:chkconfig iptables off #开机不启动防火墙服务
关闭了防火墙,于是不报错了。很简单的设置,但是却无效率地磨蹭了很长时间。(百度居然还有说status命令有问题)
 
另外,为了防止下次再捣乱,选择禁止开机启动: systemctl disable firewalld.service 
命令敲完后:
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
这一步应该是从开机的加载项里去掉,实现禁止开机启动。如果以后有需要,再复制进去应该可以。
 
所以,依次启动zkServer.sh start 显示启动成功,然后zkServer.sh status 显示:
[root@tm4 bin]# zkServer.sh status
JMX enabled by default
Using config: /usr/local/java/zookeeper-3.3.6/bin/../conf/zoo.cfg
Mode: follower
[root@tm4 bin]# jps
2473 QuorumPeerMain
2661 Jps
即为成功。记住报错一定要围着zookeeper.out.
其他问题:
1.终端始终连不上其中一台虚拟机,我以为哪里配置地不对,删除又重新克隆,重新配置,但还是不行,后来换了一个终端程序就好了,真是日了狗的心情。
  无论是带UI还是不带UI的虚拟机命令行,都很难用。只有通过xShell工具来连接,可以很方便的编辑。
 
jstorm配置
  jstorm 环境变量:
vi /etc/profile
插入
#jstorm
export JSTORM_HOME=/usr/local/java/jstorm-0.9.6
export PATH=$PATH:$JSTORM_HOME/bin
jstorm配置文件:
  可 参考服务器上已配置好的文件,结合自己的集群,做一些修改即可。
   
########### These MUST be filled in for a storm configuration
storm.zookeeper.servers:
- "192.168.204.3"
- "192.168.204.4"
- "192.168.204.5"
storm.zookeeper.root: "/jstorm"
nimbus.host: "192.168.204.3"
# %JSTORM_HOME% is the jstorm home directory
storm.local.dir: "%JSTORM_HOME%/data" java.library.path: "/usr/local/java/jstorm-0.9.6/lib:/usr/local/lib:/opt/local/lib:/usr/lib"
supervisor.slots.ports:
- 6800
- 6801
- 6802
- 6803
# Default disable user-define classloader
# If there are jar conflict between jstorm and application,
# please enable it
topology.enable.classloader: false
# enable supervisor use cgroup to make resource isolation
# Before enable it, you should make sure:
# 1. Linux version (>= 2.6.18)
# 2. Have installed cgroup (check the file's existence:/proc/cgroups)
# 3. You should start your supervisor on root
# You can get more about cgroup:
# http://t.cn/8s7nexU
supervisor.enable.cgroup: false
### Netty will send multiple messages in one batch
### Setting true will improve throughput, but more latency
storm.messaging.netty.transfer.async.batch: true ### default worker memory size, unit is byte
worker.memory.size: 2147483648
# Metrics Monitor
# topology.performance.metrics: it is the switch flag for performance
# purpose. When it is disabled, the data of timer and histogram metrics
# will not be collected.
# topology.alimonitor.metrics.post: If it is disable, metrics data
# will only be printed to log. If it is enabled, the metrics data will be
# posted to alimonitor besides printing to log.
topology.performance.metrics: true
topology.alimonitor.metrics.post: false
ui.clusters:
- {
name: "jstorm",
zkRoot: "/jstorm",
zkServers:
[ "192.168.204.3","192.168.204.4","192.168.204.5"],
zkPort: 2181,
}
 
这里需要下载一下官方例子运行在UI 上,做测试,但是git却无法支持只clone其中example目录,这个正常的需求。简直失望
 
查看端口信息
netstat -ntulp |grep 80
 
ui.clusters:
- {
name: "jstorm",
zkRoot: "/jstorm",
zkServers:
[ "192.168.204.3","192.168.204.4","192.168.204.5"],
zkPort: 4180,
}
topology.backpressure.enable: true
supervisor.slots.ports.base: 6800
supervisor.slots.port.cpu.weight: 1.2
# supervisor.slots.port.cpu.weight: 0.5
supervisor.slots.port.mem.weight: 0.7
# supervisor.slots.port.mem.weight: 0.5
supervisor.slots.ports: null
 
 

附件列表

zookeeper+jstorm的集群搭建的更多相关文章

  1. 基于zookeeper的Swarm集群搭建

    简介 Swarm:docker原生的集群管理工具,将一组docker主机作为一个虚拟的docker主机来管理. 对客户端而言,Swarm集群就像是另一台普通的docker主机. Swarm集群中的每台 ...

  2. zookeeper及kafka集群搭建

    zookeeper及kafka集群搭建 1.有关zookeeper的介绍可参考:http://www.cnblogs.com/wuxl360/p/5817471.html 2.zookeeper安装 ...

  3. Zookeeper简介与集群搭建【转】

    Zookeeper简介 Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理.命名.分布式同步.集群管理.数据库切换等服务.它不适合用来存储大量信息,可以用来存储一些配置.发布与订阅等少 ...

  4. 【运维技术】Zookeeper单机以及集群搭建教程

    Zookeeper单机以及集群搭建教程 单机搭建 单机安装以及启动 安装zookeeper的前提是必须有java环境 # 选择目录进行下载安装 cd /app # 下载zk,可以去官方网站下载,自己上 ...

  5. 大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解

    引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单 ...

  6. zookeeper高可用集群搭建

    前提:已经在master01配置好hadoop:在各个slave节点配置好hadoop和zookeeper: (该文是将zookeeper配置在各slave节点上的,其实也可以配置在各master上, ...

  7. Zookeeper简介与集群搭建

    Zookeeper简介 Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理.命名.分布式同步.集群管理.数据库切换等服务.它不适合用来存储大量信息,可以用来存储一些配置.发布与订阅等少 ...

  8. HADOOP+SPARK+ZOOKEEPER+HBASE+HIVE集群搭建(转)

    原文地址:https://www.cnblogs.com/hanzhi/articles/8794984.html 目录 引言 目录 一环境选择 1集群机器安装图 2配置说明 3下载地址 二集群的相关 ...

  9. zookeeper 高可用集群搭建

    前言 记录Zookeeper集群搭建的过程! 什么是 Zookeeper ? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hado ...

随机推荐

  1. 理解autorelease

    如果你能够真正的理解autorelease,那么你才是理解了Objective c的内存管理.Autorelease实际上只是把对release的调用延迟了,对于每一个Autorelease,系统只是 ...

  2. LeetCode 372

    题目: Your task is to calculate a^b mod 1337 where a is a positive integer and b is an extremely large ...

  3. 【Jsoup网页解析】

    下载链接:http://jsoup.org/download 一.普通的请求方式(不带有cookie) 使用举例: 第一步: Connection conn=Jsoup.connect(url); 第 ...

  4. Jetty使用教程(四:28-30)—Jetty开发指南

    二十八.延续机制支持 28.1 延续简介 延续是一种机制用来实现类似于Servlet 3.0异步功能的异步Servlet,但提供了一个简单易操作的接口. 28.1.1 为什么使用异步Servlets ...

  5. 复制Eclipse工作空间设置

    将新建的workspace下的.metadata.plugins内容全部删除: 将原来的workspace下的.metadata.plugins内容除了org.eclipse.core.resourc ...

  6. POJ 1743 Musical Theme 二分+后缀数组

    Musical Theme   Description A musical melody is represented as a sequence of N (1<=N<=20000)no ...

  7. SQL性能学习汇总 00

    .在一条语句中不要重复使用相同的函数 .尽可能在存储过程中使用临时变量和临时表 如 IF (Object_ID('tempdb..#T') IS NOT NULL) DROP TABLE #T SEL ...

  8. MIT 6.828 JOS学习笔记3. Exercise 1.2

    这篇博文是对Lab 1中的Exercise 2的解答~ Lab 1 Exercise 2: 使用GDB的'si'命令,去追踪ROM BIOS几条指令,并且试图去猜测,它是在做什么.但是不需要把每个细节 ...

  9. 爱特梅尔ATMEL全系列芯片解密单片机破解

    爱特梅尔ATMEL全系列芯片解密单片机破解 ATMEL芯片介绍: ATMEL公司为全球性的业界领先企业,致力于设计和制造各类微控制器.电容式触摸解决方案.先进逻辑.混合信号.非易失性存储器和射频 (R ...

  10. mac系统下mysql开机启动总是3307

    修改了mysql的my.cnf可还是不行,启动后就是3307,必须关掉再启动. 觉得可能是mac系统在哪里写死了开机启动项. http://queforum.com/mysql/1012987-mys ...