配置jdk8

假设安装(解压)路径:jdk1.8.0

修改/etc/profile,增加以下设置并保存

Export JAVA_HOME=jdk1.8.0

Export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

Export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH

命令行中执行source /etc/profile

Zookeeper centos7 虚拟机群部署

假设目录结构为

/opt/zookeeper/ #zookeeper存放目录

/opt/zkdata#快照日志的存储路径

/opt/zklog#事物日志的存储路径

1.1 在每台机器上修改配置文件

1)进入/opt/zookeeper/conf建立配置文件并修改

cp zoo_sample.cfg zoo.cfg

vim zoo.cfg

修改内容如下:

tickTime=2000

#这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。

initLimit=10

#这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper 服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 5个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10 秒

syncLimit=5

#这个配置项标识 Leader 与Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是5*2000=10秒

dataDir=/opt/zkdata

#快照日志的存储路径

dataLogDir=/opt/zklog

#事物日志的存储路径,如果不配置这个那么事物日志会默认存储到dataDir制定的目录,这样会严重影响zk的性能,当zk吞吐量较大的时候,产生的事物日志、快照日志太多

clientPort=12181

#这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。修改他的端口改大点

server.1=192.168.7.100:12888:13888

server.2=192.168.7.101:12888:13888

server.3=192.168.7.107:12888:13888

#server.1 这个1是服务器的标识也可以是其他的数字, 表示这个是第几号服务器,用来标识服务器,这个标识要写到快照目录下面myid文件里

#192.168.7.107为集群里的IP地址,第一个端口是master和slave之间的通信端口,默认是2888,第二个端口是leader选举的端口,集群刚启动的时候选举或者leader挂掉之后进行新的选举的端口默认是3888

2)在每台机器创建myid文件

#server1

echo "1" > /opt/zookeeper/zkdata/myid

#Echo “ ”中的整数要与zoo.cfg文件中server. 后面的数字相同

3)启动zookeeper

/opt/zookeeper/bin/zkServer.sh start

4)查看服务状态

/opt/zookeeper/bin/zkServer.sh status

正常应显示如下信息:

JMX enabled by default

Using config: /opt/zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg  #配置文件

Mode: follower  #是否为领导

1.2 Zookeeper常见启动错误排查

排查方法:启动时打开日志./zkServer.sh start-foreground并观察

常见原因及解决方法:

1)zookeeper配置错误

检查各项配置即可,例如路径、端口号等

2)检查是否存在myid文件,内容是否正确

3)出现“no route to host”

关闭防火墙即可:systemctl stop firewalld.service

systemctl disable firewalld.service

4)bindException

查看端口占用

Lsof -i:12181#zoo.cfg中的clientPort

若有其他程序占用则考虑终止该进程

Kill -9 PID

常用命令:

Uname -a 查看位数

Cat /etc/os-release 查看系统版本

Kafka分布式部署

下载kafka二进制包并解压,假设解压路径:kafka

注意:zookeeper-server与kafka-server的启动需root用户权限

1)修改kafka配置

vim kafka/config/server.properties

修改内容如下:

broker.id=1 # 每台服务器的broker.id都不能相同

#hostname

host.name=192.168.7.100

#在log.retention.hours=168 下面新增下面三项

message.max.byte=5242880

default.replication.factor=2

replica.fetch.max.bytes=5242880

#设置zookeeper的连接端口

zookeeper.connect=192.168.7.100:12181,192.168.7.101:12181,192.168.7.107:12181

2)在每台机器上启动kafka

Kafka/bin/kafka-server-start.sh kafka/config/server.properties

利用Jps检查kafka服务是否启动

3)创建、发布、订阅消息

a)创建Topic

kafka/bin/kafka-topics.sh --create --zookeeper  IP:12181 --replication-factor 2 --partitions 1 --topic testtopic

b)创建一个发布者

kafka/bin/kafka-console-producer.sh  --broker-list  IP:9092  --topic testtopic

c)创建一个订阅者

bin/kafka-console-consumer.sh  --bootstrap-server IP:9092  --from-beginning  --topic testtopic

Centos 虚拟集群网络配置

(1)首先查看网卡设备是否为eth0,若不是转至步骤2,否则转至步骤4

ifconfig -a

(2)修改网卡配置

vim /etc/sysconfig/grub

找到“GRUB_CMDLINE_LINUX”,增加net.ifnames=0 biosdevname=0并保存

(3)执行grub2-mkconfig -o /boot/grub2/grub.cfg

(4)更改/etc/sysconfig/network-scripts/目录下的ifcfg-eno16777736为ifcfg-eth0,并修改里面

内容。如下:

  1. DEVICE=eth0
  2. BOOTPROTO=static
  3. IPADDR=192.168.17.100
  4. NETMASK=255.255.255.0
  5. HWADDR=00:0C:29:9C:48:B4
  6. IPV6INIT=no
  7. NM_CONTROLLED=yes
  8. ONBOOT=yes
  9. TYPE=Ethernet
  10. UUID=35d96ab0-4a6a-4cca-b6c9-fbe24003a44d
  11. DNS1=192.168.17.2
  12. GATEWAY=192.168.17.2

其中地址在VM的“虚拟网络编辑器”中查看或修改,并设置虚拟机的网络设置,如下图

(5)重启,ifconfig查看是否成功。

(6)在每台机器上完成以上步骤

(7)Ping 其他机器IP,若ping成功则集群网络配置成功

kafka分布式虚拟机群部署配置方法的更多相关文章

  1. spring + ibatis 多数据源事务(分布式事务)管理配置方法(转)

    spring + ibatis 多数据源事务(分布式事务)管理配置方法(转) .我先要给大家讲一个概念:spring 的多数据源事务,这是民间的说法.官方的说法是:spring 的分布式事务.明白了这 ...

  2. Kafka分布式集群部署

    这个是kafka的官网地址:http://kafka.apache.org/ 1.kafka是一个消息系统. 2.kafka对流数据可以高效的实时处理. 3.分布式集群的环境下能够保证数据的安全. k ...

  3. httpd基础配置和虚拟主机的配置方法

    RedHat6.5  httpd实验的大概步骤 #解包 tar zxf httpd-2.2.17.tar.gz -C /usr/src#切换到目录 cd /usr/src/httpd-2.2.17/# ...

  4. 新闻实时分析系统-Kafka分布式集群部署

    Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用.目前越来越多的开源分布式处理系统如Cloudera.Apache Storm.Spa ...

  5. 新闻网大数据实时分析可视化系统项目——7、Kafka分布式集群部署

    Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用.目前越来越多的开源分布式处理系统如Cloudera.Apache Storm.Spa ...

  6. tomcat虚拟路径的配置方法

    方式一: 将web项目配置到webapps以外的目录 在conf/server.xml中配置,找到<host>标签,<Content docBase="E:\yqs\Jsp ...

  7. 阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)

    阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7) 1.效果图 1 2. 部署步骤 1 1. mysql安装附加(centos7) 7 ...

  8. 在Centos 7上安装配置 Apche Kafka 分布式消息系统集群

    Apache Kafka是一种颇受欢迎的分布式消息代理系统,旨在有效地处理大量的实时数据.Kafka集群不仅具有高度可扩展性和容错性,而且与其他消息代理(如ActiveMQ和RabbitMQ)相比,还 ...

  9. ubuntu apache2配置详解(含虚拟主机配置方法)

    ubuntu apache2配置详解(含虚拟主机配置方法) 在Windows下,Apache的配置文件通常只有一个,就是httpd.conf.但我在Ubuntu Linux上用apt-get inst ...

随机推荐

  1. [agc23E]Inversions

    Atcoder description 给你\(n\)和\(\{a_i\}\),你需要求所有满足\(p_i\le a_i\)的\(1-n\)排列的逆序对个数之和模\(10^9+7\). \(n \le ...

  2. 【算法】通过TreeMap理解红黑树

    本文以Java TreeMap为例,从源代码层面,结合详细的图解,剥茧抽丝地讲解红黑树(Red-Black tree)的插入,删除以及由此产生的调整过程. 总体介绍 Java TreeMap实现了So ...

  3. 简单实现高并发处理秒杀思路(redis分布式锁)

    利用redis的单线程特性 setnx       (SET if Not eXists) 命令在指定的 key 不存在时,为 key 设置指定的值. getset 自动将key对应到value并且返 ...

  4. C语言 字符串处理函数 转自 http://blog.chinaunix.net/uid-25885064-id-3175049.html

     C字符串处理函数 2012-04-13 18:14:16 分类: C/C++ void *memccpy (void *dest, const void *src, int c, size_t n) ...

  5. Conv

    folly/Conv.h folly/Conv.h is a one-stop-shop for converting values across types. Its main features a ...

  6. phpcms模块开发中的小问题及解决方法

    1.模块菜单中文名出错 在编写安装模块时候可能需要更改extention.inc.php中定义中文名称,由于反复安装或者通过phpcms的扩展->菜单管理 修改菜单名会导致中文名失败.解决办法很 ...

  7. 图片采集器_PHP

    现在国内模仿“pinterest”的越来越多了,之前我做过一个基于chrome浏览器上的一个“图片采集工具”,类似于“花瓣网“那样的,初期我觉得挺简单,后来做起来发现还是挺复杂的,特别是整合到你自己的 ...

  8. MongoDB 生态 – 可视化管理工具

    工欲善其事,必先利其器,我们在使用数据库时,通常需要各种工具的支持来提高效率:很多新用户在刚接触 MongoDB 时,遇到的问题是『不知道有哪些现成的工具可以使用』,本系列文章将主要介绍 MongoD ...

  9. Python 测试题目-1

    l1 = [11,22,33]l2 = [22,33,44] # 1.获取内容相同的两个元素# 2.获取l1中有l2没有的元素# 3.获取l2中有l1中没有的元素# 4.获取l1 l2中内容都不通的元 ...

  10. vue简单介绍

    最近在逛各大网站,论坛,以及像SegmentFault等编程问答社区,发现Vue.js异常火爆,重复性的提问和内容也很多,楼主自己也趁着这个大前端的热潮,着手学习了一段时间的Vue.js,目前用它正在 ...