ตอนที่ 2.1 (Lab) : 10 คำสั่งยอดฮิตใน HDFS Command

บทนี้จะฝึกเกี่ยวกับการใช้งาน HDFS Command ซึ่งเป็นคำสั่งที่ใช้จัดการระหว่างเครื่องเรา (Local) และ file บน HDFS ซึ่งจะดูเฉพาะคำสั่งที่ใช้มากที่สุด 10 คำสั่ง

ข่าวดี! สำหรับคนที่ไม่ได้ทำ lab ก่อนหน้านี้ก็สามารถทำ lab นี้ได้เลยครับ (แต่ต้องติดตั้ง Docker ก่อนน้าา)

ก่อนเริ่ม

ให้ทำการเริ่ม Start Docker ด้วยคำสั่งบน DOS Prompt ดังนี้

กรณีถ้าไม่ได้ทำ Lab ก่อนหน้านี้ : จะใช้เวลาในการ Download Docker images สักพักนึงครับ

docker run -d -p 2222:22 -p 50070:50070 -p 8088:8088 -p 9000:9000 --name hadoop drtan/hadoop_singlenode:2.OK

เปิด putty ทำ ssh เข้าไปที่ (Host IP : 10.0.75.1 , Port: 2222 , user: tan, password: tan)

Start Hadoop โดยใช้คำสั่ง start-all.sh (จะรวมคำสั่ง start-dfs.sh + start-yarn.sh เข้าด้วยกัน)

bash
start-all.sh

ตรวจสอบ Hadoop Process ต้องมาให้ครบ

HDFS : NameNode, SecondaryNameNode, DataNode, 
YARN : ResourceManager, NodeManager
jps

ทดสอบเปิด web browser → HTTP://<HOST IP>:50070

http://10.0.75.1:50070

Yarn Resource Manage Site

http://10.0.75.1:8088

มาถึงขั้นตอนนี้เราก็พร้อมที่จะเริ่มทำ lab ในขั้นถัดไปแล้วครับ


1. สร้าง Directory บน HDFS

hadoop fs -mkdir /user
hadoop fs -mkdir /user/dataset
hadoop fs -mkdir /user/flume
hadoop fs -mkdir /user/hive
hadoop fs -mkdir /user/lab
hadoop fs -mkdir /user/lab/output

2. ดู directory / file บน HDFS

hadoop fs -ls /

ดู file ภายใน HDFS ภายใต้ directory แบบ recursive

hadoop fs -ls -R /

หรือเราสามารถ Browser file ผ่าน Web Browser : http://<host ip>:50070

http://10.0.75.1:50070 -> Utilities -> Browse the file system -> Go!

จะเห็น folder “user” บน Hadoop ที่เราสร้างขึ้นมา และถ้ากดเข้าไปก็จะเห็น sub directory


3. Upload / Download file เข้าสู่ HDFS

สร้าง file ที่เครื่องเราก่อน เพื่อเตรียม updoad สู่ HDFS

echo "Hello HDFS" >> hello.txt
ls

Upload file hello.txt จากเครื่องเราไปไว้ใน hdfs path : /user/dataset

hadoop fs -put hello.txt /user/dataset
hadoop fs -ls -R /user/dataset

ทั้งนี้เราสามารถเปิดเข้าไปดู file ผ่าน web browser ที่ http://<Host IP>:50070

http://10.0.75.1:50070 -> Utilities -> Browse the file system -> user -> dataset

Download file : “/user/dataset/hello.txt” จาก HDFS มาไว้ที่เครื่องเราและตั้งงชื่อว่า “hello1.txt

hadoop fs -get /user/dataset/hello.txt hello1.txt

4. อ่านเนื้อหาใน file บน hdfs

hadoop fs -cat /user/dataset/hello.txt

5. Copy file จาก folder หนึ่งไปยังอีก Folder หนึ่งภายใน HDFS

hadoop fs -cp /user/dataset/hello.txt /user/lab/hello.txt
hadoop fs -ls -R /user

6. Copy File จากเครื่องเราไปยัง HDFS

copyFromLocal : จากเครื่องเราไปยัง HDFS

hadoop fs -copyFromLocal hello.txt  /user/dataset/helloA.txt

copyToLocal : จาก HDFS มายังเครื่องเรา

hadoop fs -copyToLocal /user/dataset/helloA.txt  ./helloA.txt

7. Move file ภายใน HDFS

hadoop fs -mv /user/dataset/hello.txt /user/lab/output/

8. ลบ file ภายใน HDFS

hadoop fs -rm /user/dataset/helloA.txt

9. แสดงเนื้อหาท้าย file ทีเก็บใน HDFS

hadoop fs -tail /user/lab/output/hello.txt


10. แสดงขนาดของ file

hadoop fs -du /user/lab/output/hello.txt

ก่อนเลิก

ทำการ Save Docker container โดยไปที่ Dos Command

docker commit hadoop drtan/hadoop_singlenode:2.Lab

What’s Next ?

  • สารบัญ
  • ตอนที่ 3 : การติดตั้ง Hadoop แบบ Cluster
One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.