小编Lui*_*ina的帖子

如何为Kafka设置Java选项?

我一直在尝试使用Kafka,并从主站点上的文档中看到,您可以为jvm设置不同的选项,如堆大小和它使用的垃圾收集器:

http://kafka.apache.org/documentation.html#java

然而,它没有说的是如何/在何处设置这些选项.该应用程序附带一个/ config目录,其中包含许多用于配置目的但没有用于Java的文件.它还带有一个/ bin目录,其中包含一堆用于Kafka的脚本,但同样没有真正说明如何配置Java.

所以我的问题是,如何配置Kafka使用的Java选项?它是通过文件完成还是有不同的方式?

java apache-kafka

35
推荐指数
4
解决办法
4万
查看次数

尝试以非root用户身份从容器内部写入已装入的卷时出现问题

我正在使用一个将运行ZooKeeper的容器,但是我遇到了关于我装入容器的主机卷的权限问题.

这是我的设置:

在主机上(Ubuntu 14.04):

  • 创建了"zookeeper"系统用户(id = 106)和组(id = 111).
  • 创建目录"/ var/log/zookeeper"并将其所有权设置为zookeeper(即chown zookeeper:zookeeper).这是我将安装到容器中的目录.

容器内部(Ubuntu 14.04):

  • 还创建了一个"zookeeper"系统用户(id = 102)和group(id = 105),我将其用作在ENTRYPOINT中执行命令的用户.
  • 创建将要挂载的相同目录"/ var/log/zookeeper",并将其所有权设置为zookeeper:zookeeper(虽然我认为这不重要).

一旦我使用/ var/log/zookeeper mount启动我的容器,我在容器内部打开一个shell作为zookeeper用户(在容器内创建),我发现我得到一个"Permission Denied"错误,如果我尝试在挂载目录/ var/log/zookeeper中创建一个文件.当我执行"ls -l"查看此目录的所有权(仍然在容器内)时,它看起来像这样:

drwxr-xr-x 2  106  111   4096 Jun 30 17:18 zookeeper
Run Code Online (Sandbox Code Playgroud)

在这种情况下,106和111对应于主机的zookeeper用户和组ID,我认为这是问题所在.我尝试在容器内部打开一个shell,但这次我以root用户身份进入,上面描述的场景完全正常,只是root是创建的文件的所有者(这是预期的).

由此我得出结论,我需要:

(a)在我的容器内运行应用程序作为默认的root用户,而不是我创建的zookeeper用户.

(b)在我的主机上和id完全相同的容器内创建一个zookeeper用户和组.

这两种情况都不理想,因为对于(a),以root用户身份运行应用程序可能存在潜在的安全问题(从我已经阅读过的内容),对于(b),要使id匹配到期可能非常困难事实上,他们可能已被其他已创建的用户(您无法控制)使用.

有没有人曾经处理过这样的事情?我可能会忽略其他可能的解决方案吗?

permissions docker ubuntu-14.04 apache-zookeeper

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

如何向 Kubernetes 提供 AWS 凭证?

我正在 AWS 上设置 Kubernetes 集群,作为 API 服务器配置的一部分,我提供了--cloud-provider=aws设置。

但是,一旦它启动,我就会在日志中看到它抱怨没有 AWS 凭证: NoCredentialProviders: no valid providers in chain

经过一番搜索,似乎大多数人通过使用“kube-up”脚本解决了这个问题。但是,对于那些不使用脚本来设置集群的人,我们如何为 Kubernetes 提供 AWS 凭证?

amazon-web-services kubernetes

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