LINUX.ORG.RU

Сообщения anymouse

 

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

Форум — Admin

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

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

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

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

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

 

anymouse
()

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

Форум — Development

Привет,

Кто может поделиться инсайтами в области настройки 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

Форум — Development

Привет!

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

$ 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
()

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

Форум — Development

Привет, ЛОР.

Хочу посоветоваться насчет правильного выбора средств решения задачи. Занимаюсь по сути 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
()

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

Форум — Job

В научный проект в области компьютерной лингвистики на базе кафедры компьютерной лингвистики ФИВТ МФТИ ищется программист на 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
()

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

Форум — Development

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

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

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

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

 ,

anymouse
()

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

Форум — Job

В научный проект в области компьютерной лингвистики ищется программист 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

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

 , , lingustics,

anymouse
()

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

Форум — Admin

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

 

anymouse
()

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

Форум — Linux-hardware

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

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

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

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

anymouse
()

dd bs=?

Форум — Linux-install

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

^|----------|----------|----------|----------|------$
    < bs >                                    <tail>

 

anymouse
()

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

Форум — Admin

Добрый день!

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

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

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

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

anymouse
()

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

Форум — Development

Данный код запускается на 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-адреса

Форум — Admin

Hi community,

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

anymouse
()

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

Форум — Admin

Привет, кто нибудь сталкивался с таким - при выполнении 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] Гость не видит сеть

Форум — Admin

Всем привет. Прошу совета куда можно копать. хост система - 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 подписка на новые темы