ติดตั้ง Redis 6.0.1 Single Instance บน Hyper-V Ubuntu 20.04

ขั้นตอนลง Ubuntu 20.04

ติดตั้ง Hyper-V บน Windows 10 ก่อน
หลังจากนั้น Create New Virtual Machine



ความต้องการระบบ Ubuntu 20.04 (จากเว็บ Official)

  • ขนาดไฟล์ Download ผ่าน Hyper-V 1.99GB
  • CPU 2GHz dual core หรือดีกว่า
  • 4GB Memory
  • 25GB of free hard drive space
ความต้องการ Redis Server Production
  • CPU >= 8 Cores
  • Memory >= 32GB
  • Redundant SSD Based storage with RAID 

ขั้นตอน Setup Ubuntu ไม่ขอลงรูป
ให้รายละเอียดเป็นตัวหนังสือเอา
English > Keyboard English > Bangkok > Who are you ใส่ตามใจชอบเลย

หลังจากหน้า Who are you ก็รอระบบ setup ซักแปปนึง
setup ซักครู่ระบบก็จะ Restart มาหน้าแรก พร้อมแล้ว




ขั้นตอนติดตั้ง Redis 6.0.1


ก่อนอื่น update package ต่างๆ ก่อน ด้วยการเปิด terminal
sudo = superuser do เป็นคำสั่งทำงานด้วยสิทธิ์ admin

  • sudo apt-get update
  • sudo apt-get upgrade

หลังจาก upgrade เสร็จ ก็โหลด Redis มา ด้วยคำสั่งชุดนี้

$ wget http://download.redis.io/releases/redis-6.0.1.tar.gz
$ tar xzf redis-6.0.1.tar.gz
$ cd redis-6.0.1
$ make

อธิบาย
คือการโหลดไฟล์มา
แล้ว extract ไฟล์ tar ออก จะสร้าง folder redis-6.0.1
เข้า folder แล้วพิมพ์คำสั่ง make เพื่อให้ระบบ compile source-code redis







แต่ !!
ระบบจะฟ้องว่าไม่มีคำสั่ง make ให้เรียกใช้งาน
จะมีคำสั่งแนะนำขึ้นมาให้ ว่าติดตั้งด้วยคำสั่งอะไร


แต่เราจะไม่ติดตั้งด้วยคำสั่งนั้น เพราะมันไม่ครบ
ให้พิมพ์คำสั่ง

sudo apt-get install build-essential

แล้วต่อด้วย

make

คำสั่งที่ว่ามาทั้งหมด run ใน folder redis-6.0.1 นะ

หลังจาก make ทำงานเสร็จ ก็เข้า folder src เพื่อไปเรียกใช้งาน redis กันได้เลย

cd src
./redis-server



เรียบร้อย ทำงานแล้ว แบบค่า Default ทุกอย่าง
Port Default 6379
และมีการ Warning ขึ้นมาพอควร สรุปสั้นๆ คือระบบยังทำงานได้ไม่เต็มที่นะครับ ต้องปรับแก้ค่าตามที่เค้าแนะนำมา

ทดสอบเบื้องต้นว่า redis server ทำงานอยู่

เราจะทดสอบด้วยเครื่องมือที่เค้าให้มาด้วยคือ redis-client ด้วยคำสั่ง

./redis-cli
ทดลองพิมพ์คำสั่ง ping
ระบบตอบว่า PONG

ลองเช็ค version redis หน่อย ว่าทำมาตั้งนานเนี่ย ใช้ version 6.0.1 จริงๆ หรือไม่ ด้วยคำสั่ง
info



จบแล้ว สำหรับการติดตั้ง


คำสั่ง Redis พื้นฐานที่เรียกบ่อยๆ

  • ./redis-server redis.conf สั่งให้ redis server ทำงาน และอ่าน config file ชื่อ redis.conf
  • ./redis-cli เพื่อติดต่อเข้า redis server
  • ping ทดลองติดต่อ server ว่าตอบสนองไหม
  • info แสดงรายละเอียดของ server
  • FLUSHALL ลบข้อมูลทั้งหมดใน redis ที่มีอยู่
  • keys * แสดงว่าใน redis ตอนนี้เก็บข้อมูลอะไรอยู่บ้าง
  • set foo bar สั่งให้ redis เก็บข้อมูล bar ในตัวแปรชื่อ foo
  • get foo สั่งให้ redis แสดงข้อมูลตัวแปรชื่อ foo


แถมสุดท้าย ด้วยเครื่องมือจัดการข้อมูลใน Redis แบบ GUI

เครื่องมือชื่อว่า Redis Desktop Manager
ติดตั้งผ่าน Ubuntu Software อยู่ในปุ่ม 9 จุดล่างซ้ายสุดของหน้าจอ
โดย Redis Desktop Manager ใช้งานได้ฟรีบน Ubuntu

ดูและแก้ไขข้อมูลได้ Realtime





สุดท้าย ท้ายสุด

ลืมออกตัวว่า ผมเป็นสาย windows มาตลอด ไม่ถนัด linux เท่าไหร่นัก
แต่เนื่องจากอยากลองเล่นเครื่องมือที่ทันสมัยบ้าง ก็มาบันทึกวิธีการไว้
หากมีประโยชน์กับคนอื่นก็ยินดี

และบาง error warning ผมยังแก้ไขไม่ได้ทุกตัว หากเพื่อนคนใดที่เปิดเข้ามาเจอ ถ้ารู้วิธีแก้ไขรบกวนบอกผมหน่อย ขอบคุณล่วงหน้าครับ

Update 28.05.2020
แก้ไข error warning ได้ทุกตัวที่ Redis แนะนำมาได้หมดแล้ว

ขอเริ่มไปทีละตัว เรียงจากง่ายไปยาก

1.WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

ตัวนี้ง่ายมาก แค่ใช้คำสั่ง text edit เข้าไปเพิ่มคำสั่งที่เค้าแนะนำตามไฟล์เลย

sudo nano /etc/sysctl.conf
เพิ่มคำสั่งนี้ไปล่างสุด
vm.overcommit_memory = 1
save แล้ว reboot

2.current maximum open files is 1023. maxclients has been reduced to 991 to compensate for low ulimit. if you need higher maxclients increase 'ulimit -n'

3.WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command ‘echo never > /sys/kernel/mm/transparent_hugepage/enabled’ as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled

2 กับ 3 แก้ด้วยกันเลย
ใช้คำสั่ง

sudo nano /etc/rc.local

เพิ่มคำสั่งในไฟล์ rc.local

ulimit -n 10032
echo never /sys/kernel/mm/transparent_hugepage/enabled

return 0

บันทึก

พิมพ์คำสั่งนี้ ให้ rc.local สามารถ execute ได้

sudo chmod +x /etc/rc.local

แล้ว reboot

Comments

Popular posts from this blog

Function MS SQL แปลงตัวเลขเป็นบาท

Line Notify ด้วย VB.Net

ตรวจสอบค่าว่าเป็นตัวเลข MSSQL