Начну в порядке от самой простой реализации до самой сложной.
Начну в порядке от самой простой реализации до самой сложной.
Да, именно с таким сообщением начала падать kafka спустя некоторое время после запуска. Включение режима debug немного увеличило “понятность”
ERROR Error while accepting connection (kafka.network.Acceptor)
java.net.SocketException: Invalid argument
at sun.nio.ch.Net.setIntOption0(Native Method)
at sun.nio.ch.Net.setSocketOption(Net.java:341)
at sun.nio.ch.SocketChannelImpl.setOption(SocketChannelImpl.java:190)
at sun.nio.ch.SocketAdaptor.setBooleanOption(SocketAdaptor.java:271)
at sun.nio.ch.SocketAdaptor.setTcpNoDelay(SocketAdaptor.java:306)
at kafka.network.Acceptor.accept(SocketServer.scala:654)
at kafka.network.Acceptor.run(SocketServer.scala:579)
at java.lang.Thread.run(Thread.java:748)
Что бы запустить скрипт разово, существует несколько методов:
ASLR (англ. address space layout randomization — «рандомизация размещения адресного пространства») — технология, применяемая в операционных системах, при использовании которой случайным образом изменяется расположение в адресном пространстве процесса важных структур данных, а именно образов исполняемого файла, подгружаемых библиотек, кучи и стека.
И так, нам нужен собственно сам сертификат в формате PEM, который нужно положить в правильное место:
– Linux: /usr/share/ca-certificates/mozilla
– FreeBSD: /usr/share/certs/trusted
– OpenBSD: /etc/ssl/cert.pem
– Oracle Solaris /etc/certs/CA
Теперь нужно сгенерировать симлинк с именем хеша в папку с сертификатами. Тут есть 2 варианта: использовать утилиту c_rehash (доступна в пакете openssl-perl) или сделать это вручную. Если не хотите ничего сломать и нужно сделать для одного сертификата, то лучше вручную. Делается так:
Нашёл хорошую статью на эту тему. Данный функционал появился, начиная с 11.3
Если попробовать “прослушать” IPSec трафик, то ничего не выйдет. Но выход всё-таки есть. Вот набор команд, которые позволят это сделать:
sysctl net.enc.in.ipsec_filter_mask=0
sysctl net.enc.out.ipsec_filter_mask=0
ifconfig enc0 up
tcpdump -ni enc0
Что такое REUSEPORT? Если кратко, то в много поточном приложении позволяет каждому потоку напрямую привязаться к tcp socket’y (адрес:порт). Это позволяет быстрее принимать пакеты (без REUSEPORT пришлось бы получать пакеты через мастер-процесс).
В статье рассмотрим, как можно узнать/понять, использует ли ваше приложение REUSEPORT штатными средствами ОС. О том, как обстоит поддержка REUSEPORT в разных ОС написана очень неплохая статья, но вот касательно Solaris данные там устаревшие.
Если значения по умолчанию вам не очень подходят:
int zfs_top_maxinflight = 32; /* maximum I/Os per top-level */ int zfs_resilver_delay = 2; /* number of ticks to delay resilver */ int zfs_scrub_delay = 4; /* number of ticks to delay scrub */ int zfs_scan_idle = 50; /* idle window in clock ticks */ int zfs_scan_min_time_ms = 1000; /* min millisecs to scrub per txg */ int zfs_free_min_time_ms = 1000; /* min millisecs to free per txg */ int zfs_resilver_min_time_ms = 3000; /* min millisecs to resilver per txg */ int zfs_no_scrub_io = B_FALSE; /* set to disable scrub i/o */ int zfs_no_scrub_prefetch = B_FALSE; /* set to disable srub prefetching */
EXTRA_PATCHES в /etc/make.conf .if ${.CURDIR:M*/emulators/open-vm-tools} EXTRA_PATCHES=/path/to/vmware-guestd.in.patch .endif Если патчей много на разные порты, то можно недавно придуманный EXTRA_PATCH_TREE использовать.
ПС. Совет не мой, увидел в рассылке