我是卡夫卡的新手.我注意到在Consumer配置中有两个id.一个是group.id(强制性),第二个是consumer.id(非强制性).请告诉我为什么2 Ids和差异.
我在我的项目中使用SLF4J(1.6.1)+ logback(1.1.2).在进行构建时,我注意到在"将当前配置注册为安全回退点"后,此日志我的构建服务器无法继续.问题是什么以及如何解决这个问题.
我使用Scala编写了Kafka流程序并在Spark独立集群中执行.代码在我的本地工作正常.我在Azure VM中完成了Kafka,Cassandra和Spark设置.我已打开所有入站和出站端口以避免端口阻塞.
开始大师
sbin目录> ./ start-master.sh
开始奴隶
sbin#./ start-slave.sh spark:// vm-hostname:7077
我已在Master WEB UI中验证了此状态.
提交工作
bin#./ spark-submit --class xyStreamJob --master spark:// vm-hostname:7077 /home/user/appl.jar
我注意到在WEB WEB UI中添加并显示了Application.
我已经向主题发布了一些消息,并且没有收到消息并将其保存到Cassandra DB.
我在主Web控制台上单击了应用程序名称,发现该应用程序控制台页面中的Streaming选项卡不可用.
为什么应用程序不能在VM中运行并且在本地运行良好?
如何在VM中调试问题?
def main(args: Array[String]): Unit = {
val spark = SparkHelper.getOrCreateSparkSession()
val ssc = new StreamingContext(spark.sparkContext, Seconds(1))
spark.sparkContext.setLogLevel("WARN")
val kafkaStream = {
val kafkaParams = Map[String, Object](
"bootstrap.servers" ->
"vmip:9092",
"key.deserializer" -> classOf[StringDeserializer],
"value.deserializer" -> classOf[StringDeserializer],
"group.id" -> "loc",
"auto.offset.reset" -> "latest",
"enable.auto.commit" -> (false: java.lang.Boolean) …
Run Code Online (Sandbox Code Playgroud) 我是 Python 的新手。我已经使用 Django 编写了 Web 服务来将图像保存在服务器中。我正在尝试使用下面的代码将绘图保存为图像,并且在 Python 抛出错误之后它可以正常工作 3 次。如何解决这个问题?
Exception ignored in: <bound method Image.__del__ of <tkinter.PhotoImage object at 0x000000000FE40048>>
Traceback (most recent call last):
File "c:\dev\lib\tkinter\__init__.py", line 3504, in __del__
self.tk.call('image', 'delete', self.name)
RuntimeError: main thread is not in main loop
Exception ignored in: <bound method Image.__del__ of <tkinter.PhotoImage object at 0x0000000010996438>>
Traceback (most recent call last):
File "c:\dev\lib\tkinter\__init__.py", line 3504, in __del__
self.tk.call('image', 'delete', self.name)
RuntimeError: main thread is not in main loop
Exception ignored in: …
Run Code Online (Sandbox Code Playgroud) 我正在研究骆驼线程池并使用池大小和最大池大小。我的理解是每个请求将由一个线程处理,如果请求 > 池大小,将使用最大池大小在池中创建一个新线程。为了确保我的理解,我在 POC 下做了。
public class FileMoverRoute extends SpringRouteBuilder {
@Override
public void configure() throws Exception {
CamelContext context = getContext();
ExecutorService executorService = new ThreadPoolBuilder(context)
.poolSize(1).maxPoolSize(10).maxQueueSize(100).build("CustomThreadPool");
from("file://C:/from").log("Received ${body}:${threadName}").threads().executorService(executorService)
.log("Processing ${body}:${threadName}").process(new FileProcessor()).to("file://C:/to");
}
}
public class FileProcessor implements Processor{
public void process(Exchange exc) throws Exception {
Map<String, Object> headerMap = exc.getIn().getHeaders();
System.out.println(" sleep for minute");
TimeUnit.MINUTES.sleep(1);
System.out.println(" woke up"+headerMap);
}
}
Run Code Online (Sandbox Code Playgroud)
我在文件处理器中睡了 1 分钟。如果我从文件夹中放入 1 个文件(1.txt),我可以在控制台中看到收到和处理日志。如果将接下来的 2 个文件 (2.txt,3.txt) 文件从文件夹中放入。我可以看到 2 个未处理日志的文件的接收日志。由于我的最大池大小是 10,camel 应该增加线程并选择文件。
我是Helm的新手.我在我的Windows系统上安装了Minikube&Helm.我可以使用Helm创建pod,并在仪表板中查看部署,pods和replicaset.
我想使用Helm进行滚动更新.指导我如何使用Helm在K8s中进行滚动更新.
使用Helm创建Tomcat pod
掌舵创造你好世界
在deployment.yaml中更改了映像名称和部署名称
kind: Deployment
metadata:
name: mytomcat
spec:
containers:
- name: {{ .Chart.Name }}
image: tomcat
Run Code Online (Sandbox Code Playgroud)
安装
helm安装hello-world
NAME: whopping-dolphin
LAST DEPLOYED: Wed Aug 30 21:38:42 2017
NAMESPACE: default
STATUS: DEPLOYED
RESOURCES:
==> v1/Service
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
whopping-dolphin-hello-world 10.0.0.178 <none> 80/TCP 0s
==> v1beta1/Deployment
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
mytomcat 1 1 1 0 0s
NOTES:
1. Get the application URL by running these commands:
export POD_NAME=$(kubectl get pods --namespace default -l "app=hello-world,release=whopping-dolphin" …
Run Code Online (Sandbox Code Playgroud) 我试图添加如果伟大而不是Helm图表中的条件.这是投掷错误.
我在values.yaml中定义了值,并在deployment.yaml中使用该值作为条件.
values.yaml
replicaCount: 2
Run Code Online (Sandbox Code Playgroud)
deployment.yaml
rollingUpdate:
maxSurge: 1
{{ if gt .Values.replicaCount 2}}
maxUnavailable: 0
{{ else }}
maxUnavailable: 1
{{ end }}
Run Code Online (Sandbox Code Playgroud)
我正在使用helm dry run选项来检查结果.得到错误
Error: render error in "hello-world/templates/deployment.yaml": template: hello-world/templates/deployment.yaml:16:12: executing "hello-world/templates/deployment.yaml" at <gt .Values.replicaCo...>: error calling gt: incompatible types for comparison
Run Code Online (Sandbox Code Playgroud)
怎么解决这个问题?
我使用 Camel 开发了订阅(主题)概念。它在我的本地 tomcat 中工作正常。但它在我的测试环境 tomcat 中不起作用。它正在出现下面提到的错误。请帮助我解决问题以及如何调试问题。
是否与服务器配置有关?
错误
org.apache.camel.component.jms.JmsMessageListenerContainer refreshConnectionUntilSuccessful
SEVERE: Could not refresh JMS Connection for destination 'TOPIC-NAME' - retrying in 5000 ms. Cause: JMSWMQ0018: Failed to
connect to queue manager 'QUEUE-MANAGER' with connection mode 'Client' and
host name 'HOST-NAME'.; nested exception is com.ibm.mq.MQException:
JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED')
reason '2059' ('MQRC_Q_MGR_NOT_AVAILABLE').
Run Code Online (Sandbox Code Playgroud)
问候, Gnana
我正在使用 Tomcat 8.xx 并使用 startup.sh 启动 tomcat。我使用 JPS 命令验证了 tomcat 已启动并正在运行。我正在使用catalina.sh stop 100停止 Tomcat 。根据 catalina shell 脚本,它将等待 100 秒以终止 tomcat 进程。但是tomcat进程立即终止,通过JPS命令验证。
为什么正常关机不起作用?
如何在Tomcat中实现优雅关机?
java ×3
apache-camel ×2
kubernetes ×2
tomcat ×2
apache-kafka ×1
apache-spark ×1
go ×1
go-templates ×1
ibm-mq ×1
jms-topic ×1
logback ×1
matplotlib ×1
minikube ×1
python ×1
python-3.x ×1
scala ×1
shutdown ×1
slf4j ×1
streaming ×1
threadpool ×1
tomcat8 ×1