- k8s nginx-ingress disable hsts https๋ฅผ ์ฌ์ฉํ๋ ingress ์์ ์๋ configuration-snippet ์ค์ ์ ์ถ๊ฐapiVersion: networking.k8s.io/v1kind: Ingressmetadata: name: http-ingress annotations: nginx.ingress.kubernetes.io/configuration-snippet: | more_clear_headers "Strict-Transport-Security"; 2024.06.21
- ์ฟ ๋ฒ๋คํฐ์ค ๊ฐ๋ Kubernetes ConceptKubernetes์ปจํ ์ด๋ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌ, ํ์ฅ ๋ฐ ๊ด๋ฆฌ๋ฅผ ์๋ํํ๊ธฐ ์ํ ์คํ์์ค ์ค์ผ์คํธ๋ ์ด์ ์์คํ ์ฌ์ฉ ์ด์ ์๋ฒ ์์์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๋ฉด ๋๊ท๋ชจ ์๋น์ค๋ฅผ ์ด์ํ๋ ๊ธฐ์ ๋ค์ ํฐ ๋น์ฉ ์ ๊ฐ ํจ๊ณผ์ฌ๋ฌ ์๋น์ค์์ ์๋ฒ ์์์ ๊ณต์ ํด์ ์ฌ์ฉ ๊ฐ๋ฅย VM vs ContainerVM ๊ฐ์ํ๋ ๋ณ๋์ Guest OS๋ฅผ ๊ฐ์ง๊ณ ์คํํจ์ปจํ ์ด๋๋ Host OS์ ์ปค๋์ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ณ๊ณ VM๋ณด๋ค ๋ ๋์ ์ฑ๋ฅ์ ์ ๊ณตย Container Runtime์ปจํ ์ด๋๋ฅผ ์คํํ๊ณ ๊ด๋ฆฌํ๋๋ฐ ์ฌ์ฉ๋๋ ์ํํธ์จ์ด (Docker, containerd, CRI-O)k8s์์๋ v1.23๊น์ง๋ง Docker๋ฅผ ์ง์ํ๊ณ ๊ทธ ์ดํ ๋ฒ์ ์์ deprecated, ๋์ปค๋ณด๋ค ๊ฐ๊ฒฐํ ์ํคํ ์ฒ๋ฅผ ๊ฐ์ cont.. 2024.04.07
- zeppelin notebook execute REST API โพ curl ๋ช ๋ น์ด๋ก zeppelin ๋ ธํธ๋ถ ์คํ ๋ฐฉ๋ฒ #!/bin/bash kinit -kt /opt/cloudera/security/user.keytab userid curl -X POST -H "accept: application/json" --negotiate -u : \ https://zeppelin-server-url:8886/api/notebook/run/$1/$2 $1 : paragraph $2 : notebook index name ํ์ธ : zeppelin > notebook > wheel icon 2023.11.22
- [๋ฆฌ๋ ์ค] resolv.conf ์๋ณต ํ์ ์กฐ์น๋ฐฉ๋ฒ ์๋ฒ๊ฐ ์ฌ๊ธฐ๋ ๋๋ฉด์ /etc/resolv.conf ํ์ผ์ ๋ณ๊ฒฝ ๋ด์ฉ์ด ์๋ณต๋๋ ํ์์ ๋ํ ์กฐ์น ๋ฐฉ๋ฒ์ ๋๋ค. ํ์ผ์ ๋ณ๊ฒฝ ๋ด์ฉ์ด ์๋ฒ ์ฌ๊ธฐ๋ ํ์ ์๋ณต๋๋ ํ์์ ์ฃผ๋ก ๋คํธ์ํฌ ๊ด๋ฆฌ ๋๊ตฌ๋ ์๋น์ค์ ์ํด ํ์ผ์ด ์๋์ผ๋ก ๊ด๋ฆฌ๋๊ธฐ ๋๋ฌธ์ ๋ฐ์ํฉ๋๋ค. โพ /etc/resolv.conf ์์ , ์ญ์ ์ ํ ์ง์ ํธ์งํ์ง ๋ชปํ๋๋ก chattr +i ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ํ์ผ์ ์ ๊ธ ## ์ ๊ธ chattr +i /etc/resolv.conf ## ์ ๊ธ ํด์ chattr -i /etc/resolv.conf 2023.11.21
- [๋ฆฌ๋ ์ค] LVM ์ค์ ๋ฐฉ๋ฒ ๋ฆฌ๋ ์ค์ LVM(Logical Volume Manager)์ ์คํ ๋ฆฌ์ง ๊ด๋ฆฌ์ ์ ์ฐํ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. LVM์ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ๋์คํฌ๋ฅผ ํ๋์ ํฐ ๋์คํฌ์ฒ๋ผ ์ฌ์ฉํ๊ฑฐ๋, ํ์์ ๋ฐ๋ผ ์คํ ๋ฆฌ์ง ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ ์ ์์ต๋๋ค.LVM ์ฃผ์ ๊ตฌ์ฑ ์์PV (Physical Volume): ์ค์ ๋์คํฌ ํํฐ์ ์ผ๋ก, LVM์์ ์ฌ์ฉ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ํ๋ ๋๋ผ์ด๋ธ์ ํํฐ์ ์ด๋ ์ ์ฒด ๋๋ผ์ด๋ธ๊ฐ ๋ ์ ์์ต๋๋ค.VG (Volume Group): ํ๋ ์ด์์ PV๋ฅผ ๊ฒฐํฉํ์ฌ ์์ฑ๋ ์ ์ฅ์์ ๋ ผ๋ฆฌ์ ๊ทธ๋ฃน์ ๋๋ค. VG๋ ํ๋ ์ด์์ LV๋ฅผ ํฌํจํ ์ ์์ต๋๋ค.LV (Logical Volume): VG ๋ด์์ ์์ฑ๋๋ ๋ ผ๋ฆฌ์ ๋จ์๋ก, ์ค์ ํ์ผ ์์คํ ์ด ์์ฑ๋๋ ๋ถ๋ถ์ ๋๋ค. LV๋ ํ์์ ๋ฐ๋ผ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ ์ ์์ต๋๋ค.PE .. 2023.11.20
- CS ์ ๋ฆฌ ๋น ๋ฐ์ดํฐ ๋น ๋ฐ์ดํฐ ๊ธฐ์กด DB ๊ด๋ฆฌ๋๊ตฌ์ ์์ง,์ ์ฅ,๊ด๋ฆฌ,๋ถ์ ์ญ๋์ ๋์ด์๋ ๋ฐ์ดํฐ ํน์ง - 3V (ํฌ๊ธฐ,๋ค์์ฑ,์๋) , 5V(๊ฐ์น,์ ํ์ฑ) ์ ํ - ๋ฐ์ดํฐ๋ฒ ์ด์ค,CSV,์์ ๋ฐ์ ํ - XML,HTML,JSON ๋น์ ํ - ๋์์,์ฌ์ง,์ค๋์ค ๋น ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋จ๊ณ ์์ง > ์ ์ > ์ ์ฌ > ๋ถ์ > ์๊ฐํ Hadoop ๋ฑ์ฅ ๋ฐฐ๊ฒฝ ๋ฐ ํ์์ฑ ์น ๋ก๊ทธ๋ฑ์ ๋น์ ํ ๋ฐ์ดํฐ๋ฅผ RDBMS์ ์ ์ฅํ๊ธฐ์๋ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๊ฐ ๋๋ฌด ํฌ๊ณ ๋น์ฉ๋ ๋ถ๋ด์ด์๋ค. ํ๋ก์ x86 ๋ฆฌ๋ ์ค ์๋ฒ๋ผ๋ฉด ์ด๋ค ์์ค์ ์ฅ๋น๋ ์๊ด ์๊ณ ๋ฐ์ดํฐ ์ฉ๋์ด ์ปค์ง๋ฉด ๋ ธ๋ ํ์ฅ(scale-out)์ด ๊ฐ๋ฅ, ๋ถ์ฐ ์ ์ฅ ๋ฐ ์ฒ๋ฆฌ๋ก ์ฑ๋ฅ๋ ํฅ์ Avro Avro๋ JSON ํ์์ผ๋ก ์คํค๋ง๋ฅผ ์ ์ํ๊ณ , ๋ฐ์ดํฐ๋ ๋ฐ์ด๋๋ฆฌ ํํ๋ก ์ง๋ ฌํ๋ฉ๋๋ค. ์คํค๋ง๊ฐ ๋ฐ์ดํฐ์ ํจ๊ป.. 2023.10.13
- [Impala] resource pool ์์ฑ ๋ฐ ์ ์ฉ ๋ฐฉ๋ฒ Impala์์ ๊ทธ๋ฃน๋ช ์ ๊ธฐ์ค์ผ๋ก resource pool์ ์์ฑํ์ฌ, ๊ฐ ๊ทธ๋ฃน๋ณ ๋ฆฌ์์ค๋ฅผ ๋ถํ ํ ๋ฐฉ๋ฒ์ ๋๋ค. 1. Impala Admission Control Configuration ์ ์ CM > Cluster Menu > Impala Admission Control Configuration 2. ๊ทธ๋ฃน๋ช ๊ธฐ์ค์ผ๋ก pool ์์ฑ Impala Admission Control Configuration > Create Resource Pool ๋ฒํผ ํด๋ฆญ Max memory ์ค์ ํ์ฌ ๊ทธ๋ฃน๋ณ ๋ฆฌ์์ค ์ ํ clone ๊ธฐ๋ฅ ์ฌ์ฉํ๋ฉด ๊ธฐ์กด default pool์ ์ ์ฉํ ์ต์ ๋ชจ๋ ๋ณต์ฌ ๊ฐ๋ฅ 3. placement rule ์ถ๊ฐ Impala Admission Control Configuration > Placemen.. 2023.10.05
- [Java] ํ๋ก๊ทธ๋๋จธ์ค ๋จ์ด ๋ณํ ๐ ๋ฌธ์ ๋จ์ด ๋ณํ ๐ก ํ์ด BFS(๋๋น ์ฐ์ ํ์) ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ "begin" ๋ฌธ์์ด์์ "target" ๋ฌธ์์ด๋ก ๋ณํํ๋๋ฐ ํ์ํ ์ต์ ๋จ๊ณ ์๋ฅผ ๊ณ์ฐํฉ๋๋ค. import java.util.*; class Solution { public int solution(String begin, String target, String[] words) { int answer = 0; // ์ต์ ๋จ๊ณ ์๋ฅผ ์ ์ฅํ ๋ณ์ boolean[] visited = new boolean[words.length]; // ๋จ์ด ๋ฐฉ๋ฌธ ์ฌ๋ถ๋ฅผ ์ถ์ ํ๋ ๋ฐฐ์ด Queue queue = new LinkedList(); // BFS ํ์์ ์ํ ํ queue.offer(begin); // ์์ ๋จ์ด๋ฅผ ํ์ ์ถ๊ฐ while (!queu.. 2023.10.04