配置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. 使用 某款基于Socks5协议的代理软件 一段时间后 被封锁掉IP的一些技术思考

    由于关键词比较敏感为了不被删除帖子所以文中某软件(上图所示软件)不用全称表示. 去年9月末在 在某国外网站 上弄了一个vpn,在上面安装了某软件,使用起来还是蛮不错的,平时查查英文论文,看看美剧还是比 ...

  2. Multiple Object Tracking using K-Shortest Paths Optimization简要

    参考文献:Multiple Object Tracking using K-Shortest Paths Optimization 核心步骤: 两步:一.detection 二.link detect ...

  3. 20155223 2016-2017-2 《Java程序设计》第8周学习总结

    20155223 2016-2017-2 <Java程序设计>第8周学习总结 教材学习内容总结 第14章 Channel是Java NIO用来衔接数据节点的功能,可定义缓冲区容量.标记内容 ...

  4. 6-1 Deque(25 分)Data Structures and Algorithms (English)

    A "deque" is a data structure consisting of a list of items, on which the following operat ...

  5. 转 How do GraphQL remote schemas work

    文章转自 prisma 官方博客,写的很不错 In this article, we want to understand how we can use any existing GraphQL AP ...

  6. sourcegraph 方便的代码查看工具

    sourcegraph 是一个方便的代码查看插件,有chrome 的插件,具体安装可以在chrome 应用商店,同时 官方提供了基于docker 运行的方式(适合本地使用) 下载镜像 docker p ...

  7. IT项目管理的十六个字心得体会

    目标驱动,系统思维,风险意识,数据量化 凡事预则立,不预则废.如果你不知道要到哪里?给你一张地图也没有用.目标驱动首先要有最基本的计划管理和时间管理能力.对于一个项目,我们过程中做的所有工作都是为了要 ...

  8. python 书籍推荐 三

    主要先学习<python语言入门>学完后,研究<征服python>Python简明教程(A Byte of Python) 此书讲解简洁易懂,适合初学者 剖析Python源代码 ...

  9. 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) ...

  10. ES6系列_4之扩展运算符和rest运算符

    运算符可以很好的为我们解决参数和对象数组未知情况下的编程,让我们的代码更健壮和简洁. 运算符有两种:对象扩展运算符与rest运算符. 1.对象扩展( spread)运算符(...) (1)解决参数个数 ...