ตอนที่ 4: ติดตั้งและกำหนดค่า Tableau Server

หัวข้อนี้อธิบายวิธีการติดตั้งและการกำหนดค่าการปรับใช้ Tableau Server พื้นฐานให้เสร็จสิ้น ขั้นตอนตรงนี้ดำเนินต่อไปด้วยตัวอย่างสถาปัตยกรรมอ้างอิงของ AWS และ Linux

ตัวอย่าง Linux ทั่วทั้งกระบวนการติดตั้งแสดงคำสั่งสำหรับการกระจายที่คล้ายกับ RHEL โดยระบบได้พัฒนาคำสั่งตรงนี้โดยเฉพาะด้วยการกระจาย Amazon Linux 2 หากเรียกใช้การกระจาย Ubuntu ให้แก้ไขคำสั่งให้สอดคล้องกัน

ก่อนที่คุณจะเริ่มต้น

คุณต้องเตรียมและตรวจสอบสภาพแวดล้อมของคุณตามที่อธิบายไว้ใน ส่วนที่ 3 - การเตรียมการปรับใช้ทั่วทั้งองค์กร Tableau Server

ติดตั้ง กำหนดค่า และ tar PostgreSQL

อินสแตนซ์ PostgreSQL นี้โฮสต์ที่เก็บภายนอกสำหรับการปรับใช้ Tableau Server คุณต้องติดตั้งและกำหนดค่า PostgreSQL ก่อนจึงจะติดตั้ง Tableau

คุณสามารถเรียกใช้ PostgreSQL บน Amazon RDS หรือบนอินสแตนซ์ EC2 ได้ หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับความแตกต่างระหว่างการเรียกใช้ที่เก็บบน RDS เทียบกับอินสแตนซ์ EC2 โปรดดู ที่เก็บภายนอกของ Tableau Server (Linux(ลิงก์จะเปิดในหน้าต่างใหม่))

กระบวนการด้านล่างแสดงวิธีติดตั้งและกำหนดค่า Postgres บนอินสแตนซ์ Amazon EC2 ผ่านตัวอย่าง ตัวอย่างที่แสดงตรงนี้คือการติดตั้งและการกำหนดค่าทั่วไปสำหรับ PostgreSQL ในสถาปัตยกรรมอ้างอิง DBA ของคุณควรเพิ่มประสิทธิภาพการปรับใช้ PostgreSQL โดยพิจารณาจากขนาดของข้อมูลและความต้องการด้านประสิทธิภาพของคุณ

ข้อกำหนด: โปรดทราบว่าคุณต้องเรียกใช้ PostgreSQL 1.6 และคุณต้องติดตั้งโมดูล uuid-ossp

ประวัติการแก้ไข PostgreSQL

คุณต้องติดตั้ง PostgreSQL เวอร์ชันหลักที่เข้ากันได้สำหรับที่เก็บภายนอกของ Tableau Server นอกจากนี้ เวอร์ชันรองต้องเป็นไปตามข้อกำหนดขั้นต่ำด้วย

เวอร์ชันของ Tableau Serverเวอร์ชันที่เข้ากันขั้นต่ำได้กับ PostgreSQL
2021.2.3 - 2021.2.8

2021.3.0 - 2021.3.7

2021.4.0 - 2021.4.3

12.6
2021.2.10 - 2021.2.14

2021.3.8 - 2021.3.13

2021.4.4 - 2021.4.8

12.8
2021.2.15 - 2021.2.16

2021.3.14 - 2021.3.15

2021.4.9 - 2021.4.10

12.10
2021.2.17 - 2021.2.18

2021.3.16 - 2021.3.17

2021.4.11 - 2021.4.12

12.11
2021.3.26

2021.4.23

12.15
2022.1.013.3
2022.1.1 - 2022.1.313.4
2022.1.4 - 2022.1.613.6
2022.1.7 - 2022.1.16

2022.3.0 - 2022.3.7

2023.1.0 - 2023.1.4

13.7
2022.1.17 - 2022.1.19

2022.3.8 - 2022.3.11

2023.1.5 - 2023.1.7

2023.3.0 - 2023.3.3

13.11
2024.0 - 2024.x15.6

ติดตั้ง PostgreSQL

ขั้นตอนการติดตั้งตัวอย่างนี้อธิบายวิธีติดตั้ง PostgreSQL เวอร์ชัน 13.6

เข้าสู่ระบบโฮสต์ EC2 ที่คุณสร้างในตอนก่อนหน้า

  1. ดำเนินการอัปเดตเพื่อใช้การแก้ไขล่าสุดกับ Linux OS

    sudo yum update

  2. สร้างและแก้ไขไฟล์ pgdg.repo ในเส้นทาง/etc/yum.repos.d/ เติมข้อมูลการกำหนดค่าต่อไปนี้ลงในไฟล์:

    [pgdg13]
    name=PostgreSQL 13 for RHEL/CentOS 7 - x86_64
    baseurl=https://download.postgresql.org/pub/repos/yum/13/redhat/rhel-7-x86_64
    enabled=1
    gpgcheck=0

  3. ติดตั้ง Posgres 13.6

    sudo yum install postgresql13-server-13.6-1PGDG.rhel7.x86_64

  4. ติดตั้งโมดูล uuid-ossp

    sudo yum install postgresql13-contrib-13.6-1PGDG.rhel7.x86_64

  5. เริ่มต้น Postgres

    sudo /usr/pgsql-13/bin/postgresql-13-setup initdb

กำหนดค่า Postgres

ติดตั้งฐานให้เสร็จสิ้นโดยการกำหนดค่า Postgres ดังนี้

  1. อัปเดตไฟล์การกำหนดค่า pg_hba /var/lib/pgsql/13/data/pg_hba.conf ด้วยสองรายการดังต่อไปนี้ แต่ละรายการต้องมีรูปแบบของซับเน็ตที่ Tableau Server ของคุณจะทำงานดังนี้ 

    host all all 10.0.30.0/24 password

    host all all 10.0.31.0/24 password

  2. อัปเดตไฟล์ PostgreSQL /var/lib/pgsql/13/data/postgresql.conf โดยการเพิ่มบรรทัดนี้

    listen_addresses = '*'

  3. กำหนดค่าให้เริ่ม Postgres เมื่อรีบูต

    sudo systemctl enable --now postgresql-13

  4. กำหนดรหัสผ่านผู้ใช้ระดับสูง

    sudo su - postgres 

    psql -c "alter user postgres with password 'StrongPassword'"

    หมายเหตุ: ตั้งรหัสผ่านที่รัดกุม อย่าใช้'StrongPassword’ตามที่แสดงในตัวอย่างที่นี่

    exit

  5. รีสตาร์ท Postgres

    sudo systemctl restart postgresql-13

ดำเนินการสำรองข้อมูล PostgreSQL Step 1 tar

สร้างการสำรองข้อมูล tar ของการกำหนดค่า PostgreSQL การสร้างสแนปช็อต tar ของการกำหนดค่าปัจจุบันจะช่วยคุณประหยัดเวลาหากพบกับความล้มเหลวขณะดำเนินการปรับใช้ต่อ

เราจะอ้างอิงถึงส่วนนี้เป็นการสำรองข้อมูล “ขั้นตอนที่ 1”

สิ่งที่ต้องทำบนโฮสต์ PostgreSQL มีดังนี้

  1. หยุดอินสแตนซ์ฐานข้อมูล Postgres

    sudo systemctl stop postgresql-13

  2. เรียกใช้คำสั่งต่อไปนี้เพื่อสร้างข้อมูลสำรอง tar

    sudo su
    cd /var/lib/pgsql
    tar -cvf step1.13.bkp.tar 13
    exit
  3. เริ่มต้นฐานข้อมูล Postgres

    sudo systemctl start postgresql-13

คืนค่าขั้นตอนที่ 1

กู้คืนค่าไปยังขั้นตอนที่ 1 หากโหนดเริ่มต้นของ Tableau Server ล้มเหลวระหว่างการติดตั้ง

  1. บนคอมพิวเตอร์ที่ใช้ Tableau ให้เรียกใช้สคริปต์การลบเพื่อลบ Tableau Server ออกจากโฮสต์โดยสมบูรณ์:

    sudo /app/tableau_server/packages/scripts.<version_code>/./tableau-server-obliterate -a -y -y -y -l

  2. กู้คืน PostgreSQL Stage 1 tar เรียกใช้คำสั่งต่อไปนี้ในคอมพิวเตอร์ที่ใช้ Postgres

    sudo su
    systemctl stop postgresql-13
    cd /var/lib/pgsql
    tar  -xvf step1.13.bkp.tar
    systemctl start postgresql-13
    exit

ดำเนินการกระบวนการติดตั้งต่อเพื่อติดตั้งโหนดเริ่มต้นของ Tableau Server

ก่อนติดตั้ง

หากคุณกำลังปรับใช้ Tableau ตามตัวอย่างการปรับใช้ AWS/Linux ที่อธิบายไว้ในคู่มือนี้ คุณอาจเรียกใช้สคริปต์การติดตั้งอัตโนมัติ TabDeploy4EDG ได้ สคริปต์ TabDeploy4EDG จะทำการติดตั้งตัวอย่างโดยอัตโนมัติของการปรับใช้ Tableau แบบสี่โหนดที่อธิบายไว้ในขั้นตอนที่ตามมา ดู ภาคผนวก - กล่องเครื่องมือการปรับใช้ AWS

ติดตั้งโหนดเริ่มต้นของ Tableau Server

ขั้นตอนนี้อธิบายวิธีการติดตั้งโหนดเริ่มต้นของ Tableau Server ตามที่กำหนดโดยใช้สถาปัตยกรรมอ้างอิง ยกเว้นการติดตั้งแพ็คเกจและการเริ่มต้น TSM ขั้นตอนตรงนี้ใช้บรรทัดคำสั่ง TSM ทุกครั้งที่ทำได้ นอกเหนือจากการไม่อิงแพลตฟอร์มแล้ว การใช้ TSM CLI ยังช่วยให้การติดตั้งราบรื่นยิ่งขึ้นในสภาพแวดล้อมเสมือนจริงและแบบเฮดเลส

เรียกใช้แพ็คเกจการติดตั้งและเริ่มต้น TSM

เข้าสู่ระบบเซิร์ฟเวอร์โฮสต์ของโหนด 1

  1. ดำเนินการอัปเดตเพื่อใช้การแก้ไขล่าสุดกับ Linux OS

    sudo yum update

  2. คัดลอกแพ็คเกจการติดตั้งจากหน้า Tableau Download(ลิงก์จะเปิดในหน้าต่างใหม่)ไปยังคอมพิวเตอร์โฮสต์ที่จะเรียกใช้ Tableau Server

    ตัวอย่างเช่น ในคอมพิวเตอร์ที่ใช้ระบบปฏิบัติการซึ่งคล้ายกับ RHEL ของ Linux ให้เรียกใช้

    wget https://downloads.tableau.com/esdalt/2022<version>/tableau-server-<version>.rpm

    โดยที่<version>คือหมายเลขรุ่น

  3. ดาวน์โหลดและติดตั้งการขึ้นต่อกัน

    sudo yum deplist tableau-server-<version>.rpm | awk '/provider:/ {print $2}' | sort -u | xargs sudo yum -y install

  4. สร้างเส้นทาง /app/tableau_server ในไดเรกทอรีรูท

    sudo mkdir -p /app/tableau_server

  5. เรียกใช้โปรแกรมการติดตั้งและระบุเส้นทางติดตั้ง /app/tableau_server ตัวอย่างเช่น เรียกใช้สิ่งต่อไปนี้บนระบบปฏิบัติการที่คล้ายกับ RHEL ของ Linux

    sudo rpm -i --prefix /app/tableau_server tableau-server-<version>.x86_64.rpm

  6. เปลี่ยนเป็นไดเรกทอรี/app/tableau_server/packages/scripts.<version_code>/ และเรียกใช้สคริปต์ initialize-tsmที่อยู่ตรงนั้น

    sudo ./initialize-tsm -d /data/tableau_data --accepteula

  7. หลังจากการเริ่มต้นเสร็จสิ้น ให้ออกจากเชลล์ดังนี้

    exit

เปิดใช้งานและลงทะเบียน Tableau Server

  1. เข้าสู่ระบบเซิร์ฟเวอร์โฮสต์ของโหนด 1

  2. ระบุคีย์ผลิตภัณฑ์ของ Tableau Server ในขั้นตอนนี้ เรียกใช้คำสั่งต่อไปนี้สำหรับคีย์ใบอนุญาตแต่ละรายการที่คุณซื้อ:

    tsm licenses activate -k <product key>

  3. สร้างไฟล์การลงทะเบียน json ด้วยรูปแบบที่แสดงที่นี่:

    {
    "zip" : "97403",
    "country" : "USA",
    "city" : "Springfield",
    "last_name" : "Simpson",
    "industry" : "Energy",
    "eula" : "yes",
    "title" : "Safety Inspection Engineer",
    "company_employees" : "100",
    "phone" : "5558675309",
    "company" : "Example",
    "state" : "OR",
    "opt_in" : "true",					
    "department" : "Engineering",
    "first_name" : "Homer",
    "email" : "homer@example.com"
    }	
  4. หลังจากบันทึกการเปลี่ยนแปลงไปยังไฟล์แล้ว ให้ส่งผ่านไฟล์ด้วยตัวเลือก --file เพื่อลงทะเบียน Tableau Server:

    tsm register --file path_to_registration_file.json

กำหนดค่าที่เก็บข้อมูลประจำตัว

หมายเหตุ: หากการปรับใช้ของคุณจะใช้ที่จัดเก็บข้อมูลภายนอกสำหรับ Tableau File Store คุณจะต้องเปิดใช้งาน External File Store ก่อนที่คุณจะกำหนดค่าที่เก็บข้อมูลประจำตัว ดูหัวข้อติดตั้ง Tableau Server ด้วยที่เก็บภายนอก (Linux(ลิงก์จะเปิดในหน้าต่างใหม่))

สถาปัตยกรรมอ้างอิงเริ่มต้นใช้ที่เก็บข้อมูลประจำตัวในเครื่อง กำหนดค่าโฮสต์เริ่มต้นด้วยที่เก็บข้อมูลประจำตัวในเครื่องโดยส่งไฟล์config.jsonด้วยคำสั่งtsm settings import

นำเข้าไฟล์config.jsonตามระบบปฏิบัติการของคุณ

ไฟล์config.jsonรวมอยู่ในเส้นทางไดเรกทอรีสคริปต์ <version> (ตัวอย่างเช่นscripts.20204.21.0217.1203) และจัดรูปแบบเพื่อกำหนดค่าที่เก็บข้อมูลประจำตัว

เรียกใช้คำสั่งต่อไปนี้เพื่อนำเข้าไฟล์config.json

tsm settings import -f /app/tableau_server/packages/scripts.<version_code>/config.json

กำหนดค่า Postgres ภายนอก

  1. สร้างไฟล์ json บนฐานข้อมูลภายนอกพร้อมการตั้งค่าการกำหนดค่าดังต่อไปนี้:

    {
    "flavor":"generic",
    "masterUsername":"postgres",
    "host":"<instance ip address>",
    "port":5432
    }
  2. หลังจากบันทึกการเปลี่ยนแปลงไปยังไฟล์แล้ว ให้ส่งผ่านไฟล์ด้วยคำสั่งต่อไปนี้:

    tsm topology external-services repository enable -f <filename>.json --no-ssl

    คุณจะได้รับข้อความแจ้งให้ใส่รหัสผ่านชื่อผู้ใช้หลักของ Postgres

    ตัวเลือก --no-ssl จะกำหนดค่า Tableau ให้ใช้ SSL/TLS เฉพาะเมื่อมีการกำหนดค่าเซิร์ฟเวอร์ Postgres สำหรับ SSL/TLS เท่านั้น หาก Postgres ไม่มีการกำหนดค่าสำหรับ SSL/TLS การเชื่อมต่อจะไม่ได้รับการเข้ารหัส ตอนที่ 6 - การกำหนดค่าหลังการติดตั้งจะอธิบายถึงวิธีในการเปิดใช้งาน SSL/TLS สำหรับการเชื่อมต่อ Postgres หลังจากที่คุณดำเนินการปรับใช้ในขั้นตอนแรกเสร็จสิ้นแล้ว

  3. ใช้การเปลี่ยนแปลง

    เรียกใช้คำสั่งนี้เพื่อใช้การเปลี่ยนแปลงและรีสตาร์ท Tableau Server:

    tsm pending-changes apply

  4. ลบไฟล์การกำหนดค่าที่คุณใช้ในขั้นตอนที่ 1

เสร็จสิ้นการติดตั้งโหนด 1

  1. หลังจากติดตั้ง Tableau Server แล้ว คุณต้องเริ่มต้นเซิร์ฟเวอร์

    เรียกใช้คำสั่งต่อไปนี้:

    tsm initialize --start-server --request-timeout 1800

  2. เมื่อการเริ่มต้นเสร็จสิ้น คุณต้องสร้างบัญชีผู้ดูแลระบบ Tableau Server

    บัญชีผู้ดูแลระบบ Tableau Server ต่างจากบัญชีคอมพิวเตอร์ที่คุณใช้ในการติดตั้งและจัดการส่วนประกอบระบบปฏิบัติการ TSM บัญชีผู้ดูแลระบบ Tableau Server เป็นบัญชีแอปพลิเคชันที่ใช้สำหรับสร้างผู้ใช้ Tableau Server โปรเจ็กต์ และไซต์ ผู้ดูแลระบบ Tableau Server ยังใช้สิทธิ์กับทรัพยากร Tableau ได้อีกด้วย เรียกใช้คำสั่งต่อไปนี้เพื่อสร้างบัญชีผู้ดูแลระบบเริ่มต้น ในตัวอย่างต่อไปนี้ จะเรียกผู้ใช้ว่าtableau-admin

    tabcmd initialuser --server http://localhost --username "tableau-admin"

    Tabcmd จะแจ้งให้คุณตั้งรหัสผ่านสำหรับผู้ใช้รายนี้

การตรวจสอบ: การกำหนดค่าโหนด 1

  1. เรียกใช้คำสั่งต่อไปนี้เพื่อตรวจสอบว่าบริการ TSM กำลังทำงานอยู่:

    tsm status -v

    Tableau ควรแสดงสิ่งต่อไปนี้

    external: 
    Status: RUNNING
    'Tableau Server Repository 0' is running (Active Repository).
    node1: localhost
    Status: RUNNING
    'Tableau Server Gateway 0' is running.
    'Tableau Server Application Server 0' is running.
    'Tableau Server Interactive Microservice Container 0' is running.
    'MessageBus Microservice 0' is running.
    'Relationship Query Microservice 0' is running.
    'Tableau Server VizQL Server 0' is running. 
    ...

    บริการทั้งหมดจะได้รับการระบุไว้

  2. เรียกใช้คำสั่งต่อไปนี้เพื่อตรวจสอบไซต์สำหรับการดูแลระบบ Tableau กำลังทำงานอยู่:

    curl localhost

    สองสามบรรทัดแรกควรแสดง Vizportal html คล้ายกับสิ่งนี้

    <!DOCTYPE html>
    <html xmlns:ng="" xmlns:tb="">
    <head ng-csp>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="initial-scale=1, maximum-scale=2, width=device-width, height=device-height, viewport-fit=cover">
    <meta name="format-detection" content="telephone=no">
    <meta name="vizportal-config ...

ดำเนินการสำรองข้อมูล tar ของขั้นตอนที่ 2

หลังจากที่คุณได้ตรวจสอบการติดตั้งครั้งแรกแล้ว ให้สำรองข้อมูล tar สองครั้ง:

  • PostgreSQL
  • โหนดเริ่มต้นของ Tableau (โหนด 1)

ในกรณีส่วนใหญ่ คุณสามารถกู้คืนการติดตั้งโหนดเริ่มต้นได้โดยการกู้คืนไฟล์ tar เหล่านี้ การกู้คืนไฟล์ tar นั้นเร็วกว่าการติดตั้งใหม่และการเริ่มต้นโหนดเริ่มต้นใหม่

สร้างไฟล์ tar ของขั้นตอนที่ 2
  1. หยุด Tableau บนโหนดเริ่มต้นของ Tableau

    tsm stop

    รอให้ Tableau หยุดก่อนดำเนินการต่อในขั้นตอนต่อไป

  2. หยุดอินสแตนซ์ฐานข้อมูล Postgres บนโฮสต์ PostgreSQL

    sudo systemctl stop postgresql-13

  3. เรียกใช้คำสั่งต่อไปนี้เพื่อสร้างข้อมูลสำรอง tar

    sudo su
    cd /var/lib/pgsql
    tar -cvf step2.13.bkp.tar 13
    exit
  4. ตรวจสอบว่าไฟล์ Postgres tar ได้รับการสร้างขึ้นด้วยสิทธิ์รูท:

    sudo ls -al /var/lib/pgsql

  5. บนโฮสต์ Tableau หยุดบริการการดูแลระบบ Tableau:

    sudo /app/tableau_server/packages/scripts.<version_code>/./stop-administrative-services
  6. เรียกใช้คำสั่งต่อไปนี้เพื่อสร้างข้อมูลสำรอง tar

    cd /data
    sudo tar -cvf step2.tableau_data.bkp.tar tableau_data	
  7. เริ่มต้นฐานข้อมูล Postgres บนโฮสต์ Postgres

    sudo systemctl start postgresql-13

  8. เริ่มบริการการดูแลระบบ Tableau:

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services
  9. เรียกใช้คำสั่ง tsm status เพื่อตรวจสอบสถานะ TSM ก่อนรีสตาร์ท

    ในกรณีส่วนใหญ่ คำสั่งจะแสดงสถานะเป็น DEGRADED หรือ ERROR ก่อน รอสักครู่แล้วเรียกใช้คำสั่งอีกครั้ง รอต่อไปหากระบบแสดงสถานะ ERROR หรือ DEGRADED อย่าพยายามเริ่ม TSM จนกว่าระบบจะแสดงสถานะ STOPPED แล้วเรียกใช้คำสั่งต่อไปนี้:

    tsm start

คืนค่าขั้นตอนที่ 2

กระบวนการนี้จะคืนค่า Tableau โหนด 1 และอินสแตนซ์ Postgres ไปเป็นขั้นตอนที่ 2 หลังจากที่คุณกู้คืนมาที่ขั้นตอนนี้แล้ว คุณสามารถปรับใช้โหนด Tableau ที่เหลืออีกครั้งได้

  1. หยุดบริการ tsm บนโฮสต์ Tableau เริ่มต้น (โหนด 1):

    tsm stop

  2. หยุดบริการการดูแลระบบ Tableau บนโหนดทั้งหมดของการปรับใช้ Tableau Server เรียกใช้คำสั่งต่อไปนี้บนแต่ละโหนดตามลำดับ (โหนด 1,โหนด 2 และโหนด 3)

    sudo /app/tableau_server/packages/scripts.<version_code>/./stop-administrative-services
  3. หลังจากที่บริการ Tableau หยุดทำงาน ให้กู้คืน PostgreSQL Step 2 tar เรียกใช้คำสั่งต่อไปนี้ในคอมพิวเตอร์ที่ใช้ Postgres

    • sudo su
      systemctl stop postgresql-13
      cd /var/lib/pgsql
      tar  -xvf step2.13.bkp.tar
      systemctl start postgresql-13
      exit
  4. กู้คืน Tableau Step 2 tar บนโฮสต์ Tableau เริ่มต้น .shเรียกใช้คำสั่งต่อไปนี้:

    cd /data
    sudo rm -rf tableau_data
    sudo tar  -xvf step2.tableau_data.bkp.tar
  5. นำไฟล์ต่อไปนี้ออกบนคอมพิวเตอร์โหนด 1 ของ Tableau

    • sudo rm /data/tableau_data/data/tabsvc/appzookeeper/0/version-2/currentEpoch
    • sudo rm /data/tableau_data/data/tabsvc/appzookeeper/0/version-2/acceptedEpoch
    • sudo rm /data/tableau_data/data/tabsvc/tabadminagent/0/servicestate.json
  6. เริ่มบริการการดูแลระบบ Tableau:

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

  7. โหลดไฟล์ systmctl ของ Tableau อีกครั้งแล้วเรียกใช้start-administrative-servicesอีกครั้ง

    sudo su -l tableau -c "systemctl --user daemon-reload"

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

  8. เรียกใช้คำสั่งtsm statusบนโหนด 1 เพื่อตรวจสอบสถานะ TSM ก่อนรีสตาร์ท

    ในบางกรณี คุณจะได้รับข้อผิดพลาด Cannot connect to server... ข้อผิดพลาดนี้เกิดขึ้นเนื่องจากบริการตัวควบคุมผู้ดูแลระบบแท็บยังไม่ได้รีสตาร์ท เรียกใช้ tsm status ต่อเป็นระยะๆ หากข้อผิดพลาดนี้ยังไม่หายไปหลังจากผ่านไป 10 นาที ให้เรียกใช้คำสั่ง start-administrative-services อีกครั้ง

    หลังจากนั้นสักครู่ คำสั่ง tsm status จะแสดงสถานะ DEGRADED และ ERROR อย่าเริ่ม TSM จนกว่าสถานะจะแสดงเป็น STOPPED แล้วเรียกใช้คำสั่งต่อไปนี้:

    tsm start

ดำเนินการกระบวนการการติดตั้งต่อเพื่อติดตั้ง Tableau Server บนโหนดที่เหลือ

ติดตั้ง Tableau Server บนโหนดที่เหลือ

หากต้องการปรับใช้ต่อ ให้คัดลอกโปรแกรมติดตั้ง Tableau ไปยังแต่ละโหนด

ภาพรวมการกำหนดค่าโหนด

หัวข้อนี้อธิบายขั้นตอนการกำหนดค่าโหนด 2-4 หัวข้อที่ตามมาจะมีขั้นตอนการกำหนดค่าและการตรวจสอบโดยละเอียดสำหรับแต่ละขั้นตอน

การติดตั้ง Tableau server โหนด 2-4 ต้องการให้คุณสร้าง คัดลอก และอ้างอิงไฟล์ Bootstrap ระหว่างการติดตั้งโหนด

ในการสร้างไฟล์ Bootstrap คุณต้องเรียกใช้คำสั่ง TSM บนโหนดเริ่มต้น จากนั้นคุณจะคัดลอกไฟล์ Bootstrap ไปยังโหนดเป้าหมาย โดยที่คุณเรียกใช้โหนดนั้นเป็นส่วนหนึ่งของการเริ่มต้นโหนด

เนื้อหา json ต่อไปนี้แสดงตัวอย่างของไฟล์ Bootstrap (ใบรับรองและค่าที่เกี่ยวข้องกับการเข้ารหัสได้รับการตัดทอนเพื่อให้อ่านไฟล์ตัวอย่างได้ง่ายขึ้น)

{
"initialBootstrapSettings" : {
	"certificate" : "-----BEGIN CERTIFICATE-----\r\...=\r\n-----END CERTIFICATE-----",
	"port" : 8850,
	"configurationName" : "tabsvc",
	"clusterId" : "tabsvc-clusterid",
	"cryptoKeyStore" : "zs7OzgAAAAIAAAABAAAAA...w==",
	"toksCryptoKeystore" : "LS0tLS1CRUdJTiBUT00tLS0tCjM5MDBh...L",
	"sessionCookieMaxAge" : 7200,
	"nodeId" : "node1",
	"machineAddress" : "ip-10-0-1-93.us-west-1.compute.internal",
	"cryptoEnabled" : true,
	"sessionCookieUser" : "tsm-bootstrap-user",
	"sessionCookieValue" : "eyJjdHkiOiJKV1QiLCJlbmMiOiJBMTI4Q0JDLUhQ...",
	"sessionCookieName" : "AUTH_COOKIE"
	}
}

ไฟล์ Bootstrap มีการตรวจสอบตามการเชื่อมต่อเพื่อตรวจสอบสิทธิ์โหนด 1 และสร้างช่องทางที่เข้ารหัสสำหรับกระบวนการ Bootstrap เซสชัน Bootstrap มีเวลาจำกัด การกำหนดค่าและการตรวจสอบโหนดจะใช้เวลานาน วางแผนสร้างและคัดลอก Bootstrap ใหม่เมื่อคุณกำหนดค่าโหนด

หลังจากที่คุณเรียกใช้ไฟล์ Bootstrap แล้ว จากนั้นคุณเข้าสู่ระบบโหนด Tableau Server เริ่มต้น และกำหนดค่ากระบวนการสำหรับโหนดใหม่ เมื่อคุณกำหนดค่าโหนดเสร็จแล้ว คุณต้องใช้การเปลี่ยนแปลงและรีสตาร์ทโหนดเริ่มต้น โหนดใหม่ได้รับการกำหนดค่าและเริ่มทำงาน เมื่อคุณเพิ่มโหนด การกำหนดค่าและรีสตาร์ทการปรับใช้จะใช้เวลานานติดต่อกันกว่าจะเสร็จสมบูรณ์

ตัวอย่าง Linux ทั่วทั้งกระบวนการติดตั้งแสดงคำสั่งสำหรับการกระจายที่คล้ายกับ RHEL หากเรียกใช้การกระจาย Ubuntu ให้แก้ไขคำสั่งให้สอดคล้องกัน

  1. ดำเนินการอัปเดตเพื่อใช้การแก้ไขล่าสุดกับ Linux OS

    sudo yum update

  2. ดาวน์โหลดและติดตั้งการขึ้นต่อกัน

    sudo yum deplist tableau-server-<version>.rpm | awk '/provider:/ {print $2}' | sort -u | xargs sudo yum -y install

  3. สร้างเส้นทาง /app/tableau_server ในไดเรกทอรีรูท

    sudo mkdir -p /app/tableau_server

  4. เรียกใช้โปรแกรมการติดตั้งและระบุเส้นทางติดตั้ง /app/tableau_server ตัวอย่างเช่น เรียกใช้สิ่งต่อไปนี้บนระบบปฏิบัติการที่คล้ายกับ RHEL ของ Linux

    sudo rpm -i --prefix /app/tableau_server tableau-server-<version>.x86_64.rpm

สร้าง คัดลอก และใช้ไฟล์ Bootstrap เพื่อเริ่มต้น TSM

ขั้นตอนต่อไปนี้แสดงวิธีสร้าง คัดลอก และใช้ไฟล์ Bootstrap เมื่อเริ่มต้น TSM บนโหนดอื่น ในตัวอย่างนี้ ไฟล์ Bootstrap มีชื่อว่าboot.json

ในตัวอย่างนี้ คอมพิวเตอร์โฮสต์กำลังทำงานใน AWS โดยที่โฮสต์ EC2 กำลังเรียกใช้ Amazon Linux 2

  1. เชื่อมต่อกับโหนดเริ่มต้น (โหนด 1) และเรียกใช้คำสั่งต่อไปนี้:

    tsm topology nodes get-bootstrap-file --file boot.json

  2. คัดลอกไฟล์ Bootstrap ไปที่โหนด 2

    scp boot.json ec2-user@10.0.31.83:/home/ec2-user/

  3. เชื่อมต่อกับโหนด 2 และสลับไปที่ไดเรกทอรีสคริปต์ Tableau Server:

    cd /app/tableau_server/packages/scripts.<version_number>

  4. เรียกใช้คำสั่ง initialize-tsmและอ้างอิงไฟล์ Bootstrap:

    sudo ./initialize-tsm -d /data/tableau_data -b /home/ec2-user/boot.json --accepteula

  5. หลังจาก initialize-tsmเสร็จสิ้น ให้ลบboot.jsonจากนั้นออกหรือออกจากระบบเซสชัน

กำหนดค่ากระบวนการ

คุณต้องกำหนดค่าคลัสเตอร์ Tableau Server บนโหนดที่ตัวควบคุมการดูแลระบบ Tableau Server (ตัวควบคุม TSM) ทำงานอยู่ ตัวควบคุม TSM ทำงานบนโหนดเริ่มต้น

กำหนดค่าโหนด 2

  1. หลังจากที่คุณได้เริ่มต้น TSM โดยใช้ไฟล์ Bootstrap บนโหนด 2 แล้ว ให้เข้าสู่ระบบโหนดเริ่มต้น
  2. บนโหนดเริ่มต้น (node1) ให้เรียกใช้คำสั่งต่อไปนี้เพื่อกำหนดค่ากระบวนการบนโหนด 2:

    tsm topology set-process -n node2 -pr clustercontroller -c 1
    tsm topology set-process -n node2 -pr gateway -c 1
    tsm topology set-process -n node2 -pr vizportal -c 1
    tsm topology set-process -n node2 -pr vizqlserver -c 2
    tsm topology set-process -n node2 -pr cacheserver -c 2
    tsm topology set-process -n node2 -pr searchserver -c 1
    tsm topology set-process -n node2 -pr dataserver -c 2
    tsm topology set-process -n node2 -pr clientfileservice -c 1
    tsm topology set-process -n node2 -pr tdsservice -c 1
    tsm topology set-process -n node2 -pr collections -c 1
    tsm topology set-process -n node2 -pr contentexploration -c 1

    หากคุณติดตั้งเวอร์ชัน 2022.1 ขึ้นไป ให้เพิ่มดัชนีและบริการการค้นหาด้วย

    tsm topology set-process -n node2 -pr indexandsearchserver -c 1

    หากคุณติดตั้งเวอร์ชัน 2023.3 ขึ้นไป ให้เพิ่มบริการดัชนีและการค้นหาเท่านั้น อย่าเพิ่มบริการค้นหาและเรียกดู (searchserver)

  3. ตรวจสอบการกำหนดค่าก่อนนำมาใช้ เรียกใช้คำสั่งต่อไปนี้:

    tsm pending-changes list

  4. หลังจากที่คุณได้ตรวจสอบแล้วว่าการเปลี่ยนแปลงของคุณอยู่ในรายการที่รอดำเนินการ (จะมีบริการอื่นๆ ในรายการที่รอดำเนินการด้วย) ให้ใช้การเปลี่ยนแปลง:

    tsm pending-changes apply

    การเปลี่ยนแปลงจะต้องมีการรีสตาร์ท การกำหนดค่าและการรีสตาร์ทจะใช้เวลาสักครู่

  5. ตรวจสอบการกำหนดค่าโหนด 2 เรียกใช้คำสั่งต่อไปนี้:

    tsm status -v

กำหนดค่า Node 3

เริ่มต้น TSM โดยใช้กระบวนการ Bootstrap บนโหนด 3 จากนั้นเรียกใช้คำสั่งtsm topology set-processด้านล่าง

มีคำเตือนบริการรวมที่จะแสดงทุกครั้งที่คุณตั้งค่ากระบวนการ คุณสามารถละเว้นคำเตือนนี้เมื่อคุณตั้งค่ากระบวนการ

  1. หลังจากที่คุณเริ่มต้น TSM โดยใช้ไฟล์ Bootstrap บนโหนด 3 แล้ว ให้เข้าสู่ระบบโหนดเริ่มต้น (node1) และเรียกใช้คำสั่งต่อไปนี้เพื่อกำหนดค่ากระบวนการ:

    tsm topology set-process -n node3 -pr clustercontroller -c 1
    tsm topology set-process -n node3 -pr clientfileservice -c 1
    tsm topology set-process -n node3 -pr backgrounder -c 4
    tsm topology set-process -n node3 -pr filestore -c 1

    หากคุณติดตั้งเวอร์ชัน 2022.1 ขึ้นไป ให้เพิ่มดัชนีและบริการการค้นหาด้วย

    tsm topology set-process -n node3 -pr indexandsearchserver -c 1
  2. ตรวจสอบการกำหนดค่าก่อนนำมาใช้ เรียกใช้คำสั่งต่อไปนี้:

    tsm pending-changes list

  3. หลังจากที่คุณได้ตรวจสอบแล้วว่าการเปลี่ยนแปลงของคุณอยู่ในรายการที่รอดำเนินการ (รายการจะมีบริการอื่นๆ ที่ได้รับการกำหนดค่าโดยอัตโนมัติ) ให้ใช้การเปลี่ยนแปลง:

    tsm pending-changes apply --ignore-warnings

    การเปลี่ยนแปลงจะต้องมีการรีสตาร์ท การกำหนดค่าและการรีสตาร์ทจะใช้เวลาสักครู่

  4. ตรวจสอบการกำหนดค่าโดยเรียกใช้คำสั่งต่อไปนี้

    tsm status -v

ปรับใช้ชุดบริการรวมกับ Nodes 1-3

สำหรับการปรับใช้แบบสี่โหนดของสถาปัตยกรรมอ้างอิงมาตรฐาน ให้เรียกใช้ขั้นตอนดังต่อไปนี้

  1. เรียกใช้คำสั่งต่อไปนี้บนโหนด 1

    tsm stop
    tsm topology deploy-coordination-service -n node1,node2,node3

    กระบวนการนี้รวมถึงการรีสตาร์ท TSM จะใช้เวลาสักครู่

  2. หลังจากปรับใช้บริการรวมแล้ว ให้เริ่ม TSM ดังนี้

    tsm start

ดำเนินการสำรองข้อมูล tar ของขั้นตอนที่ 3

หลังจากที่คุณได้ตรวจสอบการติดตั้งแล้ว ให้สำรองข้อมูล tar สี่ครั้งดังนี้

  • PostgreSQL
  • โหนดเริ่มต้นของ Tableau (โหนด 1)
  • โหนด 2 ของ Tableau
  • โหนด 3 ของ Tableau
สร้างไฟล์ tar ของขั้นตอนที่ 3
  1. หยุด Tableau บนโหนดเริ่มต้นของ Tableau

    tsm stop

  2. หลังจากที่ TSM หยุดทำงานแล้ว ให้หยุดบริการการดูแลระบบ Tableau ในแต่ละโหนด เรียกใช้คำสั่งต่อไปนี้บนแต่ละโหนดตามลำดับ (โหนด 1,โหนด 2 และโหนด 3)

    sudo /app/tableau_server/packages/scripts.<version_code>/./stop-administrative-services

  3. หยุดอินสแตนซ์ฐานข้อมูล Postgres บนโฮสต์ PostgreSQL

    sudo systemctl stop postgresql-12

  4. เรียกใช้คำสั่งต่อไปนี้เพื่อสร้างข้อมูลสำรอง tar

    sudo su
    cd /var/lib/pgsql
    tar -cvf step3.12.bkp.tar 12
    exit
  5. ตรวจสอบว่าไฟล์ Postgres tar ได้รับการสร้างขึ้นด้วยสิทธิ์รูท:

    sudo ls -al /var/lib/pgsql

  6. เริ่มต้นฐานข้อมูล Postgres บนโฮสต์ Postgres

    sudo systemctl start postgresql-12

  7. สร้างการสำรองข้อมูล tar บนโหนด 1,โหนด 2 และโหนด 3 เรียกใช้คำสั่งต่อไปนี้บนแต่ละโหนด

    • cd /data
      sudo tar -cvf step3.tableau_data.bkp.tar tableau_data
    • ตรวจสอบว่าไฟล์ Tableau tar ได้รับการสร้างขึ้นด้วยสิทธิ์รูท:

      ls -al

  8. เริ่มบริการการดูแลระบบ Tableau บนแต่ละโหนดตามลำดับ (โหนด 1,โหนด 2 และจากนั้นโหนด 3)

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

  9. เรียกใช้คำสั่ง tsm status เพื่อตรวจสอบสถานะ TSM ก่อนรีสตาร์ท

    ในกรณีส่วนใหญ่ คำสั่งจะแสดงสถานะเป็น DEGRADED และจากนั้น ERROR รอสักครู่แล้วเรียกใช้คำสั่งอีกครั้ง รอต่อไปหากระบบแสดงสถานะ ERROR หรือ DEGRADED อย่าพยายามเริ่ม TSM จนกว่าระบบจะแสดงสถานะ STOPPED แล้วเรียกใช้คำสั่งต่อไปนี้:

    tsm start

คืนค่าขั้นตอนที่ 3

กระบวนการนี้จะคืนค่า Tableau ของโหนด 1,โหนด 2 และโหนด 3 นอกจากนี้ยังกู้คืนอินสแตนซ์ Postgres ไปเป็นขั้นตอนที่ 3 หลังจากที่คุณกู้คืนมาที่ขั้นตอนนี้แล้ว คุณสามารถปรับใช้บริการรวม,โหนด 4 และการกำหนดค่าโหนดสุดท้ายได้

  1. หยุดบริการ tsm บนโฮสต์ Tableau เริ่มต้น (โหนด 1):

    tsm stop

  2. หลังจากที่ TSM หยุดทำงานแล้ว ให้หยุดบริการการดูแลระบบ Tableau บนโหนด 1,โหนด 2 และโหนด 3 เรียกใช้คำสั่งต่อไปนี้บนแต่ละโหนดดังนี้

    sudo /app/tableau_server/packages/scripts.<version_code>/./stop-administrative-services

  3. กู้คืน PostgreSQL Step 3 tar เรียกใช้คำสั่งต่อไปนี้ในคอมพิวเตอร์ที่ใช้ Postgres

    sudo su
    systemctl stop postgresql-12
    cd /var/lib/pgsql
    tar -xvf step3.12.bkp.tar
    systemctl start postgresql-12
    exit
  4. กู้คืน Tableau Step 3 tar บนโหนด 1,โหนด 2 และโหนด 3 เรียกใช้คำสั่งต่อไปนี้บนแต่ละโหนดของ Tableau

    cd /data
    sudo rm -rf tableau_data
    sudo tar  -xvf step3.tableau_data.bkp.tar
  5. นำไฟล์ต่อไปนี้ออกบนคอมพิวเตอร์โหนด 1 ของ Tableau

    • sudo rm /data/tableau_data/data/tabsvc/appzookeeper/1/version-2/currentEpoch
    • sudo rm /data/tableau_data/data/tabsvc/appzookeeper/1/version-2/acceptedEpoch
    • sudo rm /data/tableau_data/data/tabsvc/tabadminagent/0/servicestate.json

    หากเชลล์แสดงข้อผิดพลาด “ไม่พบไฟล์” คุณอาจต้องเปลี่ยนชื่อเส้นทางเพื่อเพิ่มจำนวน<n>ในส่วนนี้ของเส้นทางดังนี้.../appzookeeper/<n>/version-2/...

  6. รีสตาร์ทบริการการดูแลระบบบนโหนด 1,โหนด 2 และโหนด 3 เรียกใช้คำสั่งต่อไปนี้บนแต่ละโหนด

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

    sudo su -l tableau -c "systemctl --user daemon-reload"

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

  7. เรียกใช้คำสั่งtsm statusบนโหนด 1 เพื่อตรวจสอบสถานะ TSM ก่อนรีสตาร์ท

    ในบางกรณี คุณจะได้รับข้อผิดพลาด Cannot connect to server... ข้อผิดพลาดนี้เกิดขึ้นเนื่องจากบริการตัวควบคุมผู้ดูแลระบบแท็บยังไม่ได้รีสตาร์ท เรียกใช้ tsm status ต่อเป็นระยะๆ หากข้อผิดพลาดนี้ยังไม่หายไปหลังจากผ่านไป 10 นาที ให้เรียกใช้คำสั่ง start-administrative-services อีกครั้ง

    หลังจากนั้นสักครู่ คำสั่ง tsm status จะแสดงสถานะ DEGRADED และ ERROR อย่าเริ่ม TSM จนกว่าสถานะจะแสดงเป็น STOPPED แล้วเรียกใช้คำสั่งต่อไปนี้:

    tsm start

ดำเนินการกระบวนการการติดตั้งต่อเพื่อปรับใช้บริการรวมบนโหนด 1-3

กำหนดค่าโหนด 4

กระบวนการการกำหนดค่าโหนด 4 เหมือนกับโหนด 3

ตั้งค่ากระบวนการเดียวกันกับที่คุณตั้งค่าสำหรับโหนด 3 โดยเรียกใช้ชุดคำสั่งเดียวกันกับที่แสดงด้านบน แต่ระบุ node4 ในคำสั่งแทนที่จะเป็นnode3

เช่นเดียวกับการตรวจสอบโหนด 3 ให้ตรวจสอบการกำหนดค่าโหนด 4 โดยเรียกใช้ tsm status -v

ก่อนที่จะดำเนินการต่อ โปรดรอให้กระบวนการของที่เก็บไฟล์บนโหนด 4 ซิงโครไนซ์เสร็จสิ้น สถานะบริการที่เก็บไฟล์จะแสดง is synchronizing จนกว่าการซิงโครไนซ์จะเสร็จสิ้น เมื่อสถานะบริการที่เก็บไฟล์แสดง is running คุณจะดำเนินการต่อได้

การกำหนดค่าและการตรวจสอบกระบวนการขั้นสุดท้าย

ขั้นตอนสุดท้ายในการกำหนดค่ากระบวนการคือการลบกระบวนการที่ซ้ำซ้อนออกจากโหนด 1

  1. เชื่อมต่อกับโหนดเริ่มต้น (node1)

  2. ยกเลิกการใช้การจัดเก็บไฟล์บนโหนด 1 สิ่งนี้จะทำให้เกิดคำเตือนเกี่ยวกับการลบการจัดเก็บไฟล์ออกจากตัวควบคุมที่อยู่ร่วมกัน คุณสามารถละเว้นคำเตือนได้ เรียกใช้คำสั่งต่อไปนี้:

    tsm topology filestore decommission -n node1

  3. เมื่อยกเลิกการใช้การจัดเก็บไฟล์ ให้เรียกใช้คำสั่งต่อไปนี้เพื่อลบขั้นตอนที่ดำเนินการในพื้นหลังออกจากโหนด 1 ดังนี้:

    tsm topology set-process -n node1 -pr backgrounder -c 0

  4. ตรวจสอบการกำหนดค่าก่อนนำมาใช้ เรียกใช้คำสั่งต่อไปนี้:

    tsm pending-changes list

  5. หลังจากที่คุณได้ตรวจสอบแล้วว่าการเปลี่ยนแปลงของคุณอยู่ในรายการที่รอดำเนินการ ให้ใช้การเปลี่ยนแปลงดังนี้

    tsm pending-changes apply

    การเปลี่ยนแปลงจะต้องมีการรีสตาร์ท การกำหนดค่าและการรีสตาร์ทจะใช้เวลาสักครู่

  6. ตรวจสอบการกำหนดค่าดังนี้

    tsm status -v

    ก่อนที่จะดำเนินการต่อ โปรดรอให้กระบวนการของที่เก็บไฟล์บนโหนด 4 ซิงโครไนซ์เสร็จสิ้น สถานะบริการที่เก็บไฟล์จะแสดง is synchronizing จนกว่าการซิงโครไนซ์จะเสร็จสิ้น เมื่อสถานะบริการที่เก็บไฟล์แสดง is running คุณจะดำเนินการต่อได้

ดำเนินการสำรองข้อมูล

การกู้คืน Tableau Server อย่างเต็มรูปแบบต้องการพอร์ตโฟลิโอสำรองที่มีองค์ประกอบสามอย่างดังนี้

  • ไฟล์สำรองของที่เก็บและข้อมูลจัดเก็บไฟล์ ไฟล์นี้สร้างขึ้นโดยคำสั่ง tsm maintenance backup
  • โทโพโลยีและนำเข้าไฟล์การกำหนดค่า ไฟล์นี้สร้างขึ้นโดยคำสั่ง tsm settings export
  • ใบรับรองการตรวจสอบสิทธิ์ คีย์ และไฟล์คีย์แท็บ

สำหรับคำอธิบายแบบเต็มของกระบวนการสำรองและกู้คืนข้อมูล โปรดดูหัวข้อ Tableau Server ดำเนินการสำรองและกู้คืนข้อมูลทั้งหมดของ Tableau Server (Linux(ลิงก์จะเปิดในหน้าต่างใหม่))

ในขั้นตอนนี้ของการปรับใช้ของคุณ ไฟล์และเนื้อหาที่เกี่ยวข้องทั้งหมดที่จำเป็นสำหรับการกู้คืนแบบเต็มจะรวมอยู่ด้วยโดยการเรียกใช้คำสั่งtsm maintenance backupและtsm settings export

  1. เรียกใช้คำสั่งต่อไปนี้เพื่อนำการกำหนดค่าและการตั้งค่าโทโพโลยีออกไปยังไฟล์ที่ชื่อts_settings_backup.json

    tsm settings export -f ts_settings_backup.json

  2. เรียกใช้คำสั่งต่อไปนี้เพื่อสร้างข้อมูลสำรองของที่เก็บและข้อมูลจัดเก็บไฟล์ในไฟล์ชื่อts_backup-<yyyy-mm-dd>.tsbak ละเว้นคำเตือนเกี่ยวกับการจัดเก็บไฟล์ที่ไม่ได้อยู่บนโหนดตัวควบคุม

    tsm maintenance backup -f ts_backup -d --skip-compression

    ตำแหน่งของไฟล์สำรองมีดังนี้

    /data/tableau_data/data/tabsvc/files/backups/

  3. คัดลอกทั้งสองไฟล์และบันทึกไว้ในเนื้อหาจัดเก็บข้อมูลอื่นที่ไม่ได้แชร์โดยการปรับใช้ Tableau Server ของคุณ

ขอบคุณสำหรับข้อเสนอแนะของคุณส่งข้อเสนอแนะของคุณเรียบร้อยแล้ว ขอขอบคุณ