Linux
Instalar Solr y configurar multiples cores en Linux Ubuntu
0Aclaraciones:
- El proceso de instalación de Solr es valido para cualquier otra versión de Solr.
- Un core es un hilo nuevo dentro de la misma instancia de Solr. Esto permite que se corra una sola instancia de Solr pero con varios buscadores.
Este tutorial asume que tienen instalado Java 7 y tomcat 7. Si tienen las versiones 6 le cambian el numero donde sea oportuno y funciona.
Vamos a ello:
Cuando tengas en tus manos el paquete se Solr, descomprimelo y ponte con la consola dentro de esa carpeta.
Cambia a sudo:
sudo su
Curiosidad: Aunque en el paquete que descargamos de Apache Solr haya al rededor de 2950 archivos solo nos van a hacer falta al rededor de 10:
Lanzamos en consola lo siguiente:
cp dist/apache-solr-*.war /var/lib/tomcat7/webapps/solr.war mkdir /var/lib/tomcat7/solr cp -R example/multicore/core0/ /var/lib/tomcat7/solr/core0 mkdir /var/lib/tomcat7/solr/core0/data sudo chown -R tomcat7:tomcat7 /var/lib/tomcat7/solr/core0
Ahora edita /var/lib/tomcat7/solr/solr.xml, pega lo siguiente y guárdalo.
<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="true" sharedLib="lib">
<cores adminPath="/admin/cores">
<core name="core0" instanceDir="core0">
<property name="dataDir" value="/var/lib/tomcat7/solr/core0/data" />
</core>
</cores>
</solr>
Edita /etc/tomcat7/Catalina/localhost/solr.xml, pega lo siguiente y guárdalo.
<?xml version="1.0" encoding="UTF-8" ?> <Context docBase="/var/lib/tomcat7/webapps/solr.war" debug="0" privileged="true" allowLinking="true" crossContext="true"> <Environment name="solr/home" type="java.lang.String" value="/var/lib/tomcat7/solr" override="true" /> </Context>
Listo, reiniciemos tomcat para ver en funcionamiento el core que hemos creado:
service tomcat7 restart
Entramos en http://localhost:8080/solr/ y lo vamos a ver.
——————————————————————————————————————————-
Bueno ya tenemos un Solr con un core, pero tiene poco sentido montar un Solr de multicores que tenga un solo core, así que vamos a crear uno mas.
Para este nuevo core (y todos los que quieras crear) hay que hacer dos cosas:
1: copiar la carpeta core0 junto a su owner para ahorrarnos de andar creando la misma estructura:
cp -Rp /var/lib/tomcat7/solr/core0 /var/lib/tomcat7/solr/paraDrupall
NOTA: No olvides editar /var/lib/tomcat7/solr/paraDrupal/conf/schema.xml y /var/lib/tomcat7/solr/paraDrupal/conf/solrconfig.xml para ajustar sus parámetros.
2: actualizar /var/lib/tomcat7/solr/solr.xml agregandole un nuevo tag con lo siguiente:
<core name="paraDrupal" instanceDir="paraDrupal"> <property name="dataDir" value="/var/lib/tomcat7/solr/paraDrupal/data" /> </core>
Reinicia tomcat y ya tenes otro core.
Suerte y saludos.
Instalar java 6 en Ubuntu 11.10
1El paquete sun-java6-jdk ha dejado de estar disponible en la ultima versión de ubuntu debido a un cambio de licencias por parte de Oracle, lo cual no quiere decir que no se pueda usar mas, solo deja de estar disponible en los repositorios oficiales de ubuntu, por lo que para instalarlo a lo fácil vamos a agregar un nuevo repositorio e instalarlo desde allí:
sudo add-apt-repository ppa:ferramroberto/java sudo apt-get update sudo apt-get install sun-java6-jdk sun-java6-plugin
Nota final: si tenías instalada otra versión de java u openjdk vas a tener que setear la versión que acabas de instalar mediante el comando:
sudo update-alternatives --config java
Listo.
Linux (Consola): Eliminar una linea especifica de un archivo de texto
0Hace unos días comenté como imprimir una linea por linea de comandos en Linux, pero ¿Y si necesitamos eliminarla?
sed 100d backup.sql
Lo anterior se traduce en “Eliminar la linea 100 del archivo backup.sql”
Linux (Consola): Imprimir una linea especifica de un archivo de texto
1Cuando estas tratando con archivos muy grandes de texto (el mio es de 2.5GB) y necesitas imprimir en consola una sola linea para no tener que abrir el archivo (cosa que veo imposible si pesa 2.5gb…) lo que vas a necesitar es usar el comando sed:
sed -n 39000p backup.sql
Lo anterior se traduce en “Imprimir en la consola la linea 39000 ( treinta y nueve mill ) del archivo backup.sql”
KVM/libvirt: el guest (anfitrion) no detecta la interface virbr0 [Solución]
0Si copiaste una maquina virtual KVM y al arrancar no tenes conexión a Internet, hablas visto depues de hacer ifconfig que no hay interface eth0. Esto pasa porque Linux cachea el mac de la tarjeta de red que tenia en la anterior maquina virtual en el archivo “70-persistent-net.rules“.
La solución es borrarlo y reiniciar la maquina virtual (tranquilo que si Linux no lo encuentra lo recrea).
sudo rm /etc/udev/rules.d/70-persistent-net.rules sudo reboot




