microsoft - porta azure
el servicio de blob de almacenamiento de Windows Azure Development no se inicia (4)
Detener BitTorrent. En mi experiencia, este error generalmente es un conflicto de puertos, y BitTorrent generalmente toma el puerto 10000. Si no es BitTorrent, busque otras aplicaciones que puedan estar retenidas en el puerto 10000. Netstat probablemente pueda ayudar.
Cuando comienzo el emulador de almacenamiento de desarrollo, aparece un error
The process cannot access the file because it is being used by another process
Supongo que esto está sucediendo solo para BLOB, otros servicios, es decir, Queue y Tables comienzan con éxito
¿Cual podría ser el problema? Estoy usando Azure SDK v1.4
En mi caso, no había ningún bit de Torrent en mi sistema. Sin embargo, el puerto 1000 estaba siendo utilizado por algunos java.exe. Descubrí que la ejecución local de HDInsight no funciona con el almacenamiento de blobs de Azure. Así que fui a Azure Storage Emulater UI y desmarqué el blob. Después de eso, este problema se resolvió.
Tuve el mismo problema, pero en mi caso, el problema estaba en otro lado. Estaba el sistema de proceso (PID 4) escuchando en el puerto 10,000 , por lo que es obvio que no pude matar ese proceso. La única solución era reiniciar Windows (Windows 7 de 64 bits), pero eso es demasiado extremo y consume mucho tiempo.
La parte más desafiante fue identificar, por qué el proceso del sistema escucha en ese puerto. Google no ayudó en absoluto en este caso.
Así que simplemente intenté conectarme al puerto 10,000 en localhost usando Netcat (mejor Telnet) y enviar algo allí:
$ nc 127.0.0.1 10000
Rápidamente me di cuenta de la respuesta, que hay un servidor HTTP escuchando en el puerto 10,000. La información más importante en la respuesta fue este encabezado:
Server: Microsoft-HTTPAPI/2.0
Luego fue realmente rápido liberar este puerto para Azure Emulator. Una breve búsqueda en Google reveló los detalles sobre lo que realmente está haciendo esto: HTTP Server API , y lo más importante, ¿ quién lo está haciendo ?: Servicios HTTP de Windows .
Luego fui a Services Management Console , encontré el servicio llamado Service WinHTTP WPAD que se estaba ejecutando y simplemente lo detuve . Y voila, el puerto 10,000 ahora es gratis como un pájaro.
¿Alguien sabe cómo funciona? Supongo que una tercera aplicación crea un servidor HTTP de escucha en el puerto 10,000 usando el servicio WinHTTP WPAD . Dudo que sea algo de Microsoft, ya que no configurarían Azure Emulator para usar el puerto que ya usaban.
Este podría ser otro proceso que usa el puerto que Azure dev storage está usando.
Para averiguar qué aplicación es esa, ejecute netstat
primero:
netstat -p tcp -ano | findstr :10000
Obtendrá una identificación de proceso (PID) en la última columna:
TCP 0.0.0.0:10000 0.0.0.0:0 LISTENING 2204
Significa que el proceso de escuchar este puerto es ID 2204. Luego ejecute taklist
:
tasklist /fi "pid eq 2204"
Entonces verás algo como esto:
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
SMSvcHost.exe 2204 Services 0 29 300 K
Entonces ahora sabe que SMSvcHost.exe
está escuchando en ese puerto.
Si no puede detener el proceso utilizando el puerto, hay una forma de reasignar los puertos utilizados por DevFabric. La solución está tomada de esta publicación de blog :
Usted puede hacer eso navegando a C: / Archivos de programa / Windows Azure SDK / v1.4 / bin / devstore (reemplace 1.4 con su versión de SDK) y abriendo DSService.exe.config . Desde allí, puede cambiar la configuración y hacer que sus servicios escuchen otros puertos.
Para mí en v1.6, la ruta era C:/Program Files/Windows Azure Emulator/emulator/devstore/DSService.exe.config
Para SDK v2.5 / Storage v3.4, la ruta es %ProgramFiles(x86)%/Microsoft SDKs/Azure/Storage Emulator/WAStorageEmulator.exe.config
Para Emulator v4 +, la ruta es %ProgramFiles(x86)%/Microsoft SDKs/Azure/Storage Emulator/AzureStorageEmulator.exe.config
Pero tenga cuidado, porque ya no podrá usar UseDevelopmentStorage=true
en su cadena de conexión (por ejemplo, conectarse con Azure Storage Explorer).
-
DsInit
no ayuda - Especificar la cadena de conexión de esta manera https://.com/a/7037036/182371 tampoco ayuda.
Para conectarse, use una cadena de conexión personalizada que se dirija a los nuevos puertos de punto final que definió. Igual querrá conectarse utilizando el nombre y la clave de la cuenta del emulador de almacenamiento conocido y estándar . Una cadena de conexión de ejemplo se puede encontrar aquí .