@@ -19,20 +19,150 @@ db {
19
19
}
20
20
```
21
21
22
- ## Ejecutar programa
22
+ ## Instalación de Docker, MariaDB y Docker Compose en Ubuntu
23
23
24
+ ** Paso 1: Instalar Docker**
25
+ 1 . Actualiza tu lista de paquetes existente:
24
26
``` bash
25
- sbt run
27
+ sudo apt-get update
28
+ ```
29
+ 2 . Instala los paquetes necesarios que permiten a apt usar paquetes a través de HTTPS:
30
+ ``` bash
31
+ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
32
+ ```
33
+ 3 . Agrega la clave GPG para el repositorio oficial de Docker a tu sistema:
34
+ ``` bash
35
+ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
36
+ ```
37
+ 4 . Agrega el repositorio de Docker a las fuentes de APT:
38
+ ``` bash
39
+ sudo add-apt-repository " deb [arch=amd64] https://download.docker.com/linux/ubuntu $( lsb_release -cs) stable"
40
+ ```
41
+ 5 . Actualiza el paquete de la base de datos con los paquetes Docker del repositorio recién agregado:
42
+ ``` bash
43
+ sudo apt-get update
44
+ ```
45
+ 6 . Asegúrate de que vas a instalar desde el repositorio de Docker en lugar del repositorio predeterminado de Ubuntu:
46
+ ``` bash
47
+ apt-cache policy docker-ce
48
+ ```
49
+ 7 . Finalmente, instala Docker:
50
+ ``` bash
51
+ sudo apt-get install -y docker-ce
52
+ ```
53
+ 8 . Docker ahora debería estar instalado, el demonio iniciado y el proceso habilitado para iniciar en el arranque. Verifica que esté funcionando:
54
+ ``` bash
55
+ sudo systemctl status docker
56
+ ```
57
+
58
+ ** Paso 2: Instalar MariaDB**
59
+ 1 . Actualiza tu lista de paquetes existente:
60
+ ``` bash
61
+ sudo apt-get update
62
+ ```
63
+ 2 . Luego instala MariaDB con el siguiente comando:
64
+ ``` bash
65
+ sudo apt-get install mariadb-server
66
+ ```
67
+ 3 . Asegúrate de que MariaDB esté funcionando con el comando systemctl start:
68
+ ``` bash
69
+ sudo systemctl start mariadb.service
70
+ ```
71
+
72
+ ** Paso 3: Instalar Docker Compose**
73
+ 1 . Descarga la versión más reciente estable de Docker Compose ejecutando este comando:
74
+ ``` bash
75
+ sudo curl -L " https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$( uname -s) -$( uname -m) " -o /usr/local/bin/docker-compose
76
+ ```
77
+ 2 . A continuación, aplica permisos ejecutables al binario:
78
+ ``` bash
79
+ sudo chmod +x /usr/local/bin/docker-compose
80
+ ```
81
+
82
+ ## Configuración de Replicación en MariaDB
83
+
84
+ 1 . Configuración del Maestro:
85
+
86
+ ``` bash
87
+ # Editar el archivo de configuración de MariaDB
88
+ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
89
+
90
+ # Establecer el identificador único del servidor (server_id)
91
+ server_id = 1
92
+ ```
93
+
94
+ 2 . Configuración del Esclavo:
95
+
96
+ ``` bash
97
+ # Editar el archivo de configuración de MariaDB
98
+ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
99
+
100
+ # Establecer el identificador único del servidor (server_id)
101
+ server_id = 2
102
+ ```
103
+
104
+ 3 . Creación de un Usuario de Replicación:
105
+
106
+ ``` bash
107
+ # Acceder a MariaDB como usuario root
108
+ mysql -u root -p
109
+
110
+ # Crear un usuario de replicación y asignarle los privilegios necesarios
111
+ CREATE USER ' replication_user' @' %' IDENTIFIED BY ' password' ;
112
+ GRANT REPLICATION SLAVE ON * .* TO ' replication_user' @' %' ;
113
+ ```
114
+
115
+ 4 . Obtención de la Información del Maestro:
116
+
117
+ ``` bash
118
+ # Acceder a MariaDB como usuario root
119
+ mysql -u root -p
120
+
121
+ # Obtener la posición binaria actual y la identificación del maestro
122
+ SHOW MASTER STATUS;
123
+ ```
124
+
125
+ 5 . Configuración del Esclavo con la Información del Maestro:
126
+
127
+ ``` bash
128
+ # Acceder a MariaDB como usuario root en el esclavo
129
+ mysql -u root -p
130
+
131
+ # Configurar el esclavo usando la información del maestro (posición binaria y identificación)
132
+ CHANGE MASTER TO MASTER_HOST=' master_ip' , MASTER_USER=' replication_user' , MASTER_PASSWORD=' password' , MASTER_LOG_FILE=' binlog_file' , MASTER_LOG_POS=binlog_position;
133
+ ```
134
+
135
+ 6 . Iniciar la Replicación en el Esclavo:
136
+
137
+ ``` bash
138
+ # Acceder a MariaDB como usuario root en el esclavo
139
+ mysql -u root -p
140
+
141
+ # Iniciar la replicación en el esclavo
142
+ START SLAVE;
143
+ ```
144
+
145
+ ## Ejecución del Proyecto Scala en Docker
146
+
147
+ 1 . Construir la Imagen Docker:
148
+
149
+ ``` bash
150
+ # Construir la imagen Docker
151
+ docker build -t myproject .
152
+ ```
153
+
154
+ 2 . Ejecutar el Contenedor Docker:
155
+
156
+ ``` bash
157
+ # Ejecutar el contenedor Docker
158
+ docker run -d -p 8080:8080 myproject
26
159
```
27
160
28
161
## Docker compose
29
- [ Docker compose] ( https://github.com/Proyecto-Boston/database-scala/blob/main/docker-compose.yml )
162
+ [ Docker- compose] ( https://github.com/Proyecto-Boston/database-scala/blob/main/docker-compose.yml )
30
163
31
164
## Docker maestro
32
- [ Maestro] ( https://github.com/Proyecto-Boston/database-scala/tree/main/docker-master )
33
-
34
- ## Docker esclavo
35
- [ Esclavo] ( https://github.com/Proyecto-Boston/database-scala/tree/main/docker-slave )
165
+ [ Dockerfile] ( https://github.com/Proyecto-Boston/database-scala/blob/main/Dockerfile )
36
166
37
167
## Conexión a la base de datos
38
168
[ Conexión] ( https://github.com/Proyecto-Boston/database-scala/blob/main/src/main/scala/example/DatabaseConfig.scala )
0 commit comments