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/
SingleStore 무료 라이센스 획득 방법은 지난 포스트를 참조하시기 바랍니다.
이미 받아 놓은 무료 라이센스가 있다면 해당 라이센스 키를 여기에서도 계속 사용할 수 있습니다.
WSL2(Windows Subsystem for Linux 2) 는 설치되어 있다고 가정하겠습니다.
필요하다면 인터넷 검색을 통해 진행하시면 되겠습니다.
설치가 완료되고 cmd 창에서 다음 명령어 수행시 WSL Version 2 에 Ubuntu 가 실행되고 있으면 다음으로 진행합니다.
wsl -l -v
Windows 10 에서 명령 프롬프트 또는 cmd 를 실행시키고 C:\Users\<username> 디렉토리에서 다음 명령어를 실행합니다.
echo [wsl2] > .wslconfig
notepad .wslconfig
노트패드로 아래와 같이 WSL2 에서 사용할 CPU 프로세서 수와 메모리를 설정하고 저장 후 종료합니다.
[wsl2]
memory=4GB
processors=4
열어 놓은 cmd 창에서 다음 명령어를 실행 후 Password 를 입력합니다.
wsl sudo visudo
아래 화살표 키보드를 이용해 가장 아래 줄로 이동한 후 다음과 같이 입력합니다.
<username> ALL=(ALL) NOPASSWD:ALL
ctrl + x 및 Y 를 눌러 저장 후 편집화면을 종료합니다.
아래와 같이 su 명령을 실행했을 때 Password 를 입력하지 않고 root 계정으로 바뀌면 설정이 정상적으로 된 것입니다.
wsl sudo su
변경된 root 계정에서 다음 명령어로 apt 패키지 툴을 업데이트 합니다.
apt-get update
apt-get upgrade -y
apt-get dist-upgrade -y
apt-get autoremove -y
변경해 놓은 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 툴
이제 개인 계정으로 접속합니다.
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 |
+------------+--------+-----------+------+---------------+--------------+---------+----------------+--------------------+--------------+
Windows PowerShell 또는 cmd 에서는 다음 명령어로 SingleStore 클러스터의 Node List 를 확인할 수 있습니다.
wsl sdb-admin list-nodes
wsl 명령어를 단독 실행하거나 Windows Terminal 등으로 wsl 환경의 ubuntu shell 을 바로 사용할 수 있는 경우는 wsl 명령어 없이 sdb-admin list-nodes 를 직접 수행합니다.
지금부터는 모두 WSL Terminal 에서 명령어를 바로 수행하도록 하겠습니다.
sdb-admin start-node --all -y
sdb-admin stop-node --all -y
시작할 때는 Leaf -> Aggregator 순입니다.
종료할 때는 Aggregator -> Leaf 순입니다.
--memsql-id 옵션을 이용해 특정 노드만 시작/종료 할 수 있습니다.
memsql -p 를 이용해 SingleStore Cluster 에 접속합니다.
memsql -p
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 도 사용할 수 있습니다.
이번 포스트에서는 Windows 10 WSL2 에서 SingleStore 를 설치하고 SingleStore Studio 까지 설정하여 사용해 보는 기회를 가졌습니다. Linux 장비가 없더라도 Windows 에서 WSL 을 이용하여 SingleStore 의 기능을 테스트할 수 있게 되었습니다.