1. ตั้งค่า ssh
ติดตั้งแพ็คเกจซอฟต์แวร์ที่เกี่ยวข้องกับ ssh:
คัดลอกโค้ดดังต่อไปนี้: sudo apt-get install openssh-client openssh-server
จากนั้นเริ่ม/ปิด sshd โดยใช้คำสั่งใดคำสั่งหนึ่งจากสองคำสั่งต่อไปนี้:
คัดลอกโค้ดดังต่อไปนี้: sudo /etc/init.d/ssh start|stop
บริการ sudo ssh เริ่ม | หยุด
หากเริ่มต้น sshd สำเร็จ เราจะเห็นผลลัพธ์ที่คล้ายกับต่อไปนี้:
คัดลอกโค้ดดังนี้: $ ps -e |
2766 ? 00:00:00 ssh-ตัวแทน
10558 ? 00:00:00 น
ในขณะนี้ หากคุณรันคำสั่ง ssh ต่อไปนี้เพื่อล็อกอินเข้าสู่เครื่อง คุณจะได้รับแจ้งให้ป้อนรหัสผ่าน:
คัดลอกโค้ดดังต่อไปนี้: ssh localhost
ตอนนี้สิ่งที่เราต้องทำคือทำให้ไม่ต้องใช้รหัสผ่าน:
คัดลอกโค้ดดังต่อไปนี้: $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa #An คีย์ SSH รหัสผ่านที่ว่างเปล่า
$ แมว ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
แค่นั้นแหละ. หากยังคงใช้งานไม่ได้ สิทธิ์ในไฟล์คีย์อาจถูกตั้งค่าไม่ถูกต้อง
2. กำหนดค่า Hadoop
คลายซิป hadoop-1.2.1 ไปที่ ~/ และสร้างไดเร็กทอรี hadoop-env ภายใต้ ~/
├── dfs
│ ├── จุดตรวจ 1
│ ├── ข้อมูล1
│ ├── ข้อมูล2
│ └── ชื่อ1
└── ทดสอบ
└── อินพุต
ไฟล์การกำหนดค่า hadoop-1.2.1/conf/core-site.xml:
คัดลอกรหัสรหัสดังต่อไปนี้:
<?xml เวอร์ชัน = "1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- ใส่การแทนที่คุณสมบัติเฉพาะไซต์ในไฟล์นี้ -->
<การกำหนดค่า>
<ทรัพย์สิน>
<ชื่อ>fs.default.name</ชื่อ>
<value>hdfs://localhost:9000</value>
<สุดท้าย>จริง</สุดท้าย>
</คุณสมบัติ>
</การกำหนดค่า>
fs.default.name ระบุ HDFS uri หากไม่มีการระบุพอร์ต ค่าเริ่มต้นคือ 8020
ไฟล์การกำหนดค่า hadoop-1.2.1/conf/hdfs-site.xml:
คัดลอกรหัสรหัสดังต่อไปนี้:
<?xml เวอร์ชัน = "1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- ใส่การแทนที่คุณสมบัติเฉพาะไซต์ในไฟล์นี้ -->
<การกำหนดค่า>
<ทรัพย์สิน>
<name>dfs.name.dir</name>
<value>~/hadoop-env/dfs/name1</value>
<สุดท้าย>จริง</สุดท้าย>
</คุณสมบัติ>
<ทรัพย์สิน>
<ชื่อ>dfs.data.dir</name>
<value>~/hadoop-env/dfs/data1,~/hadoop-env/dfs/data2</value>
<สุดท้าย>จริง</สุดท้าย>
</คุณสมบัติ>
<ทรัพย์สิน>
<name>fs.checkpoint.dir</name>
<value>~/hadoop-env/dfs/checkpoint1</value>
<สุดท้าย>จริง</สุดท้าย>
</คุณสมบัติ>
</การกำหนดค่า>
dfs.name.dir ระบุไดเร็กทอรีที่ datanode สามารถระบุไดเร็กทอรีหลายรายการได้ checkpoint.dir ระบุไดเร็กทอรีที่เนมโหนดเสริมจัดเก็บจุดตรวจ
ไฟล์การกำหนดค่า hadoop-1.2.1/conf/mapred-site.xml:
คัดลอกรหัสรหัสดังต่อไปนี้:
<?xml เวอร์ชัน = "1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- ใส่การแทนที่คุณสมบัติเฉพาะไซต์ในไฟล์นี้ -->
<การกำหนดค่า>
<ทรัพย์สิน>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
<สุดท้าย>จริง</สุดท้าย>
</คุณสมบัติ>
</การกำหนดค่า>
3. การทดสอบ
HDFS รูปแบบแรก:
คัดลอกโค้ดดังต่อไปนี้: ./hadoop-1.2.1/bin/hadoop namenode -format
เริ่มกระบวนการ HDFS และ MapReduce:
คัดลอกรหัสรหัสดังต่อไปนี้:
$ ./hadoop-1.2.1/bin/start-dfs.sh
$ ./hadoop-1.2.1/bin/start-mapred.sh
หากมีการรายงานข้อผิดพลาดระหว่างการเริ่มต้นระบบ เช่น localhost: Error: JAVA_HOME is not set. คุณต้องเอ็กซ์พอร์ต JAVA_HOME ในไฟล์ ./hadoop-1.2.1/conf/hadoop-env.sh ตัวอย่างเช่น:
ส่งออก JAVA_HOME=~/jdk1.7.0_25
วิธีตรวจสอบว่าเริ่มต้นได้สำเร็จหรือไม่: วิธีแรกคือการใช้คำสั่ง jps (Java Virtual Machine Process Status Tool) ควรมีเอาต์พุตคล้ายกับตัวอย่างต่อไปนี้:
คัดลอกรหัสรหัสดังต่อไปนี้:
$ เจพีเอส
13592 DataNode
13728 SecondaryNameNode
13837 จ็อบแทรคเกอร์
12864 ชื่อ Node
13955 ตัวติดตามงาน
16069ญี่ปุ่น
วิธีที่สองคือการเข้าสู่ระบบเบราว์เซอร์ที่ http://localhost:50030 เพื่อดู jobtracker และ http://localhost:50070 เพื่อดู namenode หากคุณใช้ซอฟต์แวร์หลบเลี่ยง คุณอาจได้รับข้อผิดพลาดเมื่อเข้าถึง วิธีแก้ปัญหาที่ง่ายที่สุดคือการปิดซอฟต์แวร์หลบเลี่ยง อีกวิธีหนึ่งคือการดูไฟล์บันทึก
ตอนนี้เราสร้างสองไฟล์ในไดเร็กทอรี ~/hadoop-env/test/input:
คัดลอกรหัสรหัสดังต่อไปนี้:
$ echo "สวัสดีชาวโลก" > test1.txt
$ echo "สวัสดีชาวโลก" > test2.txt
นำเข้าไฟล์ทั้งสองนี้ลงใน HDFS:
คัดลอกรหัสรหัสดังต่อไปนี้:
./hadoop-1.2.1/bin/hadoop dfs - ใส่ hadoop-env/test/input/output/
ตรวจสอบ:
คัดลอกรหัสรหัสดังต่อไปนี้:
$ ./hadoop-1.2.1/bin/hadoop dfs -ls /
พบ 2 รายการ
drwxr-xr-x - ผู้ใช้ supergroup 0 2013-10-22 22:07 /test
drwxr-xr-x - ผู้ใช้ supergroup 0 2013-10-22 21:58 /tmp
$ ./hadoop-1.2.1/bin/hadoop dfs -ls /test
พบ 2 รายการ
-rw-r - r-- 3 กลุ่มผู้ใช้ระดับสูง 12 2013-10-22 22:07 /test/test1.txt
-rw-r - r-- 3 กลุ่มผู้ใช้ระดับสูง 9 2013-10-22 22:07 /test/test2.txt
ตกลง การกำหนดค่าเสร็จสมบูรณ์
หมายเหตุ: ระบบที่ใช้ในบทความนี้คือ linux mint 15 64bit และ hadoop ใช้เวอร์ชัน 1.2.1