본문 바로가기
연구노트

Windows 10 WSL2 에 SingleStore 설치

by 에이플랫폼 [Team SingleStore Korea] 2023. 9. 28.

[1] 개요

SingleStore 는 현재 공식적으로 Intel 계열의 Linux Platform 만 지원하고 있습니다. 지난 포스트에서 Arm 계열의 M1 Mac 에 설치하는 방법을 설명할 때도 실제로는 Docker Desktop 에서 AMD64 아키텍처를 에뮬레이트(Emulate) 하도록 하여 사용할 할 수 있음을 알려드렸습니다.

이번 포스트에서는 Windows 10 에서의 SingleStore 설치 방법을 알아 보려고 합니다. Windows 10 에서는 Docker Desktop 위에 SingleStore Image를 설치하는 방법과 WSL2(Windows Subsystem for Linux 2)에 직접 SingleStore Binary 를 설치하는 두가지 방법이 있습니다. 어차피 Docker Deskop 을 선택하면 다시 Hyper V 또는 WSL2 을 선택해야 하므로 이번에는 직접 WSL2 에 설치하도록 하겠습니다.

이번 포스트는 다음 블로그 포스트를 참조했습니다.

https://www.singlestore.com/blog/spin-up-a-memsql-cluster-on-windows-in-20-minutes/

 

Spin Up a SingleStore Cluster on Windows in 20 Minutes

To run a SingleStore cluster in Windows, just set up Windows Subsystem for Linux, then install SingleStore - about 10 minutes each. Then you're off and running.

www.singlestore.com

 

[2] SingleStore 무료 라이센스 획득

SingleStore 무료 라이센스 획득 방법은 지난 포스트를 참조하시기 바랍니다.

https://a-platform.tistory.com/123

 

M1 Mac 에 SingleStore 설치

[1] 소개 SingleStoreDB 는 집계(Aggregation) 및 필터링(Filtering) 성능을 높이기 위해 Intel 의 SSE4.2 및 AVX2 명령어세트를 이용해 SIMD(Single Instruction Multiple Data) 를 구현하고 있습니다. Apple Silicon 이 탑재된 M1

a-platform.tistory.com

 

이미 받아 놓은 무료 라이센스가 있다면 해당 라이센스 키를 여기에서도 계속 사용할 수 있습니다.

 

[3] WSL2 설치

WSL2(Windows Subsystem for Linux 2) 는 설치되어 있다고 가정하겠습니다.

필요하다면 인터넷 검색을 통해 설치하시면 되겠습니다.

설치가 완료되고 cmd 창에서 다음 명령어 수행시 WSL Version 2 에 Ubuntu 가 실행되고 있으면 다음으로 진행합니다.

 

wsl -l -v
 
 

 

[4] WSL2 설정

1) WSL2 Memory / Processors 설정

Windows 10 에서 명령 프롬프트 또는 cmd 를 실행시키고 C:\Users\<username> 디렉토리에서 다음 명령어를 실행합니다.

 

echo [wsl2] > .wslconfig
notepad .wslconfig
 
 

노트패드로 아래와 같이 WSL2 에서 사용할 CPU 프로세서 수와 메모리를 설정하고 저장 후 종료합니다.

[wsl2] 
memory=4GB 
processors=4
 
 

2) Password 입력없이 sudo 실행

열어 놓은 cmd 창에서 다음 명령어를 실행 후 Password 를 입력합니다.

 

wsl sudo visudo
 
 

아래 화살표 키보드를 이용해 가장 아래 줄로 이동한 후 다음과 같이 입력합니다.

 

<username> ALL=(ALL) NOPASSWD:ALL
 
 

ctrl + x 및 Y, Enter 를 눌러 저장 후 편집화면을 종료합니다.

아래와 같이 su 명령을 실행했을 때 Password 를 입력하지 않고 root 계정으로 바뀌면 설정이 정상적으로 된 것입니다.

 

wsl sudo su
 
 

3) apt 패키지 툴 업데이트

변경된 root 계정에서 다음 명령어로 apt 패키지 툴을 업데이트 합니다.

 

apt-get update 
apt-get upgrade -y 
apt-get dist-upgrade -y 
apt-get autoremove -y
 
 

 

[5] SingleStore 설치

1) SingleStore 관리 툴 설치

변경해 놓은 root 계정을 계속 사용하여 다음 명령어를 수행하여 SingleStore 가 사용하는 주요 툴을 설치합니다.

 

wget -O - 'https://release.memsql.com/release-aug2018.gpg' 2>/dev/null | apt-key add - 
apt-key list 
apt install -y apt-transport-https 
echo "deb [arch=amd64] https://release.memsql.com/production/debian memsql main" | sudo tee /etc/apt/sources.list.d/memsql.list 
apt update 
apt install -y memsql-toolbox memsql-client memsql-studio 

exit
 

 

memsql-toolbox : SingleStore 클러스터 설치 및 설정에 사용되는 각종 command line 툴 모음
◇ memsql-client : SingleStoreDB 에 접속하여 SQL 을 실행할 수 있는 클라이언트 툴
◇ memsql-studio: 웹브라우저 기반의 관리 / 성능 모니터링 / Query 툴

2) SingleStore 클러스터 설치

이제 개인 계정으로 접속합니다.

 

wsl
 

 

위에서 획득한 License Key 와 준비된 비밀번호를 이용해 SingleStore Cluster-In-a-Box 를 설치합니다.

 

memsql-deploy cluster-in-a-box --license <Your License Key> --password <Your Password>
 

 

중간에 프롬프트에서 계속 진행할 지 여부를 물으면 y 를 눌러 진행합니다.

설치가 정상적으로 완료되면 다음과 같이 Hosts / Nodes 정보가 출력됩니다.

 

 

Hosts
+-----------+------------+-------------+---------------+
|   Host    | Local Host | SSH address | Identity File |
+-----------+------------+-------------+---------------+
| 127.0.0.1 | Yes        |             |               |
+-----------+------------+-------------+---------------+
Nodes
+------------+--------+-----------+------+---------------+--------------+---------+----------------+--------------------+--------------+
| MemSQL ID  |  Role  |   Host    | Port | Process State | Connectable? | Version | Recovery State | Availability Group | Bind Address |
+------------+--------+-----------+------+---------------+--------------+---------+----------------+--------------------+--------------+
| BD69599557 | Master | 127.0.0.1 | 3306 | Running       | True         | 7.8.14  | Online         |                    | 127.0.0.1    |
| EFA91232B1 | Leaf   | 127.0.0.1 | 3307 | Running       | True         | 7.8.14  | Online         | 1                  | 127.0.0.1    |
+------------+--------+-----------+------+---------------+--------------+---------+----------------+--------------------+--------------+
 

[6] SingleStore 기본 사용법

Windows PowerShell 또는 cmd 에서는 다음 명령어로 SingleStore 클러스터의 Node List 를 확인할 수 있습니다.

 

wsl sdb-admin list-nodes
 

 

wsl 명령어를 단독 실행하거나 Windows Terminal 등으로 wsl 환경의 ubuntu shell 을 바로 사용할 수 있는 경우는 wsl 명령어 없이 sdb-admin list-nodes 를 직접 수행합니다.

지금부터는 모두 WSL Terminal 에서 명령어를 바로 수행하도록 하겠습니다.

1) SingleStore 클러스트 시작/종료

 

sdb-admin start-node --all -y
sdb-admin stop-node --all -y
 

 

시작할 때는 Leaf -> Aggregator 순입니다.

종료할 때는 Aggregator -> Leaf 순입니다.

--memsql-id 옵션을 이용해 특정 노드만 시작/종료 할 수 있습니다.

2) SingleStore Client 사용

memsql -p 를 이용해 SingleStore Cluster 에 접속합니다.

 

memsql -p
 
 

3) SingleStudio 사용

root 계정에서 다음 명령어를 수행합니다.

 

memsql-studio &>/tmp/memsql-studio.log &
 
 

웹브라우저에서 localhost:8080 으로 접속합니다.

Add or Create Cluster 를 클릭합니다.

Add an Existing Cluster 를 선택하고 Next 를 클릭합니다.

 

Locate Cluster 항목에 Hostname : localhost, Port 3306 을 입력합니다.

 

Enter Credentials 화면에서 Username : root, Password : <비밀번호>를 입력합니다.

 

Create Cluster Profile 화면에서 Type 은 Development, Cluster Name, Description 은 원하는 대로 입력합니다.

Next 를 클릭합니다.

 

이제 SingleStore Studio 도 사용할 수 있습니다.

[7] 마무리

이번 포스트에서는 Windows 10 WSL2 에서 SingleStore 를 설치하고 SingleStore Studio 까지 설정하여 사용해 보는 기회를 가졌습니다. Linux 장비가 없더라도 Windows 에서 WSL 을 이용하여 SingleStore 의 기능을 테스트할 수 있게 되었습니다.