Edge for Private Cloud เวอร์ชัน 4.17.09
คุณสามารถติดตั้ง API BaaS ในศูนย์ข้อมูลหลายแห่งได้โดยใช้ การกำหนดค่า เอกสารนี้อธิบายวิธีเพิ่มศูนย์ข้อมูล BaaS ในข้อมูล BaaS ที่มีอยู่
การเพิ่มศูนย์ข้อมูลเมื่อ แชร์คลัสเตอร์ Cassandra กับ Edge แล้ว
ศูนย์ข้อมูลทั้งหมดต้องมีจำนวนโหนด Cassandra เท่ากัน การติดตั้ง API BaaS สามารถ ใช้คลัสเตอร์ Cassandra ของตัวเองหรือแชร์คลัสเตอร์ Cassandra กับ Edge
หากการติดตั้ง BaaS แชร์คลัสเตอร์ Cassandra กับ Edge คุณจะต้องอัปเดต เซิร์ฟเวอร์การจัดการในศูนย์ข้อมูลเดิมเพื่อกำหนดค่าเซิร์ฟเวอร์ให้จดจำโหนด Cassandra ใน ศูนย์ข้อมูลใหม่
การอัปเดตศูนย์ข้อมูลที่มีอยู่
การเพิ่มศูนย์ข้อมูล BaaS ใหม่ (ศูนย์ข้อมูล 2) กำหนดให้คุณต้องทำตามขั้นตอนการติดตั้งและ กำหนดค่าศูนย์ข้อมูลใหม่ แต่คุณต้องอัปเดตศูนย์ข้อมูล BaaS เดิมด้วย (ศูนย์ข้อมูล 1) การแก้ไขเหล่านี้เป็นสิ่งที่จำเป็นเนื่องจากเหตุผลต่อไปนี้
- คุณกำลังเพิ่มโหนด Cassandra ใหม่ในศูนย์ข้อมูลใหม่ที่ต้องเข้าถึงได้โดย ศูนย์ข้อมูลที่มีอยู่
- คุณต้องกำหนดค่าข้อมูลการจำลองที่โหนด BaaS Stack ใช้ข้อมูล ศูนย์ 1 เพื่อรวมข้อมูลจากศูนย์ข้อมูล 2 คุณไม่สามารถดำเนินการกำหนดค่าได้จนกว่า ติดตั้งศูนย์ข้อมูล 2 แล้ว
หากต้องการดำเนินการอัปเดตเหล่านี้ในศูนย์ข้อมูล 1 คุณจะต้องอัปเดตไฟล์การกำหนดค่าเดิมที่ใช้เพื่อ ติดตั้งศูนย์ข้อมูล 1 แล้วเรียกใช้ apigee-setup อีกครั้งบนโหนดข้อมูล Cassandra ศูนย์ 1. หากมีการแชร์คลัสเตอร์ Cassandra สำหรับศูนย์ข้อมูล 1 กับการติดตั้ง Edge คุณจะต้องอัปเดตเซิร์ฟเวอร์การจัดการด้วย
การสร้างไฟล์การกำหนดค่า
สำหรับการติดตั้งศูนย์ข้อมูล 1 ให้ใช้การกำหนดค่าที่แสดงในการติดตั้ง API BaaS ไฟล์การกำหนดค่าไม่จำเป็นต้อง รวมข้อมูลเกี่ยวกับศูนย์ข้อมูล 2 ณ เวลาที่ติดตั้งศูนย์ข้อมูล 1. ลงในไฟล์การกำหนดค่าหลังจากติดตั้งศูนย์ข้อมูล 2
ด้านล่างนี้คือไฟล์การกำหนดค่าสำหรับศูนย์ข้อมูล 2 ไฟล์การกำหนดค่านี้จะสมมติว่าคุณ กำลังติดตั้ง dc-2 บน 10 โหนดตามที่อธิบายไว้ใน Topologies การติดตั้ง แก้ไขไฟล์นี้ตามที่ระบุ หากคุณ กำลังติดตั้งใน 7 โหนด
โปรดสังเกตว่าไฟล์การกำหนดค่าสำหรับศูนย์ข้อมูล 2 (dc-2) มีข้อมูลเกี่ยวกับศูนย์ข้อมูล 1 (dc-1):
# Specify IP address or DNS name of node for dc-2. IP1=192.168.1.1 # ElasticSearch IP2=192.168.1.2 # ElasticSearch IP3=192.168.1.3 # ElasticSearch IP4=192.168.1.4 # API BaaS Stack IP5=192.168.1.5 # API BaaS Stack IP6=192.168.1.6 # API BaaS Stack IP7=192.168.1.7 # API BaaS Portal IP8=192.168.1.8 # Cassandra dc-2 (shared with Edge or standalone) IP9=192.168.1.9 # Cassandra dc-2 (shared with Edge or standalone) IP10=192.168.1.10 # Cassandra dc-2 (shared with Edge or standalone) # Specify node information for dc-1 IP11=192.168.1.11 # Cassandra dc-1 (shared with Edge or standalone) IP12=192.168.1.12 # Cassandra dc-1 (shared with Edge or standalone) IP13=192.168.1.13 # Cassandra dc-1 (shared with Edge or standalone) IP14=192.168.1.14 # API BaaS Stack IP15=192.168.1.15 # API BaaS Stack # Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost. HOSTIP=$(hostname -i) # Define the API BaaS administrator account. AS_ADMIN="superuser" # User name - default is "superuser". AS_ADMIN_EMAIL=stackAdmin@email.com AS_PASSWD=stackAdminPWord # Specify Cassandra data center and rack suffix. # List dc-2 nodes first, then dc-1. # Must use IP addresses for CASS_HOSTS, not DNS names. # CASS_HOSTS="$IP8:2,1 $IP9:2,1 $IP10:2,1 $IP11:1,1 $IP12:1,1 $IP13:1,1" # Specify the Cassandra region. REGION=dc-2 # Cassandra uname/pword. # Even if Cassandra authentication is disabled, # you must still pass values for these properties. CASS_USERNAME=cassandra # Default value CASS_PASSWORD=cassandra # Default value # Specify BaaS Cassandra connection information. # Specify the data center name as dc-2. BAAS_CASS_LOCALDC=dc-2 # Specify both data centers. BAAS_CASS_DC_LIST=dc-1,dc-2 # Replication is in the form "dataCenterName:#CassandraNodes". # Specify both data centers. BAAS_CASS_REPLICATION=dc-1:3,dc-2:3 # Defines the initial contact points for members of the BaaS cluster. # Specify the IP address of no more than two Stack nodes per data center. # Specify both data centers. BAAS_CLUSTER_SEEDS="dc-1:$IP14,dc-1:$IP15,dc-2:$IP4,dc-2:$IP5" # ElasticSearch IPs or DNS names, separated by spaces, for dc-2. ES_HOSTS="$IP1 $IP2 $IP3" # API BaaS Stack information. # Default cluster name is "apigee_baas" BAAS_USERGRID_CLUSTERNAME="apigee_baas" # URL and port of the load balancer for the API BaaS Stack nodes, # or IP/DNS and port 8080 of a single Stack node with no load balancer. BAAS_USERGRID_URL=http://myloadbalancer:8443 # API BaaS Portal information. # URL and port number of load balancer, if there is one in front of the Portal, # or the URL and port of the Portal node. BAAS_PORTAL_URL="http://$IP7:9000" # Portal port. Default value is 9000. BAAS_PORTAL_LISTEN_PORT=9000 # SMTP information. BaaS requires an SMTP server. SMTPHOST=smtp.gmail.com SMTPPORT=465 SMTPUSER=your@email.com SMTPPASSWORD=yourEmailPassword SMTPSSL=y SMTPMAILFROM="My Company <myco@company.com>"
เพิ่มศูนย์ข้อมูล BaaS
- ติดตั้งศูนย์ข้อมูลแรกตามที่อธิบายไว้ใน API BaaS การติดตั้ง เอกสารดังกล่าวมีไฟล์การกำหนดค่าที่คุณใช้ติดตั้งข้อมูล ศูนย์ 1.
- สร้างไฟล์การกำหนดค่าสำหรับ dc-2 ตามที่อธิบายไว้ข้างต้น
- ติดตั้ง Cassandra ทั้งจากการติดตั้ง Edge ที่มีอยู่แล้วหรือแบบสแตนด์อโลน
คลัสเตอร์สำหรับ BaaS:
- ติดตั้งยูทิลิตี apigee-setup ของ Edge ใน โหนด Cassandra ของ dc-2 เครื่อง 8 โดยใช้กระบวนการอินเทอร์เน็ตหรือที่ไม่ใช่อินเทอร์เน็ต โปรดดู ติดตั้งการตั้งค่า Apigee ของ Edge ยูทิลิตีเพิ่มเติม
- เรียกใช้สคริปต์การตั้งค่าเพื่อติดตั้ง Cassandra บนโหนดแรกที่ Command Prompt
> /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
ตัวเลือก "-p c" จะระบุให้ติดตั้ง Cassandra
ไฟล์การกำหนดค่าต้องเข้าถึงได้หรืออ่านได้โดย "apigee" ผู้ใช้ - ทำขั้นตอนที่ 3 และ 4 ซ้ำสำหรับโหนด Cassandra ที่เหลือ เครื่อง 9 และ 10 ใน dc-2
- ในโหนด Cassandra ของ dc-1 ให้แก้ไขไฟล์การกำหนดค่าเพื่อเพิ่มโหนด Cassandra จาก
ศูนย์ข้อมูลที่ 2 ตามวิธีที่คุณติดตั้ง Cassandra:
# แสดงรายการโหนด dc-1 ก่อน ตามด้วย dc-2
# รวมถึงศูนย์ข้อมูลและส่วนต่อท้ายของแร็ค
CASS_HOSTS="$IP11:1,1 $IP12:1,1 $IP13:1,1 $IP8:2,1 $IP9:2,1 $IP10:2,1" - ในโหนด Cassandra แรกของ dc-1 ให้เรียกใช้ Setup.sh ด้วยไฟล์การกำหนดค่า dc-1 ใหม่
รวมโหนด Cassandra จาก dc-2:
> /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile - ทำขั้นตอนที่ 6 และ 7 ซ้ำสำหรับโหนด Cassandra ที่เหลืออยู่ใน dc-1
- หากคุณกำลังเชื่อมต่อกับคลัสเตอร์ Cassandra สำหรับ dc-1 ที่แชร์กับ Edge
เพิ่มโหนด dc-2 Cassandra ไปยังไฟล์การกำหนดค่าสำหรับโหนดเซิร์ฟเวอร์การจัดการของ dc-1 แล้วเรียกใช้
setup.sh:
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile - อัปเดตคีย์สเปซของ Cassandra ด้วยปัจจัยการจำลองที่ถูกต้องสำหรับศูนย์ข้อมูลทั้ง 2 แห่ง คุณ
ต้องทำขั้นตอนนี้เพียงครั้งเดียวในเซิร์ฟเวอร์ Cassandra ในศูนย์ข้อมูลใดเซิร์ฟเวอร์หนึ่ง:
หมายเหตุ: คำสั่งด้านล่างทั้งหมดตั้งค่าปัจจัยการจำลองเป็น "3" ซึ่งบ่งชี้ว่า 3 โหนด Cassandra ในคลัสเตอร์ แก้ไขค่านี้ตามความจำเป็นสำหรับการติดตั้ง- เปิดยูทิลิตี Cassandra cqlsh:
> /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP - เรียกใช้คำสั่ง CQL ต่อไปนี้ที่ "cqlsh>" แจ้งให้ตั้งค่าการจำลอง
ระดับสำหรับแป้นเว้นวรรคของ Cassandra:
- cqlsh> ทางเลือก KEYSPACE "Apigee_Baas_dc_1" มีการจำลอง = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ทางเลือก KEYSPACE "Apigee_Baas" ที่มีการจำลอง = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ทางเลือก KEYSPACE "Apigee_Baas_Locks" มีการจำลอง = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> หลักสำคัญอื่น "การติดตามระบบ" ที่มีการจำลอง = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ทางเลือก KEYSPACE "system_auth" ที่มีการจำลอง = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- ดูช่องว่างโดยใช้คำสั่ง
cqlsh> เลือก * จาก system.schema_keyspaces; - ออกจาก cqlsh:
cqlsh> การออก
- เปิดยูทิลิตี Cassandra cqlsh:
- ในโหนด Cassandra ทั้งหมดใน dc-2 ให้เรียกใช้คำสั่ง rebuild โดยระบุชื่อภูมิภาคของ
dc-1:
> /opt/apigee/apigee-cassandra/bin/nodetool -h สร้าง cassandraIP ขึ้นใหม่ dc-1 - เรียกใช้ "สถานะ Nodetool" ในทุกโหนด Cassandra และยืนยันว่าโหนด Cassandra ทั้งหมด
"100%" สำหรับค่า "เป็นเจ้าของ":
> /opt/apigee/apigee-cassandra/bin/nodetool สถานะ - ติดตั้ง BaaS ใน dc-2:
- แก้ไขไฟล์การกำหนดค่าให้แสดงเฉพาะโหนด Cassandra ใน dc-2:
# รายการโหนด dc-2 Cassandra
ไม่ระบุศูนย์ข้อมูลและคำต่อท้ายแร็ค # รายการของ Cassandra
CASS_HOSTS="$IP8 $IP9 $IP10" - ติดตั้ง ElasticSearch บนโหนด 4, 5 และ 6 ของ dc-2:
> /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile - ติดตั้งสแต็ก BaaS บนโหนด 4, 5 และ 6 ของ dc-2:
> /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile - ติดตั้งพอร์ทัล BaaS บนเครื่อง 7:
> /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
- แก้ไขไฟล์การกำหนดค่าให้แสดงเฉพาะโหนด Cassandra ใน dc-2:
- อัปเดตโหนดสแต็ก BaaS ในศูนย์ข้อมูล 1:
- ในโหนด BaaS Stack แรกในศูนย์ข้อมูล 1 ให้แก้ไข /opt/apigee/customer/application/usergrid.properties ในเครื่องมือแก้ไข หากไม่มีไฟล์ ให้สร้างขึ้นมา
- เพิ่มพร็อพเพอร์ตี้ต่อไปนี้ใน usergrid.properties
# ค่าเดียวกับ BAAS_CLUSTER_SEEDS ในไฟล์การกำหนดค่า dc-2
# โดยไม่ต้องมีเครื่องหมายคำพูดคู่
usergrid-deployment_usergrid.cluster.seeds=dc-1:dc1StackIP1,dc-1:dc1StackIP2,dc-2:dc2StackIP1,dc-2:dc2StackIP2
# ค่าเดียวกับ BAAS_CASS_DC_LIST ในไฟล์การกำหนดค่า dc-2
usergrid-deployment_usergrid.cluster.region.list=dc-1,dc-2 - ทำซ้ำขั้นตอน a และ b บนโหนดกลุ่ม BaaS ที่เหลือ
- รีสตาร์ทโหนดสแต็ก BaaS ทั้งหมด
หมายเหตุ: เมื่อรีสตาร์ทโหนดสแต็ก BaaS ให้รีสตาร์ทโหนดใน ให้เรียงลำดับตาม BAAS_CLUSTER_SEEDS BAAS_CLUSTER_SEEDS รายการที่ โหนดสแต็กเกือบ 2 โหนด หลังจากรีสตาร์ทโหนดทั้งสองตามลำดับแล้ว คุณสามารถรีสตาร์ทโหนด โหนดที่เหลืออยู่ในลำดับใดก็ได้
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid โปรดรีสตาร์ท
- อัปเดตค่าคีย์สเปซ BaaS ต้องตั้งค่าคีย์สเปซเหล่านี้สำหรับการจำลอง ณ เวลาที่ติดตั้ง
แต่ไม่จำเป็นต้องอยู่ในเวลาทำงาน การนำการจำลองออกจะช่วยประหยัดหน่วยความจำของ Cassandra ด้วย
คุณต้องทำขั้นตอนนี้เพียงครั้งเดียวในเซิร์ฟเวอร์ Cassandra ในศูนย์ข้อมูลใดเซิร์ฟเวอร์หนึ่ง- เปิดยูทิลิตี Cassandra cqlsh:
> /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP - เรียกใช้คำสั่ง CQL ต่อไปนี้เพื่อตั้งค่าระดับการจำลองสำหรับ Cassandra
ช่องว่าง:
- cqlsh> หลักสำคัญอื่น "Apigee_Baas_dc_1" มีการจำลอง = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3' };
- cqlsh> หลักสำคัญอื่น "Apigee_Baas_dc_2" มีการจำลอง = { 'class': 'NetworkTopologyStrategy', 'dc-2': '3' };
- ดูช่องว่างโดยใช้คำสั่ง
cqlsh> เลือก * จาก system.schema_keyspaces; - ออกจาก cqlsh:
cqlsh> ออก
- เปิดยูทิลิตี Cassandra cqlsh:
การติดตั้งศูนย์ข้อมูลที่ 2 นี้เสร็จสมบูรณ์แล้ว
หลังจากติดตั้งและกำหนดค่าของศูนย์ข้อมูลทั้ง 2 แห่งแล้ว คุณสามารถ ตรวจสอบการติดตั้งโดยทำตามขั้นตอนต่อไปนี้
- ในโหนดสแต็ก BaaS ทั้งหมด ให้ตรวจสอบสถานะ
> curl 0:8080/สถานะ - ตรวจสอบว่าการเรียก API ของโทเค็นทำงานอยู่:
> curl - โพสต์ X "http://localhost:8080/management/token" -d '{"grant_type":"password", "ชื่อผู้ใช้":"adminEmail","password":"pWord"}' - ลองเข้าสู่ระบบพอร์ทัล BaaS สำหรับ dc-2 โปรดยืนยันว่า ข้อมูลทั้งหมดถูกจำลองใน dc-2 เช่น คอลเล็กชันที่สร้างใน dc-1