Zookeeper + Centos7 详细安装教程

ZooKeeper完美安装指南:在CentOS中从单节点到集群部署全攻略 本文是一个关于在CentOS 7.6环境下安装和配置ZooKeeper 3.8.1的实践指南。其中涵盖了从环境准备,到单节点安装,再到集群配置的全过程,以及使用GUI工具和测试集群的建议。读者可以通过这篇文章系统地了解ZooKeeper的安装和配置过程,为在分布式环境下更好地使用ZooKeeper提供帮助。 阅读详情

前言

本篇是主要讲怎么在Centos7服务器上,配置Zookeeper集群,以及常见的问题解决。Zookeeper版本3.4.14。Windows版本在这里:【Zookeeper-3.4.14 Win10 裸机运行】。更多Zookeeper的内容在这里【Zookeeper 源码解读系列目录】有兴趣可以拓展一下知识。目前笔者将kafka升级到2.7.0,Zookeeper升级到3.5.8,此文依然有效。

Java环境下载与配置

工欲善其事,必先利其器。想运行Zookeeper必须先把周边环境搞好。最重要的就是java的环境安装好,有两个选择。

第一种

去官网或者国内镜像下载JDK-linux包,这个就不多说了,下载好拷贝到任意目录,然后解压,解压到哪里看个人喜好。环境变量配好能用就行。

tar -zxvf jdk-8u181-linux-x64.tar.gz #解压到当前目录
tar -zxvf jdk-8u181-linux-x64.tar.gz -C /usr/local/  #或者解压到指定目录

直接敲入vi /etc/profile命令编辑profile文件,敲insert进入编辑模式,最后面添加下面几行:

export JAVA_HOME=/usr/local/apps/jdk1.8.0_191/   #这里是自己的路径一定写对
export PATH=$PATH:$JAVA_HOME/bin
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

然后esc推出编辑模式,输入:wq保存退出。输入source /etc/profile,使编辑的系统文件生效。用Java -version测一下是不是成功了

[root@centos01 ~]# java -version
java version "1.8.0_191"   #和你安装的版本一致就是成功了
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
第二种

就是用yum工具下载相应的JDK包。但是提供的版本有限,怎么安装随喜吧。

yum list | grep jdk  #先找到想要的jdk版本名字
yum install java-1.8.0-openjdk.x86_64 #用yum工具安装,一步到位。

Zookeeper配置

当安装好Java环境以后,就可以配置Zookeeper了。首先准备几个服务器,笔者一共有5台虚拟机,101~105。后面介绍的只是101上的,其余的操作只是把1换成5就好了。那么首先我们看Zookeeper的配置文件,不知道在哪里下载的参考【Zookeeper-3.4.14 Win10 裸机运行】。

  1. 找到/zookeeper-3.4.14/conf/目录下zoo_sample.cfg改为zoo.cfg,然后打开编辑。基本上集群模式下要改的很少。
  2. 修改日志目录。dataDir:数据目录。这是参数必须要有的,一会儿创建myid就要在这个下面创建。dataLogDir:日志目录。这个是可选的,不配置默认所有的数据都会放在dataDir这里。
  3. 配置集群服务器地址。server.*=这里配置与否决定着是否使用集群模式。在这里把所有机器加上去,如果有观察者模式的需求,也可以配置几个观察者。最终配置文件的内容如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/data/zookeeper_data
dataLogDir=/home/data/zookeeper_log   #这里可以不配置,直接删了
clientPort=2181
#maxClientCnxns=60
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

server.1=192.168.33.101:2887:3887
server.2=192.168.33.102:2887:3887
server.3=192.168.33.103:2887:3887
server.4=192.168.33.104:2887:3887
server.5=192.168.33.105:2887:3887
#server.5=192.168.33.105:2887:3887:observer   配置一台机器以观察者模式启动
  1. 生成myid。此时我们需要去dataDir路径下生成myid作为一台服务器的唯一标识,不生成一定会报错的。
    所以cd /home/data/zookeeper_data目录下,运行echo 1 >> myid。把1这个数字写入myid文件,只要这一个数字就足够了。注意操作的是101机器,102机器需要运行echo 2 >> myid。这个数字是和配置文件中配置的server.1或者server.2对应的。server.1的myid就是1,server.2的myid就是2,以此类推一定不要搞错。如下图102号机器的myid。
    在这里插入图片描述

防火墙开放端口

此时Zookeeper的配置已经结束了。直接运行应该是不通的,因为需要打开防火墙给其他的机器开放端口监听,如果被防火墙挡住了,是没办法访问的。我们一共用了2181,2887,3887三个端口,所以给他们开防火墙:

firewall-cmd --zone=public --add-port=2181/tcp --permanent
firewall-cmd --zone=public --add-port=2887/tcp --permanent
firewall-cmd --zone=public --add-port=3887/tcp --permanent
firewall-cmd --reload   # 配置立即生效

一顿操作以后,不放心的同学可以用firewall-cmd --zone=public --list-ports这个命令查看下自己刚刚开放的端口是不是被打开了。

[root@centos03 ~]# firewall-cmd --zone=public --list-ports
2181/tcp 2887/tcp 3887/tcp 9092/tcp
防火墙其他辅助性介绍:

既然能开,当然也能关闭。而且如果不是公司用,只是为了学习的话,可以直接关了防火墙。所以再给大家贴一些防火墙相关的命令,大家参考取舍:

firewall-cmd --zone=public --add-port=1111/tcp --permanent  #开放1111端口
firewall-cmd --zone=public --remove-port=1111/tcp --permanent #关闭1111端口
firewall-cmd --zone=public --list-ports  #查看防火墙所有开放的端口

systemctl stop firewalld.service  #关闭防火墙服务
systemctl restart firewalld.service  #开启防火墙服务

firewall-cmd --state #查看防火墙状态 启动为running,关闭为not running

systemctl enable firewalld.service  #开机启动防火墙
systemctl disable firewalld.service  #开机关闭防火墙

netstat -lnpt #查看监听的端口

Zookeeper启动

然后到每个机器的bin目录下,输入sh zkServer.sh start启动Zookeeper。注意至少要启动一半以上才可以,不然一定报错。启动以后可以用客户端测试或者sh zkServer.sh status查看服务器状态。
在这里插入图片描述

常见错误

Error1:Address already in use
java.net.BindException: Address already in use
        at sun.nio.ch.Net.bind0(Native Method)
        at sun.nio.ch.Net.bind(Net.java:433)
        at sun.nio.ch.Net.bind(Net.java:425)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:67)
        at org.apache.zookeeper.server.NIOServerCnxnFactory.configure(NIOServerCnxnFactory.java:90)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:133)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:114)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:81)

这个错误八成是端口被占用了,用netstat -lnpt查看监听的端口:
在这里插入图片描述
查看到PID=1561这个进程已经把2181和3887端口都占用了,所以你就没有办法再用。于是kill -9 1561直接杀死进程,然后在启动就可以了。

Error2:Connection refused
java.net.ConnectException: Connection refused (Connection refused)
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:558)
        at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:610)
        at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:838)
        at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:958)

这种情况大概率有两种。因为笔者就遇见过两种。第一:启动的Zookeeper服务器数量不够,其他的机器还没有起来,自然没有办法连接到其他机器。忽略掉,启动其他机器以后再看看。第二:防火墙端口没有打开,可以参考上面所说的打开端口,然后就可以了。

Error3:Cannot open channel to * at election address

这个问题基本上就是说能联通,但是没有办法找到选举机器,或者选票没有办法发到这台机器上。一般情况下是由于机器所处的环境被隔离造成的。首先,先检查防火墙端口是不是打开的。其次,网上最常见的解决办法就是把本机ip换掉成为0.0.0.0,比如我105机器报了这个错误,那就改成下面的样子:

server.1=192.168.33.101:2887:3887
server.2=192.168.33.102:2887:3887
server.3=192.168.33.103:2887:3887
server.4=192.168.33.104:2887:3887
server.5=0.0.0.0:2887:3887    #这里原来是server.5=192.168.33.105:2887:3887

说实在的,不知道这个办法到底有没有效果,因为笔者是真的没有看到效果。笔者碰到这个问题是出现在104号机器上,但是这个机器原先是和别的机器不在一个子网上,104号的机器原先是192.168.43.104。虽然能连通,但是死活都不能发送接收选票。后来把104切换到同一个子网上以后,什么都没有做,自己就好了。所以这里严重怀疑是因为网络底层的原因导致的。虽然学过计算机网络这个课,但是早就扔给大学老师了。况且也不是笔者亲自切换的网络环境,自然不好多说什么。只是给大家提供一个除了换IP以外的另一个解决方案而已,当然如果有哪位热心读者能解答这个问题,笔者自然感激不尽。

zookeeper在centosx下的详细安装 zookeeper在centosx下的详细安装,一共部署三台机器,每台机器启动一个zookeeper进程 立即下载

相关推荐

CentOS7.0安装zookeeper

CentOS7.0安装zookeeper

CentOS7 下 Zookeeper 安装及配置

介绍 ZooKeeper 的安装和基本配置, ZooKeeper 是一个开源的分布式协调服务,它提供了一个高性能的、可靠的分布式环境,用于协调和管理分布式应用程序的配置、状态和元数据信息。

QIFU的专栏 2316

在centos7安装zookeeper3.4.6

1.安装JDK(需要连接网络)     rm-f /var/run/yum.pid     yum -y install java-1.8.0-openjdk.x86_64     java -version 2.把 zookeeper 的压缩包,上传到Linux系统 3.解压缩压缩包     tar -zxvf zookeeper-3.4.6.tar.gz 4.进入conf目录 ,把 zoo_sample.cfg 改名为 zoo.cfg     5.进入bin目录,启动服务输入命令     ./zkServer.sh start 6.查看状态     ./zkServer.sh status

centos7配置zookeeper本地模式与集群模式的详细教程

主要介绍zookeeper的本地模式于集群模式的配置,包含集群启动于关闭脚本,以下为配置步骤。

张小鱼的博客 2030

GD32 I2C中断通信实战:主机与从机高效数据交换方案

本文详细解析了GD32微控制器I2C中断通信的实战方案,通过配置I2C0为主机、I2C1为从机,实现高效的双向数据交换。文章深入剖析了中断服务程序(ISR)的核心配置、关键状态标志位处理以及事件驱动机制,帮助开发者避免常见陷阱,提升系统响应速度与资源利用率,适用于传感器连接、多机通信等嵌入式场景。

cream的博客 846

ADS系列之SI&PI仿真笔记:ADS多种版本的安装、卸载&重装(一)

此系列仅作为ADS学习过程的记录,如有错误的地方还请大佬指正! 一、下载&安装 ADS软件下载&安装还算比较简单,目前接触到有两个版本:ADS2017和ADS2019。这里贴下链接,破解教程里面都有: ADS2017下载地址:https://pan.baidu.com/s/1l-Bs9owKRmp5Pv0Mt92OYA 提取码:wuzf ADS2019下载地址:吴川斌的博客-w...

Claudedy的博客 3万+

搭建Zookeeper完全分布式集群(CentOS 9 )

ZooKeeper是一个开源的分布式协调服务,它为分布式应用提供了高效且可靠的分布式协调服务,并且是分布式应用保证数据一致性的解决方案。 本文主要介绍ZooKeeper的完全分布式集群搭建、集群服务管理脚本的编写、以及常见问题的解决办法。

tangyi2008的专栏 3931

C#.NET斗地主服务端核心架构与高性能实现

斗地主作为典型的实时对战棋牌逻辑,本质是状态驱动的分布式协同问题。其技术内核涵盖有限状态机建模、低延迟网络同步、无GC内存操作与轻量级AI决策等关键能力。在.NET平台下,借助Span<T>、ImmutableArray、命令/事件总线与内存池等特性,可构建出高吞吐(200+ QPS)、低延迟(<150ms)、强一致的可落地服务端。本文聚焦C#.NET生态中斗地主核心模块的设计取舍与压测验证,深入解析状态机驱动、CardSet结构体优化、Kestrel中间件锁、规则+概率混合AI等实战方案,为实时对战类业务

weixin_29726381的博客 345

CentOS搭建Zookeeper

CentOS搭建zookeeper

Button的博客 1382

39、高频 LLC 谐振转换控制系统动态优化算法分析与研究

本文针对高频下LLC谐振转换器动态性能差的问题,提出一种基于谐振电容器充放电估计动态切换时间的优化控制算法。通过改进状态轨迹控制方法,突破传统算法在谐振频率与开关频率相等条件下的限制,并结合新型采样策略有效抑制电压过冲。算法在MATLAB和SABER中完成仿真验证,并搭建基于STM32F407的原型系统进行测试,结果表明该方法显著缩短动态响应时间,提升系统稳定性。研究为高频、高功率密度开关电源的动态优化提供了可行解决方案。

linux6sysadmin的博客 111

OdomLaserCalibraTool标定工具的使用及踩坑记录

首先欢迎扫码关注我的微信公众号【SLAM及ROS学习笔记】 GitHub地址 GitHub - tzhangZJU/OdomLaserCalibraTool: Extrinsic Calibration of a Odom and 2d Laser 作者博客 2d Laser 和 Odomter 内外参数标定工具原理及使用方法_知行合一-优快云博客 其实只是记录了一下我自己的标定过程,和错误解决方法。其实博客和GitHub中也有提及 Error1 这个是由于.

Studying…… 1757

Centos7安装Zookeeper详细教程

Centos7安装Zookeeper详细教程1. 下载Zookeeper的压缩包2. 在Centos下创建Zookeeper的文件夹3. 将下载好的tar.gz文件复制到该文件夹下并解压4. 进入Zookeeper安装目录下的conf文件夹5. 修改zoo.cfg文件6. 进入bin文件夹修改zkEvn.cmd文件7. 启动Zookeeper 1. 下载Zookeeper的压缩包 https://downloads.apache.org/zookeeper/zookeeper-3.6.2/apache-z

少年的微博客 642

Windows 11 安装 JDK 21:下载、安装、配置环境变量、验证

本文详细介绍了在 Windows 11 系统中安装 JDK 21 的完整流程,包括从 Oracle 官网下载压缩包、解压至自定义目录、配置 JAVA_HOME 与 Path 环境变量,并验证安装是否成功。文章推荐使用 ZIP 压缩包而非安装程序,以实现绿色便携、多版本共存等优势,并通过一个包含 Java 21 新特性的示例程序进行功能验证,适合开发者快速上手。

寒水馨 · 轻量级技术文档 · hanshuixin.org 2521

图文详细centos7+Hadoop3.1.3环境安装配置zookeeper3.55+Hbase2.1.3教程

文章目录版本对应关系环境说明安装zookeeper 3.5.5下载zookeeper并解压设置环境变量设置zoo.cfg文件启动zookeeper安装Hbase2.1.3下载Hbase并解压配置环境变量修改 hbase-2.1.3/conf目录下的hbase-env.sh文件修改hbase-2.0.1/conf目录下的hbase-site.xml文件启动启动Hadoop进入zookeeper的b...

天炳的博客 1865

ABAP CDS View 从入门到精通教程目录:ABAP CDS View 在 SAP 技术体系中的重要地位

学习 ABAP CDS View 的开发技术,体会其背后的设计理念,也就掌握了 SAP S/4HANA 底层数据模型的设计精髓。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 4778

华为OD机试双机位C卷-恢复数字序列 (Py/Java/C/C++/Js/Go)

华为OD机试双机位C卷 恢复数字序列,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试 - 恢复数字序列。

qq_45776114的博客 1203

Linux centos7.x安装zookeeper 3.4.6教程

Linux centos7.x安装zookeeper 3.4.6教程 1. 环境准备 虚拟机集群,VMWare15.x linux centos 7.x集群,一般安装4–5台。小技巧,安装好一台之后,使用vmware的镜像克隆技术,克隆多台。克隆之后,修改一下ip地址,hostname等配置即可。 确保linux镜像系统中防火墙是关闭的 下载zookeeper的linux安装压缩包,版本是3.4.6 2. 安装zookeeper 上传安装包到某一台节点服务器上 在app安装目录下解压缩,linux一般

xiaohu21的博客 923

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Linux环境下(Centos7) 下安装Kafka/Zookeeper 详细教程

Linux环境下(Centos7) 下安装Kafka/Zookeeper 详细教程 单机版安装教程 文章目录Linux环境下(Centos7) 下安装Kafka/Zookeeper 详细教程一、安装Zookeeper1.1 安装步骤1.2 常用命令如下:二、安装Kafka1.安装步骤2.读入数据总结 一、安装Zookeeper 1.1 安装步骤 创建文件夹 mkdir -p /usr/local/zookeeper 进入文件夹 cd /usr/local/zookeeper 在线下载镜像 wget

qq_38055805的博客 4628

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

centos7安装zookeeper图文教程

话不多说,直接开始 下载安装包(ps:如果下载zookeeper-3.5.5会抛异常,做好心理准备) -----Error: Could not find or load main class org.apache.zookeeper.server.quorum.QuorumPeerMain http://mirror.bit.edu.cn/apache/zookeeper/z...

ko8be24的博客 1253

深度学习工具包 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")

Centos7中python2.7中zookeeper模块安装教程

很多小伙伴在python2.7中安装zookeeper模块往往遇到以下情况: 经过查找一些资料,可以通过以下方式安装(当然python3下直接pip install zookeeper即可)。 1、首先,安装要依赖的zookeeper的c的客户端。 进到已装好的zookeeper组件的c目录下: cd /usr/local/src/zookeeper-3.4.11/src/c ./configu...

qq_41126685的博客 5611

7.CentOS 7上安装zookeeper教程

在安装zookeeper之前,服务需要安装jdk,并配置好jdk的环境变量 1.解压并配置: 我们进入到解压后的zookeeper安装目录,在该目录下使用mkdir命令创建data和logs目录,用于存放zookeeper运行时的数据和日志信息,若不创建logs目录则事务日志和快照日志都会写到data目录下,将会严重影响zookeeper的性能。然后我们使用cd命令进入到创建的data目录,在...

qq_36468169的博客 256

centos7 zookeeper jdk 完整 安装 、 启动 、 关闭 、 查看状态 教程

文章目录Zookeeper安装教程1、环境说明2、搭建环境2.1、Jdk环境配置2.2、zookeeper安装2.3、zookeeper启动2.4、zookeeper状态2.4、zookeeper关闭 Zookeeper安装教程 1、环境说明 linux系统 : Centos7 64位 Jdk版本: Jdk1.8 Zookeeper : zookeeper-3.4.14 2、搭建环境 2.1、J...

jrgdspuwij的博客 6608

CentOS7单机和集群安装配置Zookeeper教程

CentOS7单机和集群安装配置Zookeeper教程下载单机集群其他 下载 官网下载安装包“zookeeper-3.4.14.tar.gz 单机 1.利用xftp复制到虚拟机服务器/usr/local,用tar zxvf命令解压; 2.创建日志和数据文件夹 mkdir -p /data/zookeeper/data mkdir –p /data/zookeeper/log 3.zookeep...

DRD 446

cent os7安装zookeeper

cent os7安装zookeeper zookeeper依赖于jdk,请先安装号jdk,jdk安装教程https://blog.youkuaiyun.com/JiaBuZhengJing_/article/details/109776879 1.下载zookeeperhttp://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/ 解压zookeeper tar -zvxf zookeeper-3.4.9.tar.gz 2.配置zookeeper 进入进入到zook

假不正经 245

Zookeeper CentOS7 新手保姆级安装教程

zookeeper 新手保姆级安装教程

weixin_52449320的博客 589
上一篇: Zookeeper 源码解读系列,集群模式(八)
下一篇: Kafka服务器集群详细安装教程
Smallc0de
博客等级 码龄15年 148粉丝 147原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值