建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块

吃橘子不吃...

发帖: 11粉丝: 1

级别 : 版主

Rank: 7Rank: 7Rank: 7

发消息 + 关注

发表于2019-8-12 17:25:41 2274 20 楼主 显示全部楼层
【FAQ】Kafka全景实践课程FAQ文档--群内提问前请查询此文档

Hello!欢迎参加Kafka全景实践课


这是一篇帮助帖,我们会将每节课的常见问题和难点疑点记录在帖子中

为减少群内打扰,节省大家的时间,请遇到问题后先查阅本帖内容,如没有对应解答,再在用户群中提问哦!

 

常用链接

(1)每日课程更新链接:https://education.huaweicloud.com:8443/courses/course-v1:HuaweiX+CBUCNXP017+Self-paced/about?isAuth=0&cfrom=hwc

备注:8月12日-16日每日上午10点发布当天课程内容


(2)打卡链接:https://w.url.cn/s/AX2jKda 

备注:打卡时间为每日10:00-24:00,需根据操作指导上传对应截图


【积分公示】

本期课程活动(2019年8月12日-16日)已结束,积分及抽奖资格公示见下方附件PDF


特别说明:

由于有的同学一天打了多次卡,有的打卡没有上传截图,导致计算时识别到没有截图记为无成绩。先将这部分同学补充如下,且附件PDF名单已修正:

名单补充.PNG

【必看】Kafka实践课前准备.pdf 309.15 KB,下载次数:36 预览

dms.kafka.demo.rar 7.17 KB,下载次数:76

【已修正】20190812期《Kafka全景实践课》积分公示.pdf 724.89 KB,下载次数:5 预览

举报
分享

分享文章到朋友圈

分享文章到微博

吃橘子不吃...

发帖: 11粉丝: 1

级别 : 版主

Rank: 7Rank: 7Rank: 7

发消息 + 关注

发表于2019-8-12 19:01:03 沙发 显示全部楼层

【活动流程FAQ】

 

1、课程什么时间开始?

本期Kafka全景实践课从8月12日起-8月16日结束,包括周末,每天早上10点前,小助手会通过学习社群的 群公告 发布当天的课程资料链接。也就是说,各位只要在当天10点后查看群公告,就可以通过链接查看到当天的全部课程资料。

2、如何知道自己成功参加活动?

成功进入“华为云Kafka全景实践课”微信群,即视为成功参加活动。

 

3、学习形式?

每日课程内容包括:学习视频+学习文档+操作指导每日10:00课程发布后,可在 华为云学院 可找到当天课程内容:

https://education.huaweicloud.com:8443/courses/course-v1:HuaweiX+CBUCNXP017+Self-paced/about?isAuth=0&cfrom=hwc

 

4、每日学习时间?

打卡时间:早10:00至晚24:00;专家驻群答疑时间:每天16:00至17:00。

 

5、在哪里打卡,如何打卡

打卡需要在微信小程序“小打卡”内完成,点击链接https://w.url.cn/s/AX2jKda 进入《华为云Kafka全景实践课》圈子进行打卡。


Kafka课程打卡规则:

1) 打卡时间:每日10:00~24:00;

2) 打卡方式:每日完成课程后,按小助手提供的打卡示例,根据课程作业要求上传相应的文字解答或截图作为打卡日记,即可完成打卡;

3) 打卡须知:

①打卡若需上传截图,则打卡截图中需显示华为云账号,且必须为当日操作截图;

②采用闯关打卡模式,每日只计算一次有效打卡。若当日未进行打卡,后续不可补打卡;

③社群助手将对每日的打卡内容进行审核,审核周期为1-3个工作日。未按照要求上传的打卡将被视为无效打卡,不计入打卡天数;

 

6、如何联系答疑专家?

每日课程均有对应答疑专家负责解答疑问,早10:00前小助手会发布群公告,告知答疑人员名单和打卡示例;答疑时间为开课期间每天下午16:00~17:00。

 

7、如何获得实践资源?

必看:课程实践资源准备文档,点击文档右上角下载按钮可以下载PDF文档查看

https://education.huaweicloud.com:8443/courses/course-v1:HuaweiX+CBUCNXP017+Self-paced/courseware/84c86953da4a464aa213cfda443169d9/1503a901ae3f4bccaa77c3f590e88605/


8、我为什么无法免费领取Kafka实例?

(1)Kafka实例免费领取链接: https://console.huaweicloud.com/dms/?region=cn-east-2&engine=kafka&activityID=P19073112240419018PYOYO118AX12&pkgID=PPP1908060617061770VRWRQY1EGRHLC&activityType=exp#/queue/newCreateKafka

(2)为防止盗领,您的华为云账户一定要是实名认证过的账户;实名认证请使用银行卡认证速度快,身份证认证需要三天;请勿使用企业账户;

(3)Kafka实例每人限领取1次,领取有效期至8月16日,资源有效期为1个月;如已领取则无法再领。

(4)目前可用区4已无资源,请选择可用区1或2或3(选择一个即可);

(5)如果虚拟私有云VPC是空白的,请先点击链接创建上海二虚拟私有云:https://console.huaweicloud.com/vpc/?region=cn-east-2#/vpcs  

 

9、我为什么无法购买1元的ECS资源?

(1)ECS1元资源购买链接:https://account.huaweicloud.com/usercenter/#/buyservice/grainCloud?promotionId=P1908071154336520ILZT02001V60L&promotionPlanId=PPP1908071146088111UNH2F51VTR7JB&solutionCode=promotion.activity.cn-east-2.2019087-191341-222

(2)ECS资源仅发放给8月12日12:00前提交问卷的用户,未填写问卷者无法领取1元资源。

(3)问卷中提交的华为云账号无效,导致发放失败。发放失败的用户将在8月12日20点前重新统一发放。

友情提醒:华为云用户名是华为云官网右上角头像旁边的名称,不是你的手机号和邮箱

(4)为防止盗领,您的华为云账户一定要是实名认证过的账户;实名认证请使用银行卡认证速度快,身份证认证需要三天;请勿使用企业账户;

(5)弹性云服务器ECS1元体验套餐每人限购1次,购买有效期至8月16日,资源有效期为5天;如已购买则无法再领。

 

10、每日课程内容包括什么?

(1)每天的学习资料包中,学习视频+学习文档是需要大家阅读理解消化的内容;

(2)操作指导是当日需要实践操作的指导文档,用于辅助大家顺利进行实践操作,并完成打卡任务;

(3)打卡截图是每天完成学习后,需要提交的凭证,提交的截图必须是示例给出的截图页面,为了防止盗图打卡,大家也要按要求截取的页面显示出自己的华为云账号凭证

否则审核人员有权直接删除打卡记录,并不予补打卡。

 

11、学习课程前的相关准备工作?

(1)参与实践的用户请确认Kafka实例资源ECS资源准备完毕

(2)本课程推荐使用Chrome浏览器,避免出现页面显示等浏览器兼容性问题。

(3)课程文档以PDF格式展现,浏览器没有下载PDF插件会看不到课程内容,下载PDF插件即可。

(4)浏览器需要允许弹出窗口,请检查浏览器设置,取消阻止弹出窗口。

(5)从网页pdf中拷贝的命令,容易出现字符丢失等问题。建议您在PDF复制后,粘贴到“记事本(.txt)”文档中,再复制使用。

  

12、打卡积分规则及活动奖品明细和领取、发放流程?

积分规则和抽奖方式:

在规定小程序内完成打卡,可获得相应积分,累计满70积分以上即可获取抽奖机会,仅在规定统计日期有效,过期判定为无效。

1) 一次有效打卡即计入10分;

2) 邀请好友加入圈子计入10分;

3) 在课程第5天的时候参与调查问卷即可计入20分;

4) 抽奖在课程结束之后发出积分明细,3个工作日内进行抽奖并公示获奖名单;

5) 用户达到相应的的积分要求即可参与抽奖:

累计满70积分参与抽取三等奖5名(50元京东购物卡);

累计满80积分参与抽取二等奖3名《深入理解Kafka:核心设计与实践原理》;

累计满90积分以上参与抽取一等奖2名(华为小天鹅无线蓝牙音箱4.0)

注意:小程序的积分排名仅做参考,实际积分计算按上述规则进行,我们会对打卡数据进行汇总并在课程结束后公布积分明细


奖品发放说明:

小助手会联系获奖用户收集邮寄信息,活动结束后将统一发出奖品,所有奖品均包邮,不额外收取任何费用。

 

13、如何邀请好友加入打卡圈子?

打卡小打卡小程序,进入本次活动打卡圈子,点击“…”按钮,邀请好友,即可邀请朋友加入

3.png

点赞 回复 举报

吃橘子不吃...

发帖: 11粉丝: 1

级别 : 版主

Rank: 7Rank: 7Rank: 7

发消息 + 关注

发表于2019-8-13 09:21:39 板凳 显示全部楼层

【Day1 FAQ】

1、已经领取了Kafka实例,为什么我看不到“创建Topic”的按钮?

如果账户欠费则无法创建Topic,请适当充值即可恢复正常。


2、ECS购买后选错了操作系统镜像怎么办?

在ECS控制台,找到相应的ECS服务器,更多→关机→切换操作系统至:Ubuntu 14.4 

image.png



3、ECS的密码(password)是多少?

购买时如未设置ECS密码,则可以在ECS关机状态下重置密码,重置之后使用新密码登录即可

image.png



4、怎么查kafka 某个topic 的消息总数?

可在进入kafka控制台→实例列表→操作列→更多,查看监控


【Day2 FAQ】

1、Day2操作文档最后的代码如何编译?现成dms.kafka.demo编译包直接下载?

可在本楼附件中下载编译包,解压后得到.jar文件即可使用



【Day3 FAQ】

1、生产者发送消息→消费者消费完,那么消费者处理完的结果最终会返回给生产者吗?

消费和生产 互相不感知,消费结果是否需要通知到生产侧由业务决定,比如和通过一个response topic,将处理结果,封装成消息,发送到response topic,生产侧消费这个topic,查看消费结果。比如 订单请求放在request topic,订单处理结果放在response topic


2、关于Kafka 的高可靠性。第二节课里,生产者的消息不是马上发送的,而是放在内存里,达到一定条件后才发送消息到Kafka里。假设这个时候生产者的机器宕机了,那是不是所有生产者的消息都没了?一般有什么办法保证消息能发送到Kafka 服务器上。生产的消息放在本地缓存还没发送,对应的消息是没有response的,只有response 成功的消息才认为发送成功,本地未发送的消息丢了,认为是没有发送成功的,需要重发

生产的消息放在本地缓存还没发送,对应的消息是没有response的,只有response 成功的消息才认为发送成功,本地未发送的消息丢了,认为是没有发送成功的,需要重发


3、topic 一般是根据什么划分的?例如是针对业务?还是针对某个集群?

topic基于业务划分


【Day4 FAQ】


1、kafka消费者如何取最新的消息,或者指定的offset消息?

假如没有记录消费进度,可以通过配置auto.offset.reset 为latest,自动取新的消息,consumer有seek方法,指定offset消费


2、生产端的消息,如果采用gzip压缩之后,还可以上传么?

producer支持配置gzip消息压缩,kafka server看到的都是字节不关注消息格式,是否压缩,序列化,反序列化,都在客户端处理



dms.kafka.demo.rar 7.17 KB,下载次数:12

点赞 回复 举报

wifiapp

发帖: 4粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2019-8-13 12:32:01 地板 显示全部楼层

image.png

华为云帐号:wjsandy

已信息登记过


点赞 回复 举报

吃橘子不吃...

发帖: 11粉丝: 1

级别 : 版主

Rank: 7Rank: 7Rank: 7

发消息 + 关注

发表于2019-8-13 15:06:53 5# 显示全部楼层
wifiapp 发表于 2019-8-13 12:32 华为云帐号:wjsandy已信息登记过

Kafka实例是开放免费领取的,请先确认下FAQ中第8条是否均满足,然后您再试下

点赞 回复 举报

吃橘子不吃...

发帖: 11粉丝: 1

级别 : 版主

Rank: 7Rank: 7Rank: 7

发消息 + 关注

发表于2019-8-13 15:36:56 7# 显示全部楼层

【Day2 FAQ】

1、Day2操作文档最后的代码如何编译?现成dms.kafka.demo编译包直接下载?

可在本楼附件中下载编译包,解压后得到.jar文件即可使用


dms.kafka.demo.rar 7.17 KB,下载次数:

点赞 回复 举报

kikioo

发帖: 0粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2019-8-13 16:14:52 8# 显示全部楼层

Xshell无法连接公网ip,本地到公网ip可以ping通,ecs到本地ping不同。请问如何解决呢?

点赞 回复 举报

zxl0715

发帖: 0粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2019-8-13 18:54:04 9# 显示全部楼层
kikioo 发表于 2019-8-13 16:14 Xshell无法连接公网ip,本地到公网ip可以ping通,ecs到本地ping不同。请问如何解决呢?

建议查看下 ECS 的云服务器 安全组有没有开放22端口

点赞 回复 举报

我是个菜鸟

发帖: 0粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2019-8-13 20:38:01 10# 显示全部楼层

一模一样的代码,只是换了个package名字,为什么在客户端就无法运行代码了,还报了错误;我的maven中的包如下

<dependency>
  <groupId>org.apache.kafka</groupId>
  <artifactId>kafka_2.12</artifactId>
  <version>1.1.0</version>
</dependency>

打包命令如下:

<build>
  <plugins>

    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jar-plugin</artifactId>
      <version>2.6</version>
      <configuration>
        <archive>
          <manifest>
            <addClasspath>true</addClasspath>
            <classpathPrefix>lib/</classpathPrefix>
            <mainClass>com.kafka.App</mainClass>
          </manifest>
        </archive>
      </configuration>
    </plugin>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-dependency-plugin</artifactId>
      <version>2.10</version>
      <executions>
        <execution>
          <id>copy-dependencies</id>
          <phase>package</phase>
          <goals>
            <goal>copy-dependencies</goal>
          </goals>
          <configuration>
            <outputDirectory>${project.build.directory}/lib</outputDirectory>
          </configuration>
        </execution>
      </executions>
    </plugin>

  </plugins>
</build>

代码如下:

package com.kafka;

import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.Producer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.clients.producer.RecordMetadata;

import java.util.Properties;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;

/**
 * Hello world!
 */
public class App {
   public static void main(String[] args) throws ExecutionException, InterruptedException {
      int num = 2;
      if (args.length != num) {
         throw new IllegalArgumentException("usage: com.kafka App topic-name");
      }
      Properties properties = new Properties();
      properties.setProperty("bootstrap.server", args[0]);
      properties.put("acks", "all");
      properties.put("retries", 0);
      properties.put("batch.size", 16384);
      properties.put("linger.ms", 1);
      properties.put("buffer.memory", 33554432);
      properties.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
      properties.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
      Producer<String, String> producer = new KafkaProducer<>(properties);
      for (int i = 0; i < 100; i++) {
         Future<RecordMetadata> result = producer.send(new ProducerRecord<String, String>(args[1], Integer.toString(i), Integer.toString(i)));
         RecordMetadata rm = result.get();
         System.out.println("topic: " + rm.topic() + ", partition: " + rm.partition() + ", offset: " + rm.offset());
      }
      producer.close();
   }
}

课件中的代码如下:

package dms.kafka.demo;
import
java.util.Properties;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.Producer;
import org.apache.kafka.clients.producer.P
roducerRecord;
import org.apache.kafka.clients.producer.RecordMetadata;
public class KafkaProducerDemo
{
public static void main(String[] args) throws InterruptedException,
ExecutionException
{
if (args.length != 2)
{
throw new IllegalArgumentException("usage:
dms.kafka.demo.KafkaProducerDemo bootstrap
-
servers topic
-
name.");
}
Properties props = new Properties();
props.put("bootstrap.servers", args[0]);
6
props.put("acks", "all"
);
props.put("retries", 0);
props.put("batch.size", 16384);
props.put("linger.ms", 1);
props.put("buffer.memory", 33554432);
props.put("key.serializer",
"org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer",
"org.apache.kafka.common.serialization.StringSerializer");
Producer<String, String> producer = new KafkaProducer<>(props);
for (int i = 0; i < 100; i++)
{
Future<RecordMetadata> result
=
producer.send(new ProducerRecord<String, String>(args[1],
Integer.toString(i), Integer.toString(i)));
RecordMetadata rm = result.get();
System.out.println("topic: " + rm.topic() + ", partition: " +
rm.partition() +
", offset: " + rm.offset());
}
producer.close();
}
}



xshell的命令操作如下

java -cp .:./libs/* com.kafka.App 192.168.0.69:9092 topic-test01

尝试的命令如下:

java -jar libs/huawei-kafka-1.0-SNAPSHOT.jar 192.168.0.69:9092 topic-test01

报错如下:

Exception in thread "main" org.apache.kafka.common.KafkaException: Failed to construct kafka producer
	at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:456)
	at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:303)
	at com.kafka.App.main(App.java:30)
Caused by: org.apache.kafka.common.config.ConfigException: No resolvable bootstrap urls given in bootstrap.servers
	at org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses(ClientUtils.java:66)
	at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:405)
	... 2 more

麻烦老师解释一下这个原因

点赞 回复 举报

zerongozne

发帖: 0粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2019-8-13 22:00:58 11# 显示全部楼层
吃橘子不吃橘子皮 发表于 2019-8-13 15:36 【Day2 FAQ】1、Day2操作文档最后的代码如何编译?现成dms.kafka.demo编译包直接下载?可在本楼附件中下载编译包,解压后得到.jar文件即可

报错啊,用不了,Could not find or load main class dms.kafka.demo.KafkaProducerDemo


点赞 回复 举报

游客

您需要登录后才可以回帖 登录 | 立即注册