ZK

kafka Producer 异常记录

半腔热情 提交于 2020-01-07 04:54:05
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Failed to send producer request with correlation id 11 to broker 0 with data for partitions [my-topic,1] 解决办法:修改kafka service配置文件加入advertised.host.name=服务器ip地址 把值设置为空的话会kafka监听端口在所有的网卡上绑定。但是在外网访问时,客户端又遇到了java.nio.channels.ClosedChannelException异常信息,server端用tcpdump分析的时候发现客户端有传递kafka所在机器的机器名过来。在client里断点跟踪一下发现是findLeader的时候返回的元信息是 机器名 而不是IP。客户端无法解析这个机器名所以出现了前面的异常。 在server.properties 里还有另一个参数是解决这个问题的 advertised.host.name 参数用来配置返回的host.name值,把这个参数配置为外网IP地址即可。这个参数默认没有启用,默认是返回的java.net.InetAddress.getCanonicalHostName的值,在我的电脑上这个值并不等于hostname的值而是返回IP

HDFS的HA集群原理分析

泄露秘密 提交于 2020-01-07 00:52:28
1.简单hdfs集群中存在的问题 不能存在两个NameNode 单节点问题 单节点故障转移 2.解决单节点问题 找额外一个NameNode备份原有的数据 会出现脑裂 脑裂:一个集群中多个管理者数据不一致 这种情况称之为脑裂 3.如何解决启动多个NameNode时保证同一时刻只有一个NameNode工作 避免脑裂发生   QJM 使用Zookeeper完成高可用 4.面试问题 在HA集群中 如果zk与NameNode(active) 出现网络延迟这种情况时,zk会自动切换NameNode(standy) 为活跃节点 这个时候集群中就出现了多个NameNode active 进而出现脑裂问题 Journal Node可以解决脑裂问题 它有两个作用: 负责NameNode中edits同步 隔离机制 保证在这一时刻只能有一个NameNode active 使用ssh登录到NameNode节点上使用kill命令杀死NameNode 来源: https://www.cnblogs.com/xiaoh1/p/12151920.html

分布式锁

孤街醉人 提交于 2020-01-06 21:05:42
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1、概念 什么是分布式? 分布式的 CAP 理论告诉我们:任何一个分布式系统都无法同时满足一 致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。 目前很多大型网站及应用都是分布式部署的,分布式场景中的数据一 致性问题一直是一个比较重要的话题。基于 CAP理理论,很多系统在设计之初就要对这三者做出取舍。在互联⽹网领域的绝大多数的场景中,都需要牺牲强一致性来换取系统的高可用性,系统往往只需要保证最终一致 性,我们为了保证数据的最终一致性,需要很多的技术方案来支持,⽐如分布式事务、分布式锁等。 什么是锁? 在单进程的系统中,当存在多个线程可以同时改变某个变量(可变共享变量)时,就需要对变量或代码块做同步,使其在修改这种变量时能够线性执行消除并发修改变量。 而同步的本质是通过锁来实现的。为了实现多个线程在一个时刻同一 个代码块只能有一个线程可执⾏,那么需要在某个地⽅做个标记,这个标记必须每个线程都能看到,当标记不存在时可以设置该标记,其余后续线程发现已经有标记了则等待拥有标记的线程结束同步代码块取消标记后再去尝试设置标记。这个标记可以理理解为锁。 不同地⽅实现锁的⽅式也不一样,只要能满足所有线程都能看得到标记即可。如 Java

Hadoop2.6.5的伪分布式,全分布式,HA(高可用)搭建步骤

情到浓时终转凉″ 提交于 2020-01-06 18:09:55
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 伪分布式 (single node setup) --------------------------- 安装jdk、配置环境变量,测试 免秘钥 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys hadoop包安装并配置环变:hadoop-2.6.5.tar.gz Hadoop的第二次JAVA_HOME 环境变量配置 vi hadoop-env.sh vi mapred-env.sh vi yarn-env.sh 配置core-site.xml vi core-site.xml <property> <name>fs.defaultFS</name> <value>hdfs://node06:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/var/sxt/hadoop/local</value> </property> 配置hdfs-site.xml <property> <name>dfs.replication</name> <value>1</value> </property>

搭建zookeeper环境

扶醉桌前 提交于 2020-01-06 18:09:40
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> zookeeper 是一个强一致的分布式数据库,由多个节点共同组成一个分布式集群,挂掉任意一个节点,数据库仍然可以正常工作。 独立模式 下载 zookeeper 打包文件,并进行解压 ➜ ~ tar -xvzf apache-zookeeper-3.5.6-bin.tar.gz 进入 zookeeper 的解压目录,重命名 conf 目录下的配置文件 ➜ apache-zookeeper-3.5.6-bin mv conf/zoo_sample.cfg conf/zoo.cfg 启动 zookeeper ,使用 start-foreground 启动到前台,方便查看服务的输出信息 ➜ apache-zookeeper-3.5.6-bin bin/zkServer.sh start-foreground 仲裁模式 在 zoo.cfg 的基础上进行编辑,创建 zoo_1.cfg 、 zoo_2.cfg 及 zoo_3.cfg 需要额外追加的配置信息。冒号分割的第二部分和第三部分为 TCP 端口号,分别用于仲裁通讯和群首选举。 server.1=127.0.0.1:2222:2223 server.2=127.0.0.1:3333:3334 server.3=127.0.0.1:4444:4445 当启动一个服务器时

Why does my chart (jqplot) fail to render until I press a button when integrated with zk?

核能气质少年 提交于 2020-01-06 05:02:36
问题 I am using zk to display a page and as part of that I include an html/js page that holds the chart I want to display using jqplot. If I load the html file by itself the plot shows up fine. When I include it in the zul page, it fails to show up. However there is a reset button (it resets the zoom level on the chart) that does appear. If I hit that button, the chart shows up fine. I have no idea why this is happening or how to fix it. Does anyone have any ideas? test.html... <span id="test"

How to selected week in calendar in zk

自古美人都是妖i 提交于 2020-01-05 05:50:08
问题 how to selected whole week in calendar on onclick on Calendar component. Just like this image. 回答1: You can override _markCal js function (used to mark the selected date) to style whole row and fire event to server to update selected dates, please refer to: online demo calendar_as_week_picker.zul WeekPicker.java and related article at my blog 回答2: For the version 7 of zk use: <zk xmlns:w="client"> <style> .custom-selected-node { background-color: #99FF99 !important; } </style> <vlayout>

ZK Reordering With Listbox Without Drag And Drop Event

时间秒杀一切 提交于 2020-01-05 04:39:09
问题 As i am trying This example well define by Nabil Abdel-Hafeez It is working fine with some small issue which i already mentioned in tracker as issue. But i will want to Open a DualBox modal window in which one listbox contain all header name and other listbox will contain which header we will want to show for a listbox(I did this with getitemrendered ).I will want to use same ZUL Code without getitemrendered method.But user can hide the header which he/she do not want to see for a listbox.

ZooKeeper的伪分布式集群搭建以及真分布式集群搭建

徘徊边缘 提交于 2020-01-05 00:04:38
zk集群的一些基本概念 zookeeper集群搭建: zk集群,主从节点,心跳机制(选举模式) 配置数据文件 myid 1/2/3 对应 server.1/2/3 通过 zkCli.sh -server [ip]:[port] 命令检测集群是否配置成功 和其他大多数集群结构一样,zookeeper集群也是主从结构。搭建集群时,机器数量最低也是三台,因为小于三台就无法进行选举。选举就是当集群中的master节点挂掉之后,剩余的两台机器会进行选举,在这两台机器中选举出一台来做master节点。而当原本挂掉的master恢复正常后,也会重新加入集群当中。但是不会再作为master节点,而是作为slave节点。如下: 单机伪分布式搭建zookeeper集群 本节介绍单机伪分布式的zookeeper安装,官方下载地址如下: https://archive.apache.org/dist/zookeeper/ 我这里使用的是3.4.11版本,所以找到相应的版本点击进去,复制到.tar.gz的下载链接到Linux上进行下载。命令如下: [root@study-01 ~]# cd /usr/local/src/ [root@study-01 /usr/local/src]# wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4

How to add many <row> components in ZK in specific position

不打扰是莪最后的温柔 提交于 2020-01-04 07:51:21
问题 I'm working in a ZK application and I need to add <row> 's components based on user input. The zul is like this: <grid id="mygrid"> <rows id="rows"> <row> <cell> <label value="Rows to add 1:"/> </cell> <cell> <textbox id="txt_addRows1"/> </cell> </row> <!-- Here I need to add rows specified in txt_addRows1 --> <row> <cell> <label value="Rows to add 2:"/> </cell> <cell> <textbox id="txt_addRows2"/> </cell> </row> <!-- Here I need to add rows specified in txt_addRows2 --> <row align="right">