ติดตั้ง Apache Solr บนเซิร์ฟเวอร์ Linux
Java จะต้องพร้อมใช้งานบนเซิร์ฟเวอร์ คุณสามารถติดตั้ง Java ได้อย่างง่ายดายโดยใช้บทบาท geerlingguy.java
ตรวจสอบให้แน่ใจว่าเวอร์ชัน Java ที่ติดตั้งตรงตามข้อกำหนดขั้นต่ำของ Solr (เช่น Java 8 สำหรับ Solr 6+)
บทบาทนี้ได้รับการทดสอบในปัจจุบันและทำงานร่วมกับ Solr 3.x, 4.x, 5.x, 6.x, 7.x และ 8.x
ตัวแปรที่ใช้ได้จะแสดงรายการด้านล่าง พร้อมด้วยค่าเริ่มต้น (ดู defaults/main.yml
):
solr_workspace: /root
ไฟล์จะถูกดาวน์โหลดไปยังเส้นทางนี้บนเซิร์ฟเวอร์ระยะไกลก่อนที่จะถูกย้ายเข้าที่
solr_create_user: true
solr_user: solr
solr_group: "{{ solr_user }}"
Solr จะถูกรันภายใต้ solr_user
ตั้งค่า solr_create_user
เป็น false
หาก solr_user
ถูกสร้างขึ้นก่อนที่บทบาทนี้จะทำงาน หรือหากคุณใช้ Solr 5+ และต้องการให้สคริปต์การติดตั้งของ Solr เองตั้งค่าผู้ใช้ ตามค่าเริ่มต้น solr_group
จะเท่ากับ solr_user
แต่สามารถเขียนทับได้เพื่อให้เหมาะกับการกำหนดค่าของคุณเอง
solr_version: "8.11.2"
เวอร์ชัน Apache Solr ที่จะติดตั้ง สำหรับรายการทั้งหมด โปรดดูเวอร์ชันของ Apache Solr ที่มี
solr_mirror: "https://archive.apache.org/dist"
มิเรอร์โครงการ Apache ที่จะดาวน์โหลด Tarball Solr ในกรณีที่การดาวน์โหลดช้าหรือหมดเวลา จะมีประโยชน์ในการตั้งค่ามิเรอร์ให้เป็นค่าที่แนะนำโดยไซต์ดาวน์โหลดมิเรอร์ของ Apache
solr_remove_cruft: false
ว่าจะลบเอกสารและตัวอย่างที่ไม่จำเป็นออกจากไดเร็กทอรี solr หรือไม่
solr_service_manage: true
solr_service_name: solr
solr_service_state: started
ตามค่าเริ่มต้น บทบาทนี้จะจัดการบริการ solr
เพื่อให้แน่ใจว่าจะเปิดใช้งานเมื่อบูตระบบและกำลังทำงานอยู่ คุณสามารถมั่นใจได้ว่า Solr ถูกหยุดโดยการตั้งค่า solr_service_state: stopped
หรือคุณสามารถปิดใช้งานการจัดการบริการ solr
ของบทบาทนี้ทั้งหมดได้โดยการตั้งค่า solr_service_manage: false
คุณอาจต้องการตั้งค่า solr_restart_handler_enabled: false
(บันทึกไว้ในภายหลัง) ในกรณีนี้
solr_install_dir: /opt
solr_install_path: /opt/solr
เส้นทางที่จะติดตั้ง Apache Solr สำหรับ Solr 5+ สคริปต์การติดตั้งของ Solr จะใช้ solr_install_dir
สำหรับ Solr < 5 ไฟล์การติดตั้ง Solr จะถูกคัดลอกในตำแหน่งใน solr_install_path
solr_home: /var/solr
เส้นทางที่ข้อมูล Solr ในเครื่อง (คอลเลกชันการค้นหาและการกำหนดค่า) จะถูกจัดเก็บ โดยทั่วไปควรอยู่นอก solr_path
เพื่อให้การอัพเกรด Solr ง่ายขึ้น
solr_port: "8983"
พอร์ตที่ Solr จะทำงาน
solr_xms: "256M"
solr_xmx: "512M"
การตั้งค่าหน่วยความจำสำหรับ JVM ควรตั้งค่าสิ่งเหล่านี้ให้สูงที่สุดที่คุณสามารถให้ได้ประสิทธิภาพที่ดีที่สุด และเพื่อลดโอกาสที่ Solr จะรีสตาร์ทตัวเองเนื่องจากสถานการณ์ OOM
solr_timezone: "UTC"
เขตเวลาเริ่มต้นของ JVM ที่ทำงาน solr คุณสามารถแทนที่สิ่งนี้ได้หากจำเป็น เมื่อใช้การนำเข้าข้อมูลและการนำเข้าเดลต้า (เช่น การเปรียบเทียบกับแหล่งข้อมูลภายนอก MySQL) อ่านเอกสารประกอบการทำงานกับ Dates ของ Apache Solr อย่างละเอียดเพื่อดูความเป็นมาเพิ่มเติม
solr_opts: "$SOLR_OPTS -Dlog4j2.formatMsgNoLookups=true"
ตัวเลือกโซลาร์ ตัวเลือกนี้ถูกเพิ่มเข้ากับบทบาทในส่วนหนึ่งเพื่อลด CVE-2021-44228
solr_cores:
- collection1
รายการคอร์ / คอลเลกชันที่ควรมีอยู่บนเซิร์ฟเวอร์ แต่ละรายการจะถูกสร้างขึ้น (หากยังไม่มี) โดยใช้การกำหนดค่าตัวอย่างเริ่มต้นที่มาพร้อมกับ Solr โปรดทราบว่าตัวแปรนี้ใช้ได้เฉพาะเมื่อใช้ Solr 5+ เท่านั้น
solr_connect_host: localhost
ชื่อโฮสต์หรือที่อยู่ IP ที่ Solr จะสามารถเข้าถึงได้ localhost
ควรใช้งานได้ในสถานการณ์ส่วนใหญ่ แต่มีกรณีพิเศษที่คุณสามารถเข้าถึงอินสแตนซ์ Solr ภายในเครื่องผ่านทาง IP หรือชื่อโฮสต์อื่นเท่านั้น
solr_restart_handler_enabled: true
ควรใช้ตัวจัดการ restart solr
หรือไม่ หากคุณกำลังสร้างคอนเทนเนอร์หรือ AMI คุณอาจต้องปิดใช้ตัวจัดการการรีสตาร์ทสำหรับการเรียกใช้การจัดเตรียม
ปัจจุบันตัวแปรต่อไปนี้ใช้กับการติดตั้ง Solr 4 และต่ำกว่าเท่านั้น:
solr_log_file_path: /var/log/solr.log
เส้นทางที่จะสร้างไฟล์บันทึกของ Solr
solr_host: "0.0.0.0"
ชื่อโฮสต์หรือที่อยู่ IP ที่ Solr จะผูกไว้ ค่าเริ่มต้นเป็น 0.0.0.0
ซึ่งอนุญาตให้ Solr ฟังบนอินเทอร์เฟซทั้งหมด
ไม่มี.
- hosts: solr-servers
roles:
- geerlingguy.java
- geerlingguy.solr
เอ็มไอที / บีเอสดี
บทบาทนี้สร้างขึ้นในปี 2014 โดย Jeff Geerling ผู้เขียน Ansible สำหรับ DevOps