小编Tha*_*nos的帖子

React Native 和 build.gradle

我是 React Native 的新手,我和一位同事一起开发了一个新应用程序。我创建了一个新的 React Native 项目,它也生成了一个 .gitgnore 文件。其中所有 .gradle 文件(以及 /android/ 文件夹中的 build.gradle 文件)都被忽略。

当我将项目推送到 Github 并且我的同事拉动时,他npm install下载了 node_modules(也被排除了 <- 我已经阅读了这背后的理性)然后他运行react-native run-android. 这失败了。我们意识到,如果他在 /android/ 中创建 build.gradle 文件并复制粘贴我在本地拥有的 build.gradle 的内容(被 git 忽略),一切都会顺利运行。

我的主要问题是:1) build.gradle 文件是否应该像默认情况下 react native 那样被忽略?2)如果是,如果团队需要以某种方式获取 build.gradle 内容以在他们这边运行项目,他们应该如何处理 React Native 项目?3) 如果我的磁盘驱动器出现故障会怎样?我可以从 git 中提取所有内容,但我不会拥有 build.gradle。我应该从头开始纠正吗?

.gitignore 文件的内容:

# OSX
#
.DS_Store

# Xcode
#
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
project.xcworkspace

# Android/IntelliJ
# …
Run Code Online (Sandbox Code Playgroud)

android gradle react-native

5
推荐指数
1
解决办法
1万
查看次数

从 LAN 外部访问 Kafka 代理

我使用下面的默认命令启动一个普通的 Zookeeper/Kafka 代理,这些命令在一台机器的Kafka 文档中进行了描述(我们称之为Machine A

bin/zookeeper-server-start.sh config/zookeeper.properties
bin/kafka-server-start.sh config/server.properties
Run Code Online (Sandbox Code Playgroud)

这些在机器 A 中的 localhost:9092 处启动一个代理。

然后,我转到同一网络上的另一台计算机(让我们将其命名为Machine B ),并通过调用此命令创建 Kafka 提供的默认使用者

bin/kafka-console-consumer.sh --bootstrap-server IP_ADDRESS_HERE:9092 --topic test --from-beginning
Run Code Online (Sandbox Code Playgroud)

其中 IP_ADDRESS_HERE 是托管代理的机器 A 的本地网络中的 IP 地址(例如 192.168.1.10)

一切正常。然后我尝试从本地网络外部的机器(我们称之为机器 C)访问代理。我进入路由器配置,并为托管代理的计算机(计算机 A)执行端口转发。例如我执行以下操作

192.168.1.10:9092 --> 9094
Run Code Online (Sandbox Code Playgroud)

这意味着我将 192.168.1.10 设备(机器 A)的内部 9092 端口转发到路由器的端口 9094。然后,我转到YouGetSignal等服务并检查我的公共IP 地址(例如 97.190.92.128)的端口 9094 是否打开。我收到一条消息,表明该端口确实已打开。

当我尝试使用以下命令从机器 C 消耗机器 A 中的 borker 时

bin/kafka-console-consumer.sh --bootstrap-server PUBLIC_IP_ADDRESS_HERE:9094 --topic test --from-beginning
Run Code Online (Sandbox Code Playgroud)

其中 PUBLIC_IP_ADDRESS_HERE 是机器 A 所在网络的公共 IP …

networking portforwarding apache-kafka

4
推荐指数
1
解决办法
4523
查看次数

Docker/Kafka连接两个不同的容器

我正在使用wurstmeister 的 docker-kafka项目在容器中运行 kafka/zookeeper。我使用 localhost 作为变量来构建容器KAFKA_ADVERTISED_HOST_NAME: localhost

我编写了一个 Java 应用程序,它使用 flink 连接并使用这个 Kafka 容器的主题之一。如果我导出一个可运行的 jar 并从我的机器上运行它,它绝对可以正常工作。当我创建以下图像以从另一个 docker 容器运行 jar 时,我收到一个异常(执行后大约 30 秒),Exception in thread "main" org.apache.flink.runtime.client.JobExecutionException: org.apache.kafka.common.errors.TimeoutException: Timeout expired while fetching topic metadata我认为这与我的 Java 程序无法与另一个容器中运行的 Kafka 服务器通信有关。

这是我的 Java 应用程序的 dockerfile:

# Dockerfile

FROM anapsix/alpine-java

MAINTAINER myself myself

COPY myApp.jar /home/myApp.jar

CMD ["java","-jar","/home/myApp.jar"]
Run Code Online (Sandbox Code Playgroud)

这是 wurstmeister 的 docker kafka 的 docker-compose.yml:

version: "3.5"

networks:
  myNetwork:
    name: myNetwork
    driver: bridge

services:
  zookeeper:
    image: wurstmeister/zookeeper
    ports:
      - …
Run Code Online (Sandbox Code Playgroud)

apache-kafka docker docker-compose

2
推荐指数
1
解决办法
3856
查看次数