Spam 2017-04-04

วันนี้ได้รับแจ้งว่า มี Email หลอกลวงแบบแนบเนียน หน้าตาดังนี้ แหน่ะ แนะนำว่าอย่าให้ข้อมูล Username/Password กับใครอีกด้วย แต่มี Link ให้ไปกรอกรหัสผ่านซะงั้น ฝากกระจายข่าวด้วยครับ

Read More »

Spark #03: Query Apache Access Log with Spark SQL

ต่อจาก Spark #02: Cluster Installation ซึ่งทำให้เรามี Spark Cluster ที่พร้อมจะทำงานแบบ Distributed Computing แล้ว ขั้นตอนการติดตั้ง Hadoop Cluster อย่างง่าย ทำให้มี Hadoop HDFS เป็นพื้นที่จัดกับ Zeppelin #01 Installation ทำให้สามารถใช้งาน Spark ได้ง่ายขึ้น บทความนี้ จะกล่าวถึงการนำเข้าไฟล์ Apache Access Log เข้าไปเก็บไว้ใน Hadoop HDFS แล้ว ให้ Apache Spark Cluster เข้าไปค้นหาข้อมูล โดยใช้ภาษา SQL ผ่าน Spark SQL API นำ Apache Access Log เข้า HDFS ให้ Copy Apache Access Log ที่มีอยู่มาเก็บไว้ในเครื่องที่สามารถติดต่อ Hadoop HDFS ได้ (ในที่นี้ ชื่อไฟล์เป็น apache.access.log) ใช้คำสั่งต่อไป (แทน /test/ ด้วย Path ที่สร้างไว้ใน HDFS) hdfs dfs -copyFromLocal apache.access.log /test/ เมื่อไปดูผ่าน Web UI ของ Hadoop HDFS ก็จะเห็นไฟล์อยู่ดังนี้ วิธี Query ข้อมูลจาก Zeppelin ไปยัง Spark Cluster เปิด Zeppelin Web UI แล้วสร้าง Note ใหม่ โดยคลิกที่ Create new node แล้วใส่ชื่อ Note เช่น Query Apache Access Log ตั้ง Default Interpreter เป็น Spark แล้วคลิก Create Note ใส่ Code ต่อไปนี้ลงไป ด้านขวามือบน จะมีรูปเฟือง ให้คลิก แล้วเลือก Insert New แล้วใส่ข้อความนี้ลงไป จากนั้นคลิก Run all paragraphs ผลที่ได้ ตอนต่อไปจะมาอธิบายวิธีการเขียนคำสั่งครับ

Read More »

เตือนภัยออนไลน์วันนี้

วันนี้ได้รับรายงานว่า นักศึกษาของมหาวิทยาลัย โดนหลอกเอารหัสผ่านที่ใช้สำหรับจัดการระบบทะเบียนไป โดนคนร้าย ไปสร้าง LINE แล้วปลอมตัวเป็น “อาจารย์ที่ปรึกษา” นักศึกษาก็พาซื่อ … ให้ไป ปรากฏว่า คนร้าย เข้าไปในระบบทะเบียน แล้วไป Drop ทุกวิชาทิ้งหมด …. เมื่อตรวจสอบก็พบว่า ใช้ Account ของนักศึกษาเข้ามาเอง แต่เจ้าตัวไม่ได้ทำ และไม่ใช่รายเดียว เช้านี้มีมา 2 รายซ้อน >> ในทางคดี ก็ต้องว่ากันไป << แต่ที่อยากจะนำเสนอคือ ในฐานะที่เราทุกคนทุกวันนี้เป็น Net Citizen หรือ พลเมืองอินเตอร์เน็ต กันโดยปริยายอยู่แล้ว เรื่องนี้เป็น Common Sense ที่จะต้องเก็บรหัสผ่าน เป็นความลับ ไม่บอกใครเด็ดขาด จึงขอแจ้งเตือน ทั้งคนที่เป็น นักศึกษา บุคลากร และ บุคคลทั่วไป ถึง Common Sense พื้นๆข้อแรกคือ *** ไม่ว่ากรณีใดๆ ไม่ว่าจะเป็นทาง Email/LINE/Facebook/Twitter/Whatsapp/WeChat/SMS/โทรศัพท์/ช่องทางใดๆก็ตาม ทั้งที่กล่าวถึงแล้วยังไม่กล่าวถึง ต้องไม่ เปิดเผย รหัสผ่านของบริการใดๆก็ตามให้กับบุคคลอื่นเด็ดขาด ไม่ว่าจะด้วยเหตุผลใดๆก็ตาม *** ครับ

Read More »

Zeppelin #01 Installation

Apache Zeppelin เป็น Web-Base Notebook สำหรับเป็นการเชื่อมต่อกับระบบ Data Analytic [1] สามารถใช้ทำ Data-Driven แบบ Interactive และยังสามารถใช้งานพร้อมๆกันหลายคนได้ รองรับการทำงานผ่านภาษา SQL, Scala และอื่นๆอีกมากมาย ในบทความนี้ จะแนะนำการติดตั้ง Apache Zeppelin 0.7.0 บน Ubuntu 16.04 ไปที่ http://zeppelin.apache.org/download.html เพื่อ Download ชุดติดตั้ง ซึ่งแบ่งออกเป็น แบบรวมทุก Interpreters ขนาด 710 MB หรือ จะเลือกเป็นแบบ ที่รองรับเฉพาะ Spark ขนาด 272 MB ซึ่งหากในอนาคตต้องการใช้ภาษาอื่นอีก ก็จะต้องติดตั้งเพิ่มเติม (แนะนำให้ใช้แบบรวม Interpreters) บน Ubuntu ที่จะใช้เป็น Zeppelin Server ใช้คำสั่งต่อไปนี้เพื่อ Download wget http://www-eu.apache.org/dist/zeppelin/zeppelin-0.7.0/zeppelin-0.7.0-bin-all.tgz ติดตั้ง Zeppelin (ต้องใช้ Java) ด้วยคำสั่งต่อไปนี้ sudo apt install default-jre tar -zxvf zeppelin-0.7.0-bin-all.tgz ; ln -s zeppelin-0.7.0-bin-all.tgz zeppelin Start Zeppelin cd zeppelin bin/zeppelin-daemon.sh start หากเรียบร้อยก็จะสามารถใช้งานผ่านทาง Web UI ที่ port: 8080 ได้ ในกรณีที่ติดตั้ง Zeppelin บนเครื่องเดียวกับ Spark Master ก็จะพบว่า Port ชนกัน (คือใช้ Web UI ที่ port 8080 เหมือนกัน) เราสามารถเปลี่ยน Web UI port ของ Zeppelin ได้โดยใช้คำสั่งต่อไปนี้ cp conf/zeppelin-site.xml.template conf/zeppelin-site.xml แล้วแก้ไขไฟล์ conf/zeppelin-site.xml แก้ไขค่า 8080 เป็น ค่าอื่น เช่น 8090 เป็นต้น <property> <name>zeppelin.server.port</name> <value>8080</value> <description>Server port.</description> </property> แล้วทำการ Start Zeppelin ใหม่ Reference: http://zeppelin.apache.org/

Read More »

Spark #02: Cluster Installation

ต่อจาก Spark #01: Standalone Installation Apache Spark ทำงานแบบ Master – Slave โดย Spark Cluster Component ดังภาพ ภาพจาก http://spark.apache.org/docs/latest/img/cluster-overview.png การใช้งาน Apache Spark จะใช้ผ่านการเขียนโปรแกรมด้วยภาษา Scala, Java, Python หรือ R แล้วสั่งการผ่าน “Driver” ซึ่งจะทำการส่งการไปยัง “Worker” เพื่อให้ Execute ตามที่ต้องการ การสร้าง Cluster จะมี Cluster Manager เป็น Standalone, Apache Mesos และ Hadoop YARN [1] ในบทความนี้ จะกล่าวถึงเฉพาะ การติดตั้ง Apache Spark Cluster แบบ Standalone คือใช้ Apache Spark เองเป็น Cluster Manager ติดตั้ง Ubuntu 16.04 อีกเครื่องหนึ่ง แล้วติดตั้งตามขึ้นตอนที่กล่าวใน Spark #01: Standalone Installation ข้อ 1-2 เท่านั้น (ไม่ต้อง Start Master ขึ้นมา) ตอนนี้จะมีเครื่อง Master และ เครื่อง Slave ซึ่งแนะนำให้ทำ Password-less SSH จากเครื่อง Master ไปยัง Slave เพื่อสะดวกต่อการใช้งาน ที่เครื่อง Master ใช้คำสั่งต่อไปนี้ เพื่อสร้างไฟล์ spark-env.sh ซึ่งเป็นตัวกำหนดการทำงานต่างๆของ Spark Cluster โดยในที่นี้ จะ SPARK_MASTER_HOST เป็น IP ของเครื่อง Master (แทนที่ 192.168.XXX.YYY ด้วย IP ของ Master ) cp conf/spark-env.sh.template conf/spark-env.sh echo “SPARK_MASTER_HOST=192.168.XXX.YYY” >> conf/spark-env.sh ที่เครื่อง Master ใช้คำสั่งต่อไปนี้ เพื่อสร้างไฟล์ slaves ซึ่งจะกำหนดว่า เครื่องใดบ้างจะเป็น Slave ของ Cluster นี้ (หากมี Slave หลายเครื่อง ก็ใส่ IP ลงไปในไฟล์ conf/slaves ให้หมด) cp conf/slaves.template conf/slaves echo “192.168.XXX.ZZZ” >> conf/slaves ที่เครื่อง Master ใช้คำสั่งต่อไปนี้ เพื่อเชื่อมต่อ Cluster sbin/start-all.sh หมายเหตุ: หากไม่ได้ทำ Password-less SSH ก็จะต้องใส่ Password ทีละเครื่องจนเสร็จ เมื่อเสร็จเรียบร้อย ก็จะสามารถดูสถานะได้ที่ http://192.168.XXX.YYY:8080 ดังภาพ ประมาณนี้ บทความต่อไป จะลงรายละเอียดเกี่ยวกับการเขียน Program เพื่อทำงานบน Spark Cluster Reference: http://spark.apache.org/docs/latest/cluster-overview.html  

Read More »