【kafka】--- kafka集群搭建

Kafka【第一篇】Kafka集群搭建 What is Kafka:它是一个分布式消息系统,由linkedin使用scala编写,用作LinkedIn的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础。具有高水平扩展和高吞吐量。 阅读详情

转载  http://www.cnblogs.com/xuwujing/p/8361629.html

前言

storm和kafka集群安装是没有必然联系的,我将这两个写在一起,是因为他们都是由zookeeper进行管理的,也都依赖于JDK的环境,为了不重复再写一遍配置,所以我将这两个写在一起。若只需一个,只需挑选自己选择的阅读即可。

这两者的依赖如下:

  • Storm集群:JDK1.8 , Zookeeper3.4,Storm1.1.1;
  • Kafa集群 : JDK1.8 ,Zookeeper3.4 ,Kafka2.12;

说明: Storm1.0 和Kafka2.0对JDK要求是1.7以上,Zookeeper3.0以上。

下载地址:
Zookeeper:https://zookeeper.apache.org/releases.html#download
Storm: http://storm.apache.org/downloads.html
Kafka: http://kafka.apache.org/downloads

JDK安装

每台机器都要安装JDK!!!
说明: 一般CentOS自带了openjdk,但是我们这里使用的是oracle的JDK。所以要写卸载openjdk,然后再安装在oracle下载好的JDK。如果已经卸载,可以跳过此步骤。
首先输入 java -version
查看是否安装了JDK,如果安装了,但版本不适合的话,就卸载
这里写图片描述

输入
rpm -qa | grep java
查看信息
这里写图片描述
然后输入:
rpm -e --nodeps “你要卸载JDK的信息”
如: rpm -e --nodeps java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64
这里写图片描述

确认没有了之后,解压下载下来的JDK

tar  -xvf   jdk-8u144-linux-x64.tar.gz

移动到opt/java文件夹中,没有就新建,然后将文件夹重命名为jdk1.8。

mv  jdk1.8.0_144 /opt/java
mv  jdk1.8.0_144  jdk1.8

然后编辑 profile 文件,添加如下配置
输入:

vim /etc/profile

添加:

export JAVA_HOME=/opt/java/jdk1.8
export JRE_HOME=/opt/java/jdk1.8/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=.:${JAVA_HOME}/bin:$PATH

添加成功之后,输入

source /etc/profile
java  -version 

查看是否配置成功

Zookeeper 环境安装

1,文件准备

将下载下来的Zookeeper 的配置文件进行解压
在linux上输入:

 tar  -xvf   zookeeper-3.4.10.tar.gz

然后移动到/opt/zookeeper里面,没有就新建,然后将文件夹重命名为zookeeper3.4
输入

mv  zookeeper-3.4.10  /opt/zookeeper
mv  zookeeper-3.4.10  zookeeper3.4

2,环境配置

编辑 /etc/profile 文件
输入:

export  ZK_HOME=/opt/zookeeper/zookeeper3.4 
export PATH=.:${JAVA_HOME}/bin:${ZK_HOME}/bin:$PATH

输入:

source  /etc/profile

使配置生效

3,修改配置文件

3.3.1 创建文件和目录

在集群的服务器上都创建这些目录

mkdir   /opt/zookeeper/data  
mkdir   /opt/zookeeper/dataLog

并且在/opt/zookeeper/data目录下创建myid文件
输入:

touch  myid

创建成功之后,更改myid文件。
我这边为了方便,将master、slave1、slave2的myid文件内容改为1,2,3
这里写图片描述

3.3.2 新建zoo.cfg

切换到/opt/zookeeper/zookeeper3.4/conf 目录下
如果没有 zoo.cfg 该文件,就复制zoo_sample.cfg文件并重命名为zoo.cfg。
修改这个新建的zoo.cfg文件

dataDir=/opt/zookeeper/data
dataLogDir=/opt/zookeeper/dataLog
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

这里写图片描述

说明:client port,顾名思义,就是客户端连接zookeeper服务的端口。这是一个TCP port。dataLogDir里是放到的顺序日志(WAL)。而dataDir里放的是内存数据结构的snapshot,便于快速恢复。为了达到性能最大化,一般建议把dataDir和dataLogDir分到不同的磁盘上,这样就可以充分利用磁盘顺序写的特性。dataDir和dataLogDir需要自己创建,目录可以自己制定,对应即可。server.1中的这个1需要和master这个机器上的dataDir目录中的myid文件中的数值对应。server.2中的这个2需要和slave1这个机器上的dataDir目录中的myid文件中的数值对应。server.3中的这个3需要和slave2这个机器上的dataDir目录中的myid文件中的数值对应。当然,数值你可以随便用,只要对应即可。2888和3888的端口号也可以随便用,因为在不同机器上,用成一样也无所谓。
1.tickTime:CS通信心跳数
Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。tickTime以毫秒为单位。
tickTime=2000
2.initLimit:LF初始通信时限
集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)。
initLimit=10
3.syncLimit:LF同步通信时限
集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数(tickTime的数量)。
syncLimit=5

依旧将zookeeper传输到其他的机器上,记得更改 /opt/zookeeper/data 下的myid,这个不能一致。
输入:

scp -r /opt/zookeeper root@slave1:/opt
scp -r /opt/zookeeper root@slave2:/opt

4,启动zookeeper

因为zookeeper是选举制,它的主从关系并不是像hadoop那样指定的,具体可以看官方的文档说明。
成功配置zookeeper之后,在每台机器上启动zookeeper。
切换到zookeeper目录下

cd /opt/zookeeper/zookeeper3.4/bin

输入:

zkServer.sh start

成功启动之后
查看状态输入:

 zkServer.sh status

可以查看各个机器上zookeeper的leader和follower
这里写图片描述

Storm 环境安装

1,文件准备

将下载下来的storm的配置文件进行解压
在linux上输入:

 tar  -xvf   apache-storm-1.1.1.tar.gz

然后移动到/opt/storm里面,没有就新建,然后将文件夹重命名为storm1.1
输入

mv  apache-storm-1.1.1  /opt/storm
 mv  apache-storm-1.1.1  storm1.1

2,环境配置

编辑 /etc/profile 文件
添加:

export STORM_HOME=/opt/storm/storm1.1
export PATH=.:${JAVA_HOME}/bin:${ZK_HOME}/bin:${STORM_HOME}/bin:$PATH   

输入 storm version 查看版本信息
这里写图片描述

3,修改配置文件

编辑 storm/conf 的 storm.yarm。

进行如下编辑:
输入:
vim storm.yarm

storm.zookeeper.servers:
     - "master"
     - "slave1"
     - "slave2"

storm.local.dir: "/root/storm"

nimbus.seeds: ["master"]

supervisor.slots.ports:
    - 6700
    - 6701
    - 6702
    - 6703

这里写图片描述
说明:

  1. storm.zookeeper.servers是指定zookeeper的服务地址。
    因为storm的存储信息在zookeeper上,所以要配置zookeeper的服务地址。如果zookeeper是单机就只用指定一个!
  2. storm.local.dir 表示存储目录。
    Nimbus和Supervisor守护进程需要在本地磁盘上存储一个目录来存储少量的状态(比如jar,confs等等)。可以在每台机器创建,并给于权限。
    3.nimbus.seeds 表示候选的主机。
    worker需要知道那一台机器是主机候选(zookeeper集群是选举制),从而可以下载 topology jars 和confs。
    4.supervisor.slots.ports 表示worker 端口。
    对于每一个supervisor机器,我们可以通过这项来配置运行多少worker在这台机器上。每一个worker使用一个单独的port来接受消息,这个端口同样定义了那些端口是开放使用的。如果你在这里定义了5个端口,就意味着这个supervisor节点上最多可以运行5个worker。如果定义3个端口,则意味着最多可以运行3个worker。在默认情况下(即配置在defaults.yaml中),会有有四个workers运行在 6700, 6701, 6702, and 6703端口。
    supervisor并不会在启动时就立即启动这四个worker。而是接受到分配的任务时,才会启动,具体启动几个worker也要根据我们Topology在这个supervisor需要几个worker来确定。如果指定Topology只会由一个worker执行,那么supervisor就启动一个worker,并不会启动所有。

注: 这些配置前面不要有空格!!!,不然会报错。 这里使用的是主机名(做了映射),也可以使用IP。实际的以自己的为准。

可以使用scp命令或者ftp软件将storm复制到其他机器上
这里写图片描述

成功配置之后,然后就可以启动Storm了,不过要确保JDK、Zookeeper已经正确安装,并且Zookeeper已经成功启动。

4,启动Storm

切换到 storm/bin 目录下
在主节点(master)启动输入:

storm nimbus >/dev/null 2>&1 &

访问web界面(master)输入:

storm ui 

从节点(slave1,slave2)输入:

storm supervisor >/dev/null 2>&1 &

在浏览器界面输入: 8080端口
成功打开该界面,表示环境配置成功:
这里写图片描述

kafka的环境安装

1,文件准备

将下载下来的Kafka的配置文件进行解压
在linux上输入:

 tar  -xvf   kafka_2.12-1.0.0.tgz

然后移动到/opt/kafka里面,没有就新建,然后将文件夹重命名为kafka2.12
输入

mv  kafka_2.12-1.0.0  /opt/kafka
 mv  kafka_2.12-1.0.0  kafka2.12

2,环境配置

编辑 /etc/profile 文件
输入:

export  KAFKA_HOME=/opt/kafka/kafka2.12 
export PATH=.:${JAVA_HOME}/bin:${KAFKA_HOME}/bin:${ZK_HOME}/bin:$PATH

输入:

source  /etc/profile

使配置生效

3,修改配置文件

注:其实要说的话,如果是单机的话,kafka的配置文件可以不用修改,直接到bin目录下启动就可以了。但是我们这里是集群,所以稍微改下就可以了。

切换到kafka/config 目录下
编辑server.properties 文件
需要更改的是Zookeeper的地址:
找到Zookeeper的配置,指定Zookeeper集群的地址,设置如下修改就可以了

zookeeper.connect=master:2181,slave1:2181,slave2:2181
zookeeper.connection.timeout.ms=6000

其它可以选择更改的有

1 ,num.partitions 表示指定的分区,默认为1
2,log.dirs kafka的日志路径,这个按照个人需求更改就行
3, broker.id:非负整数,用于唯一标识broker,每台不一样

...
注:还有其它的配置,可以查看官方文档,如果没有特别要求,使用默认的就可以了。

配置好之后,记得使用scp 命令传输到其它的集群上,记得更改server.properties 文件!

4,启动kafka

集群每台集群都需要操作!

切换到kafka/bin 目录下
输入:

kafka-server-start.sh

然后输入jps名称查看是否成功启动:
这里写图片描述

成功启动之后,可以进行简单的测试下
首先创建个topic
输入:

kafka-topics.sh --zookeeper master:2181 --create --topic t_test --partitions 5  --replication-factor 2

说明: 这里是创建了一个名为 t_test 的topic,并且指定了5个分区,每个分区指定了2个副本数。如果不指定分区,默认的分区就是配置文件配置的。

然后进行生产数据
输入:

kafka-console-producer.sh --broker-list master:9092 --topic t_test

这里写图片描述

可以使用进行Ctrl+D 退出

然后我们再打开一个xshell窗口
进行消费
输入:

kafka-console-consumer.sh  --zookeeper master:2181  --topic t_test --from-beginning

这里写图片描述
可以使用进行Ctrl+C 退出

可以看到数据已经正常消费了。

5,kafka的一些常用命令

1.启动和关闭kafka

bin/kafka-server-start.sh config/server.properties >>/dev/null 2>&1 &
bin/kafka-server-stop.sh

2.查看kafka集群中的消息队列和具体队列
查看集群所有的topic

 kafka-topics.sh --zookeeper master:2181,slave1:2181,slave2:2181 --list

查看一个topic的信息

 kafka-topics.sh --zookeeper master:2181 --describe --topic t_test  

3.创建Topic

kafka-topics.sh --zookeeper master:2181 --create --topic t_test --partitions 5  --replication-factor 2

4.生产数据和消费数据

kafka-console-producer.sh --broker-list master:9092 --topic t_test

Ctrl+D 退出

kafka-console-consumer.sh  --zookeeper master:2181  --topic t_test --from-beginning

Ctrl+C 退出

5.kafka的删除命令

kafka-topics.sh --delete --zookeeper master:2181 --topic t_test

6,添加分区

kafka-topics.sh --alter --topict_test --zookeeper master:2181 --partitions 10

其它

Storm环境搭建参考官方文档:
http://storm.apache.org/releases/1.1.1/Setting-up-a-Storm-cluster.html

Kafka环境搭建参考官方文档:
http://kafka.apache.org/quickstart

Zookeeper集群搭建和Kafka集群的搭建 Zookeeper!!! 一、Zookeeper集群搭建步骤 0)集群规划 在hadoop01、hadoop02和hadoop03三个节点上部署Zookeeper。 1)解压安装 (1)解压zookeeper安装包到/home/hadoop/insatll/目录下 [hadoop@hadoop01 tools]$ tar -zxvf zookeeper-3.4.10.tar.gz -C /home... 阅读详情

相关推荐

Kafka 集群搭建

Kafka 集群搭建

qq_31515997的博客 2754

kafka单机和集群(全分布)的安装部署过程

一:安装准备 1.必须安装了zookeeper zookeeper安装操作:zookeeper单机和集群(全分布)的安装过程_一个人的牛牛的博客-优快云博客 2.下载kafka 可以通过这两个网站下载想要的版本 http://kafka.apache.org/downloads https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/ 或者下载和我一样的版本(我用的是kafka_2.11-2.3.1.tgz) 百度网盘地址: 链接...

qq_55906442的博客 2756

kafka集群部署搭建【详细版】

因项目需要,需搭建kafka集群进行验证工作。系统环境真的很重要,这会影响排查问题的效率。但是大部分博客编写的时候基本上都没有记录这些,这就会导致有些命令不是共通的。#1 系统版本#2 jdk版本至此,kafka集群搭建完毕,大家如果有什么疑问,请及时和我沟通交流。

xgysimida的博客 4318

kafka和storm集群的环境安装

前言 storm和kafka集群安装是没有必然联系的,我将这两个写在一起,是因为他们都是由zookeeper进行管理的,也都依赖于JDK的环境,为了不重复再写一遍配置,所以我将这两个写在一起。若只需一个,只需挑选自己选择的阅读即可。 这两者的依赖如下: Storm集群:JDK1.8 , Zookeeper3.4,Storm1.1.1; Kafa集群 : JDK1.8 ,Zookeeper3.4 ...

weixin_34067049的博客 254

kafka集群环境搭建

kafka集群测试环境搭建全记录。

链上研发 4418

从Maya到Unity:3D模型导入全流程避坑指南(含FBX导出设置)

本文详细解析了从Maya导出3D模型至Unity的全流程,重点剖析了FBX格式作为跨软件协作“中间人”的优劣与核心设置。指南涵盖了Maya端模型清理、FBX导出关键配置(如嵌入媒体、轴转换),以及Unity端的模型、材质、动画导入优化与常见问题(如材质丢失、UV法线错误、骨骼动画错乱)的实战解决方案,旨在帮助3D美术师与技术美术建立稳定、高效的工作流。

lg888的博客 791

Kafka实战(7)-究竟该如何部署Kafka集群?

部署Kafka环境,一开始就要思考好实际场景下业务所需的集群环境,不能仅从单个维度上进行评估。参考Linux内核模型架构Kafka核心技术与实战。

JavaEdge全是干货的技术号 2832

ESP32搭配FT6236触摸屏:从芯片手册到完整I2C驱动代码的保姆级解析

本文详细解析了ESP32搭配FT6236触摸屏的I2C驱动开发过程,从芯片手册解读到完整代码实现。通过硬件架构分析、寄存器配置、I2C通信封装及触摸数据处理等步骤,提供了一套完整的驱动解决方案,帮助开发者快速掌握ESP32与触摸屏的交互技术。

weixin_29174385的博客 291

kafka的安装和启动以及集群的搭建

一、分别下载kafka和zookeeper的安装包并分发给各服务器,然后解压kafaka和zookeeper 二、配置kafka的配置文件 解压后进入文件夹中的config文件夹, 修改红色框框内的配置文件 每台机器上的broker.id都需要修改,且是不能重复的数字 存数据的文件夹 设置每台机器的zookeeper地址,端口号2181 三、启动每台机器的zookeeper cd到zookeeper文件夹,进入bin,执行sh zkServer.sh start启动zk 执行指令后可执行sh zkS

weixin_43947156的博客 429

域控制器迁移后NETLOGON共享丢失的修复指南

本文详细解析了在Windows域控制器迁移后NETLOGON共享丢失的故障现象与修复方法。通过使用Dcdiag工具诊断,定位注册表键值SysVolReady异常及SCRIPTS目录缺失等核心原因,并提供了修改注册表、创建目录、重启Netlogon服务等逐步修复指南,帮助管理员快速恢复域用户登录功能,确保业务连续性。

weixin_29245767的博客 88

Linux环境下OpenSSH升级到 OpenSSH_9.8p1(内置保姆级教程并包含openssl升级过程)

2024年7月1日接到安全部门同事邮件通知,目前生产环境及测试环境服务器Openssh存在远程代码执行漏洞(CVE-2024-6387),漏洞等级高,且攻击者可以成功利用该漏洞获得远程root shell最高权限从而执行任意代码及命令,主要受影响版本为8.5p1

菜鸟运维升级之路 2万+

【填坑之旅-hadoop-10】2.10.1 jdk1.8 kafka 2.12-2.6.2 storm 整合 producer consumer Topic CG java api

kafka 简介 先不论用什么来实现,我们先评估业务。 1、你用消息,你要明白,你这个消息,消费的时候需要不需要回复已已消费? 2、你能不能重复消费消息? 3、如果消息丢失了怎么办? 4、另外,这些消息是怎么一个消费规律?一次性会发送多少?频率是怎样? 5、服务器架构需要如何设计?是否需要集群?是否需要分布式? kafka笔记 1/kafka是一个分布式的消息缓存系统 2/kafka集群中的服务器都叫做broker 3/kafka有两类客户端,一类叫producer(消息生产者),一类叫做consumer(

alwarse 1201

基于MATLAB开发AUTOSAR软件应用层模块-part3.自动生成的代码文件介绍

上篇文章我们介绍了如何设计一个简单的模型,之后自动生成autosar架构的代码,这篇文章我带大家看下,生成了哪些文件,以及这些文件的内容。 生成的文件见下图: model files是模型控制逻辑部分代码,包括 DEMO1.c DEMO1.h DEMO1_private.h DEMO1_types.h DEMO1.c 1 /* 2 * File: DEMO1.c 3 * 4 * Cod.

汽车软件开发 1977

Kafka集群搭建

介绍了kafka集群的搭建

凉茶铺的博客 5088

基于 STM32 与压电薄膜的婴儿睡眠呼吸暂停监测床垫设计

本设计以 STM32F103C8T6 为主控,结合 PVDF 压电薄膜传感器,通过模拟信号调理与数字峰值检测算法,实现了对婴儿睡眠呼吸状态的实时监测。系统结构简单、成本低廉、无接触无束缚,当检测到 20 秒以上无呼吸信号时自动触发声光报警,可有效降低婴儿睡眠呼吸暂停带来的安全风险。后续可扩展蓝牙 / WiFi 模块,将报警信息推送至家长手机端,实现远程监护。

weixin_42300449的博客 149

linux内核学习(一)---内核社区介绍及补丁提交

本系列开始会对linux内核进行系统性的学习,以源码与内核社区为基础,了解前沿的内核机制,同时也深度了解linux内核中的一些经典机制 本章会先对linux内核社区进行简单的介绍,包括源码下载、内核社区的修改提交

文艺小少年的博客 536

基于zookeeper搭建kafka集群

Kafka 是一款开源的分布式流处理平台,最初由 LinkedIn 开发,后由 Apache 基金会维护。它被设计用于高吞吐、可扩展的实时数据管道和流处理场景。Kafka 的核心功能包括发布和订阅消息流、持久化存储数据以及实时处理数据流。其架构基于生产者(Producer)、消费者(Consumer)、主题(Topic)和分区(Partition)等概念,支持水平扩展和高容错性。Kafka 广泛应用于日志收集、消息系统、实时分析和事件溯源等场景,是现代大数据生态系统中不可或缺的组件之一。

muxia_jhy的博客 1756

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

快速入门Kafka系列(2)——Kafka集群搭建

        作为快速入门Kafka系列的第二篇博客,本篇为大家带来的是Kafka集群搭建~         码字不易,先赞后看! 文章目录Kafka 集群环境搭建1、初始化环境准备2、下载安装包并上传解压3、node01服务器修改ka...

大数据梦想家 6418

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

zk集群+kafka集群搭建

三台linux服务器分别是 11.10.135.198 、11.10.135.202 、11.10.135.207:zookeeper 运行 需要依赖 jdk, kafka 运行需要依赖zokeeper, 所以需要先安装jdk, 然后安装zookeeper, 然后才能安装kafka。

code_lfh的博客 2402

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

搭建kafka集群

准备三台服务器, 安装jdk1.8 ,其中每一台虚拟机的hosts文件中都需要配置如下的内容 192.168.72.141 node01 192.168.72.142 node02 192.168.72.143 node03 安装目录 安装包存放的目录:/export/software 安装程序存放的目录:/export/servers 数据目录:/export/data 日志目录:/e...

独孤一剑 2233

kafka集群搭建

这里写自定义目录标题环境准备host配置安装zookeeper集群kafka集群搭建如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 环境准备 搭建之前先做个简短说明。最近一个项目一直在使用kafka和redis,因单节点已完成且运行良好,为了进一步巩固系统稳定性,所以需要

快乐的小豆子的专栏 2677

Kafka——两种集群搭建详解

Kafka是一个能够支持高并发以及流式消息处理的消息中间件,并且Kafka天生就是支持集群的,今天就主要来介绍一下如何搭建Kafka集群。Kafka目前支持使用Zookeeper模式搭建集群以及KRaft模式(即无Zookeeper)模式这两种模式搭建集群,这两种模式各有各的好处,今天就来分别介绍一下这两种方式这个配置项用于指定Kafka服务器监听客户端连接的地址和端口,当 Kafka 服务器启动时,它将监听listeners配置项中指定的地址和端口,等待客户端的连接请求。一般情况下这个配置以或者。

吴声子夜歌的博客 1万+

Kafka-为什么要用集群?基于ZK搭建Kafka集群

Kafka为什么要用集群?因为单机服务的Kafka有很大的局限性,不稳定可能会崩溃,数据容易丢失。本文还手把手教你如何基于ZK搭建Kafka集群。

1575

【集群搭建专题】——Kafka集群搭建

1

weixin_44275259的博客 2938
上一篇: 【kafka】--- Kafka 使用Java实现数据的生产和消费demo
下一篇: 【kafka】--- kafka的java客户端代码
Beat_Boxer
博客等级 码龄9年 18粉丝 88原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值