我们有大约12 种服务和其他应用程序,例如 presto。
我们正在考虑为每个服务和应用程序构建 Docker 容器。将它们全部 dockerize 是否正确?
什么时候 Docker 容器不是理想的解决方案?
我们正在使用presto群集作为分布式SQL查询
我们的集群规模
1台机器作为协调器机器
12台Presto工人机器
每台计算机的内存大小为64G,并且每台计算机上仅安装了presto应用程序
关于jvm.config
工人,看起来像这样
-server
-Xmn10G
-Xmx50G
-XX:+UseG1GC
-XX:+ExplicitGCInvokesConcurrent
-XX:+CMSClassUnloadingEnabled
-XX:+AggressiveOpts
-XX:+HeapDumpOnOutOfMemoryError
Run Code Online (Sandbox Code Playgroud)
以及jvm.config
像这样的事前协调员
-server
-Xmn4096M
-Xmx30G
-XX:ReservedCodeCacheSize=600M
-XX:MaxHeapFreeRatio=30
-XX:MinHeapFreeRatio=10
-XX:+UseG1GC
Run Code Online (Sandbox Code Playgroud)
我们将Xmn
和Xmx
值设置为上述值,但此设置仅是估计值
我们能否获得帮助,如何根据MAX内存-64G调整Xmn和Xmx,因此presto群集性能将调整到最佳实践规模
这是我尝试获取 Kafka 版本时的方式
rpm -qa | grep "^kafka_"
kafka_2_6_5_0_292-1.0.0.2.6.5.0-292.noarch
Run Code Online (Sandbox Code Playgroud)
Kafka 版本是 1.0 ,所以我做了以下操作以削减 Kafka 版本
rpm -qa | grep "^kafka_" | sed s'/-/ /g' | awk '{print $2}' | cut -c 1-3
1.0 <----- results
Run Code Online (Sandbox Code Playgroud)
上面的 cli 似乎没有那么优雅和冗长的语法
我们能不能做得更好,也许使用 Perl 或 Python one liner 命令?
我们设置log retention hours
为 1 小时如下(之前设置为 72H)
使用以下 Kafka 命令行工具,我们将 kafka 设置retention.ms
为1H
. 我们的目标是清除主题 - 中早于 1H 的数据test_topic
,因此我们使用了以下命令:
kafka-configs.sh --alter \
--zookeeper localhost:2181 \
--entity-type topics \
--entity-name topic_test \
--add-config retention.ms=3600000
Run Code Online (Sandbox Code Playgroud)
并且
kafka-topics.sh --zookeeper localhost:2181 --alter \
--topic topic_test \
--config retention.ms=3600000
Run Code Online (Sandbox Code Playgroud)
两个命令都运行没有错误。
但问题在于 Kafka 数据比 1H 还旧并且仍然存在!
实际上没有从主题topic_test
分区中删除数据。我们有 HDP Kafka 集群版本 1.0x 和 ambari
我们不明白为什么关于主题的数据 -topic_test
仍然存在?并且即使在我们按照已经描述的方式运行两个 cli 之后也没有减少
以下 kafka cli 有什么问题?
kafka-configs.sh --alter --zookeeper localhost:2181 --entity-type topics …
Run Code Online (Sandbox Code Playgroud) 有时我们的 linux 机器上有一个巨大的文件 /root/.ssh/authorized_keys
,这是因为文件中有很多重复的行,如下所示
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6yaJuzX2QldXj9jI/IYbJQuYDTUf232IbkefUDG4sZxkkScbiqC4skJs9bC58iovYxMVLB7YijIHDri7ONfKzixooSfpf8x18JdmSTkEl7WVTPm3TI/fPVP7DDOoBbqpTeZzS6cFVRMceve3ecFp/Z
D02RfLy6FHu3Y9o55g4Hlm+IgRq+QflsSoY3khZhaxofyzYIchg9NI1RzEZJQEBIMlQZMd+bRiBoAtzqI2BtKd5YmnBmxGHhnZLswSeo7hz+2cAPe+Ng37V91cSuygQJyKf20f1DmhSKHvHEDU3EXDPbjO8H0LNz6OEhsjwUj+G5dcJA04wY0Y1+qCfRz
kR root@server1.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6yaJuzX2QldXj9jI/IYbJQuYDTUf232IbkefUDG4sZxkkScbiqC4skJs9bC58iovYxMVLB7YijIHDri7ONfKzixooSfpf8x18JdmSTkEl7WVTPm3TI/fPVP7DDOoBbqpTeZzS6cFVRMceve3ecFp/Z
D02RfLy6FHu3Y9o55g4Hlm+IgRq+QflsSoY3khZhaxofyzYIchg9NI1RzEZJQEBIMlQZMd+bRiBoAtzqI2BtKd5YmnBmxGHhnZLswSeo7hz+2cAPe+Ng37V91cSuygQJyKf20f1DmhSKHvHEDU3EXDPbjO8H0LNz6OEhsjwUj+G5dcJA04wY0Y1+qCfRz
kR root@server1.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6yaJuzX2QldXj9jI/IYbJQuYDTUf232IbkefUDG4sZxkkScbiqC4skJs9bC58iovYxMVLB7YijIHDri7ONfKzixooSfpf8x18JdmSTkEl7WVTPm3TI/fPVP7DDOoBbqpTeZzS6cFVRMceve3ecFp/Z
D02RfLy6FHu3Y9o55g4Hlm+IgRq+QflsSoY3khZhaxofyzYIchg9NI1RzEZJQEBIMlQZMd+bRiBoAtzqI2BtKd5YmnBmxGHhnZLswSeo7hz+2cAPe+Ng37V91cSuygQJyKf20f1DmhSKHvHEDU3EXDPbjO8H0LNz6OEhsjwUj+G5dcJA04wY0Y1+qCfRz
kR root@server1.com
Run Code Online (Sandbox Code Playgroud)
删除这些重复行以便只出现唯一行的最佳方法是什么?
我们需要删除远程计算机上 VIA ssh 的重复行
我们使用的是 Kafka 版本 - 2.7.1。集群包括 5 台 Linux RHEL 7.6 版本上的 Kafka 机器
\n我们希望在所有 5 个代理上执行 Kafka 重启,但由于 Kafka 集群是生产集群,因此滚动重启应该是正确的方法。
\n所以我们编写了 bash 脚本来执行以下操作
\nsystemctl
命令)除了上述步骤 \xe2\x80\x93 1-4 之外,在 kafka02、kafka03、kafka04、kafka05 上继续执行相同的步骤 1-4。
\n我们要添加有关 \xe2\x80\x93 的验证,验证启动 Kafka 代理后没有出现损坏的索引 (出现在 Kafka 日志 - server.log
),然后再继续下一个 Kafka 代理
但我们不确定是否需要这个额外步骤
\n注意 - Kafka 代理重新启动后 - 通常server.log
我们可以看到 …
我们打算在 docker 容器上构建 presto 集群
我们有12 台 RHEL 机器,
简单的实现是在每台 Linux 机器上的 docker 容器上设置 presto 服务
另一方面,我们正在考虑以下不同的计划,我们将不胜感激获得有关此计划的反馈
因为我们有 12 台物理 Linux 机器
我们可以在每台 Linux 机器上构建 4 个 docker 容器
当每个 docker 容器将包含 presto 服务时
所以总的 presto 工人将是 4 X 12 = 48
我们有如下文件
more file
-rwxrwxrwt 3 hdfs hdfs 30 2021-06-09 07:10 /noij/gtdf/license_alerts/alert_1_1623222654527
-rwxrwxrwt 3 hdfs hdfs 30 2021-06-09 07:10 /noij/gtdf/license_alerts/alert_1_1623222654679
-rwxrwxrwt 3 hdfs hdfs 30 2021-06-09 07:10 /noij/gtdf/license_alerts/alert_1_1623222654744
-rwxrwxrwt 3 hdfs hdfs 30 2021-06-09 08:02 /noij/gtdf/license_alerts/alert_1_1623225746040_69
-rwxrwxrwt 3 hdfs hdfs 30 2021-06-09 08:02 /noij/gtdf/license_alerts/alert_1_1623225746059_66
-rwxrwxrwt 3 hdfs hdfs 30 2021-06-09 08:02 /noij/gtdf/license_alerts/alert_1_1623225746061_65
-rwxrwxrwt 3 hdfs hdfs 30 2021-06-09 08:02 /noij/gtdf/license_alerts/alert_1_1623225746162_65
Run Code Online (Sandbox Code Playgroud)
虽然我需要取最后一个数字但排除数字是否包含 1-3 位数字
预期结果应该是
1623222654527
1623222654679
1623222654744
Run Code Online (Sandbox Code Playgroud)
所以我到目前为止的方法是
sed s'/_/ /g' file | awk '{print $NF}'
Run Code Online (Sandbox Code Playgroud)
但它的印刷品
1623222654527
1623222654679
1623222654744
69 …
Run Code Online (Sandbox Code Playgroud) 来自 presto 文档:
task.concurrency
描述:
https: //prestosql.io/docs/current/admin/properties.html
Type: integer
Restrictions: must be a power of two
Default value: 16
Default local concurrency for parallel operators such as joins and aggregations. This value should be adjusted up or down based on the query concurrency and worker resource utilization.
Lower values are better for clusters that run many queries concurrently because the cluster will already be utilized by all the running queries, so adding more concurrency will result in slow downs due …
Run Code Online (Sandbox Code Playgroud) 我们有带有docker和docker compose的Linux redhat机器
现在我们要清理所有容器和图像-就像我们刮了一个新的docker
据我了解,我们需要按此顺序执行以下过程:
我对这个程序正确吗?,或者我错过了什么?
1. docker stop <CONTAINER ID>
2. docker container rm <CONTAINER ID>
3. docker image rm <IMAGE ID>
Run Code Online (Sandbox Code Playgroud)
例
第一次找到-容器ID
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
654fa81f4439 confluentinc/cp-enterprise-control-center:5.0.0 "/etc/confluent/dock…" 9 minutes ago Up 9 minutes 0.0.0.0:9021->9021/tcp control-center
Run Code Online (Sandbox Code Playgroud)
1)
停止容器
docker stop 654fa81f4439
654fa81f4439
Run Code Online (Sandbox Code Playgroud)
2)
删除容器
docker container rm 654fa81f4439
654fa81f4439
Run Code Online (Sandbox Code Playgroud)
3)
查找图像ID
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
confluentinc/cp-enterprise-control-center 5.0.0 e0bd9a5edb95 15 months ago 617MB
Run Code Online (Sandbox Code Playgroud)
删除图片
ocker image rm …
Run Code Online (Sandbox Code Playgroud) We have Kafka confluent cluster , cluster include 3 Kafka brokers ,
Version details:
Kafka machines are installed on rhel version 7.2
Kafka confluent version is 0.1x
Zookeeper version: 3.4.10
schema-registry version: 4.0.0
Run Code Online (Sandbox Code Playgroud)
Each Kafka broker machine include the following services
Kafka broker
Zookeeper server
Schema registry
Run Code Online (Sandbox Code Playgroud)
Now we want to add a additionally new 3 Kafka
brokers machines to the current Kafka cluster ( the Additional Kafka machines are – kafka04/05/06
with the same Kafka version – 0.1X
, …
我们在集群中构建了18台kafka机器,kafka版本是1.0,在linux机器上
目前我们有 3 个 Zookeeper 服务器,但我们不知道 3 个 Zookeeper 服务器是否足以容纳 18 台 Kafka 机器
请告知我们需要多少个 Zookeeper 服务器来为 18 台 Kafka 机器提供服务?
我正在使用这个 Python (Python 3) 代码,以便获取所有主题的列表
\n作为:
\nmore test.py\n\nlist = os.popen(" kafka-topics.sh \xe2\x80\x93zookeeper zoo_server:2181 --list | sed '/^[[:space:]]*$/d' ").read().split('\\n')\nprint (list)\n
Run Code Online (Sandbox Code Playgroud)\n当我运行 python 脚本时,我注意到最后一行如下所示
\n\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6\n\xe2\x80\xa6\xe2\x80\xa6\xe2\x80\xa6.'topic32', 'topic33', 'topic34 , \xe2\x80\x98 \xe2\x80\x98]\n
Run Code Online (Sandbox Code Playgroud)\n所以最后一个单词实际上是空的,因为在单引号之间,因为\xe2\x80\x98 \xe2\x80\x98
我们没有主题名称
这很奇怪,因为在行中我使用 sed -sed '/^[[:space:]]*$/d'
来删除空行,并且当我运行以下命令时实际上不是空行
kafka-topics.sh \xe2\x80\x93zookeeperzoo_server:2181 --list | sed '/^[[:space:]]*$/d' \n
Run Code Online (Sandbox Code Playgroud)\n我的 Python 行有什么问题吗?
\n例如,当我跑步时
\nkafka-topics.sh \xe2\x80\x93zookeeper zoo_server:2181 --list | sed '/^[[:space:]]*$/d'\n\ntopic1\ntopic2\ntopic3\n.\n.\n.\n
Run Code Online (Sandbox Code Playgroud)\n apache-kafka ×5
linux ×4
docker ×3
presto ×3
awk ×2
containers ×2
python ×2
sed ×2
bash ×1
dockerfile ×1
grep ×1
java ×1
performance ×1
perl ×1
python-3.x ×1
redhat ×1
rhel ×1
ssh ×1
trino ×1