Linux

solr_small

Instalar Solr y configurar multiples cores en Linux Ubuntu

0

Aclaraciones:

  • 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.

1263055237_start-here-ubuntuoriginal

Instalar java 6 en Ubuntu 11.10

1

El 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.

Herramientas

Linux (Consola): Eliminar una linea especifica de un archivo de texto

0

Hace 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”

Herramientas

Linux (Consola): Imprimir una linea especifica de un archivo de texto

1

Cuando 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”

1263055237_start-here-ubuntuoriginal

KVM/libvirt: el guest (anfitrion) no detecta la interface virbr0 [Solución]

0

Si 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
Go to Top