LINUX.ORG.RU

Сообщения anymouse

 

Неожиданное поведение docker stack

 

Добрый день! Есть два контейнера с медиавики, которые созданы командой docker compose ( см. под катом первый листинг )

Посоветуйте порядок действий, если мне нужно остановить контейтеры, потенциально изменить конфигурацию, и запустить их снова?

Сможет ли кто-то объяснить такое поведение ( смотри второй листинг ): В результате остановки и запуска контейнера с хешом 78882d4b4360 появляется новый контейнер с хешом 009ed3f3c1ed

Есть основной контейтер с Apache и PHP и зависимый c MariaDB, всё, как советует MediaWiki.

( читать дальше... )

anymouse
()

Как готовить hadoop 2 в nutch 1.15

 ,

Привет,

Кто может поделиться инсайтами в области настройки hadoop 2.7.4 для nutch 1.15 ?

Оно может час делать фазу reduce после работы Fetcher, работая с контентом 2 млн. страниц, по часу делать фазы Generate и Merge, при том, что в базе всего навсего 30 млн. страниц.

Такая база может спокойно поместиться в оперативку, но hadoop считает иначе, делает кучу отдельных заданий для Mapper.

Это как-то лечится, например, настройками dfs.blocksize и числом потоков для маппера?

Пока придумал, как заменить hadoop наколенной поделкой: база урлов заменяется на файл БД, который сортируется по полю URL чем-то вроде GNU sort, вычисления фазы Merge заменить на GNU join или подобное, ну а Generate - это просто линейный проход по сортированной базе URL. Ожидаю прироста скорости на 2 порядка. При этом, все эти немудреные алгоритмы считаются, как и в hadoop, используя внешнюю память.

Чем же hadoop тогда занимается?

anymouse
()

LC_COLLATE и gnu sort

 ,

Привет!

Как такое может быть:

$ LC_COLLATE="C.UTF-8" echo -e "1\t-----------$\n2\tOTHER\n3\t-а$" | LC_COLLATE="C.UTF-8" sort -k2,2 -t $'\t'
1       -----------$
3       -а$
2       OTHER
$ LC_COLLATE="en_US.utf8" echo -e "1\t-----------$\n2\tOTHER\n3\t-а$" | LC_COLLATE="en_US.utf8" sort -k2,2 -t $'\t'
1       -----------$
2       OTHER
3       -а$

Как в стандартной локали en_US.utf8 слово OTHER может оказаться между двумя словами, начинающимися с минусов ? -а$ содержит русскую букву а. если a английское, то все ОК,

Если это объяснимо свойствами локали, то нафиг такую локаль, посоветуйте любую юникодную без фокусов.

anymouse
()

анализ данных

 

Привет, ЛОР.

Хочу посоветоваться насчет правильного выбора средств решения задачи. Занимаюсь по сути data-mining'ом.

Например, текущая задача - обработка дампов Википедии с целью извлечения информации о некоторых объектах и сопоставлением этой информации на различных языках. Мой любимый инструмент для решения подобных задач уже несколько лет это утилиты из GNU coreutils - join, sort, comm, grep, shuf, cut и perl для всего, что сложно или невозможно сделать через эти утилиты.

Получаются скрипты вроде такого

sort -k1,1 links/title2id.de.txt > links/title2id.de.title-sorted.txt

# ...

join -t $'\t' -1 1 -2 1 <(cut -f 1,2 result/en/infoblock.txt | sort -t $'\t' -k1,1 ) links/en.ext.txt > result/en/ext-all.txt
# idEn nameEn + idEn linkLang nameLang = idEn nameEn linkLang nameLang

# ...

comm --check-order -23 <( cut -f 4 result/en/ext$1-id.txt | sort -t $'\t' -k1,1  ) result/$1/infoblock.ids.txt > result/en/ext$1-only.txt

В этом подходе для меня почти всё идеально, за исключением двух проблем:

  • Это слишком низкий уровень, работаю с нумерованными колонками, а не именованными полями. Добавление поля в исходные данные взрывает скрипты.
  • Мне не нравится, что нужно пересчитывать всё, если я поменял только одну строчку в длинном скрипте. Я пробовал вставлять конструкции
    if [[ result -ot source ]]; then... 
    Но код раздувается и нет доверия этим проверкам, так как допустить тут ошибку ( пропустить зависимость result от какого-то исходника ) очень просто.

Кто-то скажет, чувак, а теперь открой для себя базы данных. Я помню о базах данных. Это то, для чего они сделаны, но у меня может быть слишком много данных. Например, в англ. Википедии 55 млн. страниц. В примерах, которые показывают мой способ решения, я пользуюсь только внешней памятью, а память для sort можно установить определенную.

Короче говоря, хочется что-то аналогичное тому что использую сейчас, но

  • с проверкой актуальности данных ( не пересчитывать то, что готово ),
  • именованные колонки
  • работой с данными во внешней памяти,
  • возможность вызова Perl или Java ( которые я бм знаю ) для того, чтобы пошерстить регулярками или разобрать XML и выдрать из него что-то и т.п.

Postgres ? XML-базы данных с XSLT ? теряюсь в догадках.

anymouse
()

программист С++

 , ,

В научный проект в области компьютерной лингвистики на базе кафедры компьютерной лингвистики ФИВТ МФТИ ищется программист на C++ для Linux на контрактной основе, для усовершенствования кода индексатора и поиска в поисковой системе, ориентированной на лингвистов. Работа большей частью удаленная, очные встречи в Москве не чаще 1 раза в неделю, + Skype. Предполагается неполная занятость, около 20 часов в неделю. Оплата от 50 тыс. в зависимости от занятости. График и условия оплаты обсуждаем с успешным кандидатом. Если мы сработаемся ( испытательный срок 1,5 месяца ), гарантируется занятость до конца 2016 г.

Последний опыт, наличие которого приветствуется больше всего:

  • Способность писать на C++ ( местами 11x-14x )
  • Претендент должен быть в достаточной степени Linux админом, чтобы контролировать ресурсы 3-4 серверов, используемых для многодневных расчетов и работы backend’a в постоянном режиме
  • Опыт в многосерверных конфигурациях для любого софта под Linux, лучше, если это будет Apache Cassandra
  • Знание gnu coreutils, bash, Perl
  • Менее важно, но, может быть, Вы знаете gnu make или С++ webtoolkit Wt?

Желающим заниматься наукой проект дает возможность опубликовать работу на конференциях по компьютерной лингвистике, есть возможность поступления в аспирантуру. Ждем Ваших писем до 25 апреля по адресу textmining@mail.ru

anymouse
()

Как кому удается быстро писать на Питоне ?

 ,

Обычная программка по парсингу чего-то и пропихивания этого чего-то, в зависимости от формата, в API, которое это поедает.

Основное время занимает отладка исключений AttributeError или другого, которое возникает при вызове несуществующего метода класса или неправильного списка параметров функции или метода.

Не было минуты, чтобы я не назвал себя идиотом за свой выбор языка - я мог бы написать на С++ или Perl, первый проверяет синтаксис, хотя выйдет довольно пухлый код, второй тоже слегка проверяет синтаксис, и кода было бы сильно меньше.

Так вот, спрашивается, какую в таком случае нишу занимает питон ? Мне нужно написать тесты на каждый метод и use case только потому, что питон не чекает синтаксис ?

anymouse
()

ищем знатока gnu core utils, linux, Perl & C++

 , , lingustics,

В научный проект в области компьютерной лингвистики ищется программист Perl, Bash, C++, java с для решения разнообразных задач в области text mining. Работа удаленная. Оплата 60 т.р. в месяц. Занятость не полная, не менее 20 часов в неделю.
Цель проекта - построение лингвистической поисковой системы, позволяющей провести статистические исследования тенденций развития естественных языков, провести различия в использовании конструкций языка в зависимости от пола, возраста, региона и т.д.

Необходимый опыт:

  • Знание утилит gnu core utils Linux ( sort, grep, tac, etc ) – 3-4 года
  • Способность писать на Perl 5, bash, java, C++. Из указанного списка, возможна разработка новых программ на Python или Ruby или Java вместо bash & Perl, но претендент должен быть способен зафиксить, если нужно, имеющиеся скрипты. Программы на Java не сложные, в основном, только поддержка. Знание С++: stl обязательно, фичи 11х не широко используются, кроме auto.

Задачи:

  • Написание отчетной системы, запускаемой по крон, о составе и этапах обработки, через которые прошли тексты,
  • Подготовка индексируемых текстов, программы фильтры в основном написаны, некоторые могут потребовать изменения.
  • Тестирование программы случайного упорядочения большого множества текстов.
  • Принять участие в доработке программы, выполняющей разбор языка запросов к строящемуся корпусу.

Условия:

  • Занятость около 20-30 часов в неделю. Претендент должен делать оговоренный объем в срок, из чего следует, что оплата будет производиться по факту сделанного;
  • Претендент понимает, что результатом работ являются не только программы, но и сами тексты корпуса, проиндексированные и готовые для использования в лингвистической поисковой системе;
  • Претендент имеет достаточно быстрый интернет – канал для доступа по ssh, который оплачивает самостоятельно;
  • Ход работ обсуждается по скайпу ( телефоном или сообщениями ), задачи ставятся в системе trac;
  • Время, удобное для обсуждений – с 11 до 14 часов, с 23 до 03 часов по Московскому времени;
  • Срок занятости в таком режиме предполагается до конца мая 2014 года, после чего возможен переход на полную занятость;


От претендента ожидается письмо с описанием своего опыта в областях:

  • Утилит командной строки для обработки данных и текста;
  • С++ - указать уровень знания языка и stl + boost, несколько слов о проектах, пример кода если есть что показать и претендент может объяснить, почему сделано именно так а не иначе и каким образом можно развить данный код;
  • Знание одного-двух языков из Bash, Perl, Python, Ruby
  • Знание языков разметки HTML, XML, XPATH;


Также интересен ( но не обязателен ) опыт областях:

  • Автоматического морфологического и синтаксического разбора, построения онтологий;
  • Машинного обучения и статистики – weka, liblinear, R;
  • Веб-программирования.


В случае интереса высылать письмо до 23 января по адресу: textmining@mail.ru

Спасибо и жду ваших писем и каментов.

anymouse
()

запретить гостю ходить на хост

 

Задача сделать гостя доступным с хоста, при этом разрешить гостю ходить в интернет, но запретить обращаться к портам хоста через 10.0.2.2 Конфигурация по умолчанию дает хоста в полное распоряжение гостя. Что с этим можно поделать?

anymouse
()

Мощный комп для расчетов

Прошу посоветовать мощный комп для расчетов для научного проекта.

На борту будет 64 гектара оперативки, 6-8 дисков, адаптер для RAID 1+0, проц кажется лучшим на сей момент Intel Core I7-3930K c шестью ядрами и мать ASUS P9X79 PRO. Графическое ядро в любом случае не важно.

Вопрос тем, перед кем недавно вставала такая же задача покупки похожего решения - какая готовая конфигурация существует у фирм, работающих в России, или, может быть сможете посоветовать свою, рабочую конфигурацию.

PS. Имеется в виду псевдо-декстоп решение, которое берет лучшие компоненты как из геймерской, так и серверной линейки, такие компоненты, драйверы для которых известны современным стоковым ядрам, скажем, подошла бы ubuntu 12.04.

anymouse
()

dd bs=?

 

В сомнении нахожусь: предположим, копирую при помощи dd раздел hdd, размер которого не кратен параметру block size. Хочется ведь задать bs побольше, скажем, 1048576, чтобы было меньше позиционирований при чтении и записи. Неясно, как dd поступает при копировании последнего блока, размер которого меньше bs - читает и пишет все то, что осталось, или как-то по другому себя ведет? в man'е про это ни слова.

^|----------|----------|----------|----------|------$
    < bs >                                    <tail>
anymouse
()

клонировать Ubuntu Server

Добрый день!

Есть комп с Ubuntu Server 10.04.3 и установленным софтом. Необходимо распространить операционку и софт на несколько десятков других компов с идентичным железом. В идеале, хотелось бы, чтобы можно было воткнуть флешку и система была бы установлена с минимальным вшешательством устанавливающего.

Поэтому, я прошу совета, при помощи чего можно сделать загрузочную флешку с ядром и базовой системой, взятыми с эталонной машины. После загрузки передать управление своему шелл - скрипту, который разобьет диски на нужные разделы, будет делать parted, pvcreate, mkfs, tar xvzf, dd , etc

В процессе гугления нашелся remastersys. Я не уверен, что это самое то , что надо. Еще есть Clonezilla, но она как я понял больше нацелена на передачу клонов по сети. Еще больше мне понравилось кондовое руководство ( там образ готовится в том числе через debootstrap )но вот вопрос, нет ли скрипта, который делает все это, и, может быть, делает лучше. В последнем случае мне остается только добавить скрипт по развертыванию системы в /etc/rc.local и конце добавить echo «пожалуйста, вытащите флешку» и reboot.

Что посоветуешь, LOR?

anymouse
()

setuid() и членство в дополнительных группах

Данный код запускается на ubuntu 10.04 под рутом. Цель - открыть файл на чтение, притом, что владелец - другой пользователь www-data. Все это нужно для того, чтобы демон работал с данными, загружаемыми в Апач, под пользователем croco c uid 1000. Одного setuid( 1000 ) оказывается недостаточно. Список доп. групп после вызова setuid( 1000 ) содержит gid 0. Если пробовать установить доп. группы до вызова setuid(), файл открывается, но непонятно почему. Прошу объяснить, как установить доп. группы, и почему список групп не включает id 33, хотя неявно применяется.

int main(int argc, char **argv)
{
	gid_t grps[1024];
	grps[0] = 33; // gid of www-data
	if( !setgroups( 1, grps ) ) { puts( strerror( errno ) ); putchar( '\n'); }

	int gi = getgroups( 1024, grps );
	for( int i = 0; i < gi; ++i ) printf( "%d ", grps[gi] ); printf( "\n");

	setuid( 1000 ); // uid of croco

	gi = getgroups( 1024, grps );
	for( int i = 0; i < gi; ++i ) printf( "%d ", grps[gi] ); printf( "\n");

	FILE* f = fopen( "/home/croco/aab", "rb" );
	if( f ) { printf( "aab: OK\n" ); fclose( f ); } else { printf( "aab: failed\n" ); }

	return 0;
}

Кусочек /etc/group:

www-data:x:33:croco

root@uvis:~# stat /home/croco/aab
  File: `/home/croco/aab'
  Size: 8               Blocks: 8          IO Block: 4096   regular file
Device: 821h/2081d      Inode: 1311581     Links: 1
Access: (0660/-rw-rw----)  Uid: (   33/www-data)   Gid: (   33/www-data)
Access: 2011-10-13 13:02:15.654923606 +0400
Modify: 2011-10-13 13:02:12.854834259 +0400
Change: 2011-10-13 13:02:12.854834259 +0400
root@uvis:~# ./right_checker
Success

0
0
aab: OK

Заметим, что список дополнительных групп, возвращаемый getgroups, всегда содержит только группу 0.

Если закомментировать вызов setgroups(), то getgroups возвращает то же 0, но доступ к файлу aab невозможен.

root@uvis:~# ./right_checker
0
0
aab: failed
anymouse
()

Кластеризация IP-адреса

Hi community,

разрабатываем отказоустойчивое хранилище на основе БД Postgres, коллега предлагает, помимо пула балансировщиков нагрузки ( в виде pgpool-II ) на сервера еще и применить аппаратное решение по передаче запросов на пул балансировщиков. Есть ли у такого решения подводные грабли? Способен ли маршрутизатор ступить и передать часть пакетов сессии, ранее установленной с сервером 1, на сервер 2? Что-то еще может быть?

anymouse
()

[kvm][bridge][чудеса]

 , ,

Привет, кто нибудь сталкивался с таким - при выполнении shutdown -h now, или init 0
в консоли VM, где работает ubuntu 10.04.2, завершается host - система( на Ubuntu 10.04.1 )? The system is going down for reboot now!...

команда для запуска вирт. машины такая:

kvm -boot c -hda /dev/sdc1 -m 2048 -net nic,macaddr=02:24:73:7e:f2:95,model=e1000 -net tap -no-reboot -vga std -vnc :8 -cpu core2duo -smp 2 
Иногда ребут виртуалки приводит к зависанию сети с хост машиной. Проблема в том, что машина эта удаленная, я могу только попросить ее перезагрузить. В /var/log ничего нет подозрительного. Установка убунты в виртуалке производилась с эмулятором Realtek-8139, по потом сменил на гигабитную e1000. Может быть, в сетевухе дело? И процессор при установке эмулировался один.
root@server1:~# cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
        address 10.10.10.5
        netmask 255.255.254.0
        gateway 10.10.10.1
        broadcast 10.10.10.255
        network 10.10.10.0
        bridge_ports eth0
        bridge_stp on

root@server1:~# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.126870d492c2       yes             eth0
                                                        tap0
                                                        tap1
                                                        tap2
                                                        tap3
                                                        tap4

как видно, я развожу 5 виртуалок. Куда же смотреть? попутно вопрос, посылка kill <PID VM> эмулирует нажатие кнопки питания?

anymouse
()

[kvm][iAtkos] Гость не видит сеть

 

Всем привет. Прошу совета куда можно копать. хост система - URUNTU 10.04.1 64-bit,

Linux cpd-srv 2.6.32-24-server #39-Ubuntu SMP Wed Jul 28 06:21:40 UTC 2010 x86_64 GNU/Linux
qemu-kvm версии 0.12.5,

root@cpd-srv:~# cat /etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
        address 192.168.170.51
        netmask 255.255.255.192
        gateway 192.168.170.1
        broadcast 192.168.170.63
        network 192.168.170.0
        bridge_ports eth0
        bridge_stp on

в iptables пусто,

root@cpd-srv:~# cat /etc/sysctl.conf

net.ipv4.ip_forward=1
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
запускаю kvm c параметрами

kvm -boot c -hda macos.disk -hdb macos.d -m 1500 -net nic,macaddr=00:01:02:03:04:06,model=rtl8139 -net tap -usb -no-reboot -vga std -vnc :1 -cpu core2duo -cdrom iATKOS_S3_version2.iso

Операционка ставится, но сеть не работает. После установки PCGenRTL8139Ethernet.kext видится сетевая карта, но пинги никуда не идут. - пишет request timeout for icmp_seq ... или no route to host. Например, установка лицензионной винды с -net tap сразу нашла местный dhcp - сервер, сеть не пришлось вообще настраивать.

Если запускаю c -net user, то пингуется дефалтовый адрес 10.0.2.2, и можно ssh-нуться туда. Но сеть очень медленно работает, типичная скорость 200К/s.

В iAtkos v7 поведение аналогичное.

Куда еще можно было б порыть? собрать KVM из исходников? но я не уверен, что проблема именно в нем, так как, винда работает с -net tap.

anymouse
()

RSS подписка на новые темы