No es una -línea, pero...
$ new_lines='\\nexport KAFKA_HEAP_OPTS=\\"-Xmx8g -Xms8g\\"\\nexport KAFKA_JVM_PERFORMANCE_OPTS=\\" -XX:MetaspaceSize=96m -XX:+UseG1GC-XX:MaxGCPauseMillis=20 - XX:InitiatingHeapOccupancyPercent=35 -XX:G1HeapRegionSize=16M-XX:MinMetaspaceFreeRatio=50 - XX:MaxMetaspaceFreeRatio=80\\"'
$ new_content=$( jq '.items[0].properties.content' file.json | sed 's/"$/'"$new_lines"'"/')
$ jq '.items[0].properties.content = '"$new_content" file.json
{
"href": "http://master02:8080/api/v1/clusters/HDP/configurations?type=kafka-env&tag=version1527250007610",
"items": [
{
"href": "http://master02:8080/api/v1/clusters/HDP/configurations?type=kafka-env&tag=version1527250007610",
"tag": "version1527250007610",
"type": "kafka-env",
"version": 8,
"Config": {
"cluster_name": "HDP",
"stack_id": "HDP-2.6"
},
"properties": {
"content": "\n#!/bin/bash\n\n# Set KAFKA specific environment variables here.\n\n# The java implementation to use.\nexport JAVA_HOME={{java64_home}}\nexport PATH=$PATH:$JAVA_HOME/bin\nexport PID_DIR={{kafka_pid_dir}}\nexport LOG_DIR={{kafka_log_dir}}\nexport KAFKA_KERBEROS_PARAMS={{kafka_kerberos_params}}\nexport JMX_PORT=9997\n# Add kafka sink to classpath and related depenencies\nif [ -e \"/usr/lib/ambari-metrics-kafka-sink/ambari-metrics-kafka-sink.jar\" ]; then\n export CLASSPATH=$CLASSPATH:/usr/lib/ambari-metrics-kafka-sink/ambari-metrics-kafka-sink.jar\n export CLASSPATH=$CLASSPATH:/usr/lib/ambari-metrics-kafka-sink/lib/*\nfi\n\nif [ -f /etc/kafka/conf/kafka-ranger-env.sh ]; then\n. /etc/kafka/conf/kafka-ranger-env.sh\nfi\nexport KAFKA_HEAP_OPTS=\"-Xmx8g -Xms8g\"\nexport KAFKA_JVM_PERFORMANCE_OPTS=\" -XX:MetaspaceSize=96m -XX:+UseG1GC-XX:MaxGCPauseMillis=20 - XX:InitiatingHeapOccupancyPercent=35 -XX:G1HeapRegionSize=16M-XX:MinMetaspaceFreeRatio=50 - XX:MaxMetaspaceFreeRatio=80\"",
"is_supported_kafka_ranger": "true",
"kafka_log_dir": "/var/log/kafka",
"kafka_pid_dir": "/var/run/kafka",
"kafka_user": "kafka",
"kafka_user_nofile_limit": "128000",
"kafka_user_nproc_limit": "65536"
}
}
]
}
Para verificar el nuevo contenido de forma legible:
$ printf "$new_content\n"
"
#!/bin/bash
# Set KAFKA specific environment variables here.
# The java implementation to use.
export JAVA_HOME={{java64_home}}
export PATH=$PATH:$JAVA_HOME/bin
export PID_DIR={{kafka_pid_dir}}
export LOG_DIR={{kafka_log_dir}}
export KAFKA_KERBEROS_PARAMS={{kafka_kerberos_params}}
export JMX_PORT=9997
# Add kafka sink to classpath and related depenencies
if [ -e "/usr/lib/ambari-metrics-kafka-sink/ambari-metrics-kafka-sink.jar" ]; then
export CLASSPATH=$CLASSPATH:/usr/lib/ambari-metrics-kafka-sink/ambari-metrics-kafka-sink.jar
export CLASSPATH=$CLASSPATH:/usr/lib/ambari-metrics-kafka-sink/lib/*
fi
if [ -f /etc/kafka/conf/kafka-ranger-env.sh ]; then
. /etc/kafka/conf/kafka-ranger-env.sh
fi
export KAFKA_HEAP_OPTS="-Xmx8g -Xms8g"
export KAFKA_JVM_PERFORMANCE_OPTS=" -XX:MetaspaceSize=96m -XX:+UseG1GC-XX:MaxGCPauseMillis=20 - XX:InitiatingHeapOccupancyPercent=35 -XX:G1HeapRegionSize=16M-XX:MinMetaspaceFreeRatio=50 - XX:MaxMetaspaceFreeRatio=80""
Я думаю, что обсуждение в комментариях к другому ответу заслуживает отдельного ответа:
Во-первых, хотя вы можете просмотреть таблицу маршрутизации с помощью ip route
или route -n
и самостоятельно решить, что, скорее всего, произойдет, проще просто попросить ядро с помощью ip route get a.b.c.d
просмотреть таблицы маршрутизации (. да, в современной системе Linux больше таблиц,а route -n
показывает только основную таблицу )и сообщает результат.
Во-вторых, эмпирическое правило проектирования сети гласит: «каждый хост получает только одиночный сетевой интерфейс в каждой подсети, к которой он подключен». Здесь виртуальные машины, сетевые пространства имен и т. д. считаются дополнительными «хостами», даже если они работают на одном и том же оборудовании.
Следствием этого является «нет, вы не назначаете несколько IPv4-адресов одному и тому же сетевому интерфейсу» (, если вы не знаете, что делаете, но тогда вы делаете это на свой страх и риск ).
Причина в том, что ничего не выиграешь, сделав подсеть доступной через разные сетевые интерфейсы. :Она так или иначе попадет в ту же подсеть.
Если вы нарушаете эти правила, как вы делали выше, когда у вас есть две беспроводные локальные сети, подключенные к одной и той же подсети:
10.0.0.0/24 dev wlp3s0 proto kernel scope link src 10.0.0.120
10.0.0.0/24 dev wlx00e04c221395 proto kernel scope link src 10.0.0.143
то, что происходит, не определено. Как видите, ядро linux с радостью выбирает один из сетевых интерфейсов случайным образом в качестве пунктов назначения 10.0.0.*
.
Либо они действительно подключаются к двум разным сетям WLAN. В этом случае измените диапазон IP-адресов одной из WLAN, например. до 10.0.1.0/24. Или это одна и та же WLAN, и в этом случае наличие двух адаптеров WLAN не имеет смысла.
Аналогично правилу по умолчанию. У вас должно быть только одно правило по умолчанию; наличие нескольких правил означает, что поведение не определено, и правило выбирается случайным образом. Это означает, что пакеты в одном соединении отправляются случайным образом с разными параметрами (, например. исходные адреса ), а хост, с другой стороны, распознает только один набор параметров (, тот, с которым было открыто соединение ), отбросит другие пакеты и будет рассматривать отсутствующие пакеты как потерянные пакеты. Это потому, что стандартные интернет-протоколы являются «едиными». Существуют множественные -домашние протоколы (, такие как SCTP или множественные -домашние расширения TCP ).но в настоящее время они не используются достаточно широко, чтобы быть полезными.
Так что нет, вы не можете использовать двух интернет-провайдеров для подключения к Интернету и сделать «интернет быстрее» (, если только у вас нет сложного способа решить, какое соединение использовать, например. по адресу назначения ). Это часто задаваемые вопросы, которые задают каждую неделю или около того.
Я надеюсь, что ответил на все (или, по крайней мере, на большинство )вопросов, которые вы не задали в исходном вопросе.
Проверьте таблицу маршрутов с помощью приведенной ниже команды, здесь Столбец метрики обычно определяет приоритеты маршрутизации,
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.42.0.2 0.0.0.0 UG 50 0 0 eth1
0.0.0.0 10.42.0.1 0.0.0.0 UG 100 0 0 eth0
Этот приоритет зависит от последовательности появления интерфейса после перезагрузки/запуска. Вы также можете повлиять на приоритет с помощью следующей команды
sudo ifmetric <interface> <priority>