บทความนี้อธิบายวิธีการรันสคริปต์องค์กร R Revolution ในคลัสเตอร์ Hadoop จากไคลเอนต์ Windows นอกคลัสเตอร์ใช้ PuTTY เป็น ssh ไคลเอนต์
-
ติดตั้ง และกำหนดค่าองค์กร R Revolution 7.3 ในคลัสเตอร์ Hadoop ต่อRevolution R องค์กร 7.3 Hadoop กำหนดค่ารายการแนะนำ ตรวจสอบการดำเนินการของ RRE ในคลัสเตอร์เมื่อรันสคริปต์จากภายในคลัสเตอร์โดยใช้สคริปต์การตรวจสอบจากส่วนที่ 4
-
ติดตั้ง Revolution R องค์กรสำหรับ Windows 7.3 บนไคลเอนต์ระบบ Windows
-
ติดตั้งแบบ PuTTY ssh ไคลเอนต์บนไคลเอนต์ระบบ Windows ตรวจสอบ ssh ความสามารถในการเข้าสู่ระบบสำหรับผู้ใช้ R/Hadoop จากระบบไคลเอ็นต์ Windows หรือไม่
-
ตั้งค่าคอนฟิก passwordless ssh สำหรับผู้ใช้ R/Hadoop โดยการสร้างการ ssh keypair บนไคลเอนต์ และ บน namenode Hadoop สำหรับผู้ใช้ ข้อมูลเกี่ยวกับวิธีการดังกล่าวนี้สามารถพบได้ที่นี่:
https://cs.uwaterloo.ca/cscf/howto/ssh/public_key/#putty
หรือขอความช่วยเหลือจากกลุ่มไอทีของคุณตามความจำเป็นเพื่อให้สอดคล้องกับความต้องการด้านความปลอดภัย บันทึกคีย์ส่วนตัว.ppk บนไคลเอนต์ Windows ตัวอย่างเช่น "C:\data\hdp.ppk" -
ในไคลเอนต์ PuTTY สร้าง และบันทึกเซสชัน PuTTY ที่มีชื่อสำหรับล็อกอินจากไคลเอ็นต์ไป namenode Hadoop ตัวอย่างเช่น "RREHDP"
-
ตรวจสอบล็อกอิน passwordless และผู้ใช้ขด้วยตนเอง (แลกเปลี่ยน: scott) โดยใช้เครื่องมือ plink.exe ของ PuTTY เซสชันที่บันทึกไว้ และคีย์:
"C:\\Program Files (x86)\\PuTTY\\plink.exe" -i C:\data\hdp.ppk -l scott -load RREHDP
-
ถ้าการเข้าสู่ระบบทดสอบ plink.exe ประสบความสำเร็จ ปรับเปลี่ยนบริบทคำนวณ Hadoop ที่ใช้เมื่อมีการเรียกใช้สคริปต์จากภายในคลัสเตอร์เพื่อรวม ssh ข้อมูลการเชื่อมต่อที่จำเป็นต้องใช้ไคลเอนต์ ตัวอย่างเช่น
บริบทที่ใช้เมื่อมีการเรียกใช้สคริปต์จากโหนดคลัสเตอร์คำนวณพื้นฐาน hadoopmyHadoopCluster <- RxHadoopMR(consoleOutput = TRUE)
cluster <- rxSetComputeContext(myHadoopCluster)ขยายบริบทการคำนวณ hadoop ที่ใช้เมื่อมีการเรียกใช้สคริปต์จากไคลเอนต์ Windows ผ่าน PuTTY หมายเหตุเมื่อใช้ PuTTY, mySshHostname ควรไม่อ้างอิงถึงชื่อโฮสต์ namenode ข้อมูลที่อยู่ในเซสชัน PuTTY ที่บันทึกไว้ ในสคริปต์ mySshHostname ควรตั้งให้เป็นชื่อของเซสชันที่บันทึกไว้
mySshUsername <- "scott"mySshHostname <- "RREHDP"
myShareDir <- paste("/var/RevoShare", mySshUsername, sep ="/")
myHdfsShareDir <- paste("/user/RevoShare",mySshUsername, sep="/")
myHadoopCluster <- RxHadoopMR(
hdfsShareDir = myHdfsShareDir,
shareDir = myShareDir,
sshUsername = mySshUsername,
sshHostname = mySshHostname,
sshClientDir = "C:\\Program Files (x86)\\PuTTY",
sshSwitches = "-i c:\\data\\hdp.ppk",
consoleOutput = TRUE)
cluster <- rxSetComputeContext(myHadoopCluster)ค่า sshSwitches อาจใช้ในการส่งอาร์กิวเมนต์อื่น ๆ ตามความจำเป็นเพื่อการ ssh ไคลเอนต์ เช่นคำที่ไม่ใช่ค่าเริ่มต้น ssh พอร์ตได้
-
ทดสอบสคริปต์ R จากองค์กร R Revolution บนไคลเอนต์ Windows สคริปต์ควรเชื่อมต่อโดยใช้ PuTTY ssh ไคลเอนต์ในพื้นหลังเพื่อส่งสคริปต์สำหรับการดำเนินการบน namenode
ดูRevoScaleR Hadoop การเริ่มต้นใช้งานคำแนะนำสำหรับข้อมูลเพิ่มเติม