ฉันจะตั้งค่าตัวแปรสภาพแวดล้อมเพื่อให้กระแสลมใช้ได้อย่างไร?

Airflow ส่งกลับข้อผิดพลาดเมื่อพยายามเรียกใช้ DAG โดยแจ้งว่าไม่พบตัวแปรสภาพแวดล้อม ซึ่งเป็นเรื่องแปลกเนื่องจากสามารถค้นหาตัวแปรสภาพแวดล้อมอื่น ๆ อีก 3 ตัวที่ฉันจัดเก็บเป็นตัวแปร Python ไม่มีปัญหากับตัวแปรเหล่านั้นเลย

ฉันมีตัวแปรทั้งหมด 4 ตัวใน ~/.profile และฉันก็ทำไปแล้วเช่นกัน

export var1="varirable1"
export var2="varirable2"
export var3="varirable3"
export var4="varirable4"

airflow ทำงานภายใต้ผู้ใช้รายใด ฉันได้ทำคำสั่ง export เหล่านั้นภายใต้ sudo เช่นกัน ดังนั้นฉันคิดว่าพวกมันจะถูกรับโดย airflow เมื่อมันรัน dag


person simplycoding    schedule 07.07.2017    source แหล่งที่มา
comment
คุณสามารถเข้าถึงตัวแปรที่สี่นั้นผ่านเชลล์ปกติภายในเซิร์ฟเวอร์ที่มีการไหลเวียนของอากาศอยู่ได้หรือไม่?   -  person Him    schedule 15.07.2017
comment
หากคุณเพิ่มตัวแปรในไฟล์ ~/.profile คุณอาจต้องรีสตาร์ทพีซี มิฉะนั้น ควรตั้งค่าตัวแปรใน ~/.bashrc ตามที่ @Breathe กล่าวถึงไว้ดีกว่า   -  person Suyog Shimpi    schedule 24.05.2021


คำตอบ (3)


อาจเป็นเพราะการไหลเวียนของอากาศใช้เชลล์ที่ไม่ใช่การเข้าสู่ระบบใช่ไหม คุณได้ลองใส่บรรทัดเหล่านี้ใน : ~/.bashrc แทน ~/.profile หรือไม่

person Breathe    schedule 01.12.2017

หากคุณเพียงแค่ใช้งานอินสแตนซ์ในเครื่อง คุณควรจะสามารถใช้ตัวแปรสภาพแวดล้อมได้ตามที่คุณคาดหวัง โปรดจำไว้ว่าคุณต้องตั้งค่าไว้ในเชลล์ที่รันเว็บเซิร์ฟเวอร์และตัวกำหนดเวลา หากสิ่งเหล่านี้อยู่ใน .profile ของคุณ คุณอาจต้องเรียกใช้ source ~/.profile

person qfwfq    schedule 08.08.2018

ตามคำตอบนี้ ตัวแปรควรอยู่ใน /etc/default/airflow (บน Debian/Ubuntu) หรือ /etc/sysconfig/airflow (บน Centos/Redhat) .

person Tomasz Zielański    schedule 24.05.2021