ควาญช้าง - สิ่งแวดล้อม
บทนี้สอนวิธีตั้งค่าควาญช้าง Java และ Hadoop เป็นข้อกำหนดเบื้องต้นของควาญช้าง ด้านล่างนี้เป็นขั้นตอนในการดาวน์โหลดและติดตั้ง Java, Hadoop และ Mahout
การตั้งค่าก่อนการติดตั้ง
ก่อนติดตั้ง Hadoop ในสภาพแวดล้อม Linux เราต้องตั้งค่า Linux โดยใช้ ssh(Secure Shell) ทำตามขั้นตอนด้านล่างเพื่อตั้งค่าสภาพแวดล้อม Linux
การสร้างผู้ใช้
ขอแนะนำให้สร้างผู้ใช้แยกต่างหากสำหรับ Hadoop เพื่อแยกระบบไฟล์ Hadoop ออกจากระบบไฟล์ Unix ทำตามขั้นตอนด้านล่างเพื่อสร้างผู้ใช้:
เปิดรูทโดยใช้คำสั่ง“ su”
- สร้างผู้ใช้จากบัญชีรูทโดยใช้คำสั่ง “useradd username”.
ตอนนี้คุณสามารถเปิดบัญชีผู้ใช้ที่มีอยู่โดยใช้คำสั่ง “su username”.
เปิดเทอร์มินัล Linux และพิมพ์คำสั่งต่อไปนี้เพื่อสร้างผู้ใช้
$ su
password:
# useradd hadoop
# passwd hadoop
New passwd:
Retype new passwd
การตั้งค่า SSH และการสร้างคีย์
จำเป็นต้องมีการตั้งค่า SSH เพื่อดำเนินการต่างๆบนคลัสเตอร์เช่นการเริ่มต้นการหยุดและการดำเนินการเชลล์ daemon แบบกระจาย ในการรับรองความถูกต้องของผู้ใช้ Hadoop ที่แตกต่างกันจำเป็นต้องให้คู่คีย์สาธารณะ / ส่วนตัวสำหรับผู้ใช้ Hadoop และแชร์กับผู้ใช้รายอื่น
คำสั่งต่อไปนี้ใช้เพื่อสร้างคู่ค่าคีย์โดยใช้ SSH คัดลอกคีย์สาธารณะในรูปแบบ id_rsa.pub ไปยัง Authorized_keys และให้สิทธิ์เจ้าของอ่านและเขียนไปยังไฟล์ Author_keys ตามลำดับ
$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
กำลังตรวจสอบ ssh
ssh localhost
การติดตั้ง Java
Java เป็นข้อกำหนดเบื้องต้นหลักสำหรับ Hadoop และ HBase ก่อนอื่นคุณควรตรวจสอบการมีอยู่ของ Java ในระบบของคุณโดยใช้ "java -version" ไวยากรณ์ของคำสั่งเวอร์ชัน Java แสดงไว้ด้านล่าง
$ java -version
ควรให้ผลลัพธ์ดังต่อไปนี้
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b13)
Java HotSpot(TM) Client VM (build 25.0-b02, mixed mode)
หากคุณไม่ได้ติดตั้ง Java ในระบบของคุณให้ทำตามขั้นตอนด้านล่างเพื่อติดตั้ง Java
Step 1
ดาวน์โหลด java (JDK <เวอร์ชันล่าสุด> - X64.tar.gz) โดยไปที่ลิงค์ต่อไปนี้: Oracle
แล้ว jdk-7u71-linux-x64.tar.gz is downloaded เข้าสู่ระบบของคุณ
Step 2
โดยทั่วไปคุณจะพบไฟล์ Java ที่ดาวน์โหลดมาในโฟลเดอร์ดาวน์โหลด ตรวจสอบและแตกไฟล์jdk-7u71-linux-x64.gz ไฟล์โดยใช้คำสั่งต่อไปนี้
$ cd Downloads/
$ ls
jdk-7u71-linux-x64.gz
$ tar zxf jdk-7u71-linux-x64.gz
$ ls
jdk1.7.0_71 jdk-7u71-linux-x64.gz
Step 3
เพื่อให้ผู้ใช้ทุกคนสามารถใช้งาน Java ได้คุณต้องย้ายไปยังตำแหน่ง“ / usr / local /” เปิดรูทและพิมพ์คำสั่งต่อไปนี้
$ su
password:
# mv jdk1.7.0_71 /usr/local/
# exit
Step 4
สำหรับการตั้งค่า PATH และ JAVA_HOME ตัวแปรเพิ่มคำสั่งต่อไปนี้ ~/.bashrc file.
export JAVA_HOME=/usr/local/jdk1.7.0_71
export PATH= $PATH:$JAVA_HOME/bin
ตอนนี้ตรวจสอบไฟล์ java -version คำสั่งจากเทอร์มินัลตามที่อธิบายไว้ข้างต้น
กำลังดาวน์โหลด Hadoop
หลังจากติดตั้ง Java คุณต้องติดตั้ง Hadoop ในขั้นต้น ตรวจสอบการมีอยู่ของ Hadoop โดยใช้คำสั่ง“ Hadoop version” ตามที่แสดงด้านล่าง
hadoop version
ควรสร้างผลลัพธ์ต่อไปนี้:
Hadoop 2.6.0
Compiled by jenkins on 2014-11-13T21:10Z
Compiled with protoc 2.5.0
From source with checksum 18e43357c8f927c0695f1e9522859d6a
This command was run using /home/hadoop/hadoop/share/hadoop/common/hadoopcommon-2.6.0.jar
หากระบบของคุณไม่พบ Hadoop ให้ดาวน์โหลด Hadoop และติดตั้งลงในระบบของคุณ ทำตามคำสั่งด้านล่างเพื่อดำเนินการดังกล่าว
ดาวน์โหลดและแยก hadoop-2.6.0 จากพื้นฐานซอฟต์แวร์ apache โดยใช้คำสั่งต่อไปนี้
$ su
password:
# cd /usr/local
# wget http://mirrors.advancedhosters.com/apache/hadoop/common/hadoop-
2.6.0/hadoop-2.6.0-src.tar.gz
# tar xzf hadoop-2.6.0-src.tar.gz
# mv hadoop-2.6.0/* hadoop/
# exit
การติดตั้ง Hadoop
ติดตั้ง Hadoop ในโหมดที่ต้องการ ที่นี่เรากำลังสาธิตการทำงานของ HBase ในโหมดหลอกกระจายดังนั้นจึงติดตั้ง Hadoop ในโหมดหลอกกระจาย
ทำตามขั้นตอนด้านล่างเพื่อติดตั้ง Hadoop 2.4.1 ในระบบของคุณ
ขั้นตอนที่ 1: การตั้งค่า Hadoop
คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อม Hadoop ได้โดยต่อท้ายคำสั่งต่อไปนี้ ~/.bashrc ไฟล์.
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_INSTALL=$HADOOP_HOME
ตอนนี้ใช้การเปลี่ยนแปลงทั้งหมดในระบบที่กำลังทำงานอยู่
$ source ~/.bashrc
ขั้นตอนที่ 2: การกำหนดค่า Hadoop
คุณสามารถค้นหาไฟล์การกำหนดค่า Hadoop ทั้งหมดได้ที่ตำแหน่ง“ $ HADOOP_HOME / etc / hadoop” จำเป็นต้องทำการเปลี่ยนแปลงในไฟล์การกำหนดค่าเหล่านั้นตามโครงสร้างพื้นฐาน Hadoop ของคุณ
$ cd $HADOOP_HOME/etc/hadoop
ในการพัฒนาโปรแกรม Hadoop ใน Java คุณต้องรีเซ็ตตัวแปรสภาพแวดล้อม Java ใน hadoop-env.sh ไฟล์โดยแทนที่ไฟล์ JAVA_HOME ค่ากับตำแหน่งของ Java ในระบบของคุณ
export JAVA_HOME=/usr/local/jdk1.7.0_71
ด้านล่างนี้คือรายการไฟล์ที่คุณต้องแก้ไขเพื่อกำหนดค่า Hadoop
core-site.xml
core-site.xml ไฟล์มีข้อมูลเช่นหมายเลขพอร์ตที่ใช้สำหรับอินสแตนซ์ Hadoop หน่วยความจำที่จัดสรรสำหรับระบบไฟล์ขีด จำกัด หน่วยความจำสำหรับจัดเก็บข้อมูลและขนาดของบัฟเฟอร์อ่าน / เขียน
เปิด core-site.xml และเพิ่มคุณสมบัติต่อไปนี้ระหว่างแท็ก <configuration>, </configuration>:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
hdfs-site.xm
hdfs-site.xmlไฟล์มีข้อมูลเช่นค่าของข้อมูลการจำลอง, พา ธ namenode และพา ธ datanode ของระบบไฟล์โลคัลของคุณ หมายถึงสถานที่ที่คุณต้องการจัดเก็บโครงสร้างพื้นฐาน Hadoop
ให้เราสมมติข้อมูลต่อไปนี้:
dfs.replication (data replication value) = 1
(In the below given path /hadoop/ is the user name.
hadoopinfra/hdfs/namenode is the directory created by hdfs file system.)
namenode path = //home/hadoop/hadoopinfra/hdfs/namenode
(hadoopinfra/hdfs/datanode is the directory created by hdfs file system.)
datanode path = //home/hadoop/hadoopinfra/hdfs/datanode
เปิดไฟล์นี้และเพิ่มคุณสมบัติต่อไปนี้ระหว่างแท็ก <configuration>, </configuration> ในไฟล์นี้
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>file:///home/hadoop/hadoopinfra/hdfs/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>file:///home/hadoop/hadoopinfra/hdfs/datanode</value>
</property>
</configuration>
Note:ในไฟล์ด้านบนค่าคุณสมบัติทั้งหมดถูกกำหนดโดยผู้ใช้ คุณสามารถเปลี่ยนแปลงได้ตามโครงสร้างพื้นฐาน Hadoop ของคุณ
mapred-site.xml
ไฟล์นี้ใช้เพื่อกำหนดค่าเส้นด้ายใน Hadoop เปิดไฟล์ mapred-site.xml และเพิ่มคุณสมบัติต่อไปนี้ระหว่างแท็ก <configuration>, </configuration> ในไฟล์นี้
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
mapred-site.xml
ไฟล์นี้ใช้เพื่อระบุเฟรมเวิร์ก MapReduce ที่เราใช้อยู่ โดยค่าเริ่มต้น Hadoop มีเทมเพลตของ mapred-site.xml ก่อนอื่นต้องคัดลอกไฟล์จากไฟล์mapred-site.xml.template ถึง mapred-site.xml ไฟล์โดยใช้คำสั่งต่อไปนี้
$ cp mapred-site.xml.template mapred-site.xml
เปิด mapred-site.xml ไฟล์และเพิ่มคุณสมบัติต่อไปนี้ระหว่างแท็ก <configuration>, </configuration> ในไฟล์นี้
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
การตรวจสอบการติดตั้ง Hadoop
ขั้นตอนต่อไปนี้ใช้เพื่อตรวจสอบการติดตั้ง Hadoop
ขั้นตอนที่ 1: ตั้งชื่อโหนด
ตั้งค่า Namenode โดยใช้คำสั่ง“ hdfs namenode -format” ดังนี้:
$ cd ~
$ hdfs namenode -format
ผลลัพธ์ที่คาดหวังมีดังนี้:
10/24/14 21:30:55 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = localhost/192.168.1.11
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 2.4.1
...
...
10/24/14 21:30:56 INFO common.Storage: Storage directory
/home/hadoop/hadoopinfra/hdfs/namenode has been successfully formatted.
10/24/14 21:30:56 INFO namenode.NNStorageRetentionManager: Going to retain
1 images with txid >= 0
10/24/14 21:30:56 INFO util.ExitUtil: Exiting with status 0
10/24/14 21:30:56 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at localhost/192.168.1.11
************************************************************/
ขั้นตอนที่ 2: การตรวจสอบ Hadoop dfs
คำสั่งต่อไปนี้ใช้เพื่อเริ่ม dfs คำสั่งนี้เริ่มระบบไฟล์ Hadoop ของคุณ
$ start-dfs.sh
ผลลัพธ์ที่คาดหวังมีดังนี้:
10/24/14 21:37:56
Starting namenodes on [localhost]
localhost: starting namenode, logging to /home/hadoop/hadoop-
2.4.1/logs/hadoop-hadoop-namenode-localhost.out
localhost: starting datanode, logging to /home/hadoop/hadoop-
2.4.1/logs/hadoop-hadoop-datanode-localhost.out
Starting secondary namenodes [0.0.0.0]
ขั้นตอนที่ 3: การตรวจสอบสคริปต์เส้นด้าย
คำสั่งต่อไปนี้ใช้เพื่อเริ่มสคริปต์เส้นด้าย การดำเนินการคำสั่งนี้จะเริ่มปีศาจเส้นด้ายของคุณ
$ start-yarn.sh
ผลลัพธ์ที่คาดหวังมีดังนี้:
starting yarn daemons
starting resource manager, logging to /home/hadoop/hadoop-2.4.1/logs/yarn-
hadoop-resourcemanager-localhost.out
localhost: starting node manager, logging to /home/hadoop/hadoop-
2.4.1/logs/yarn-hadoop-nodemanager-localhost.out
ขั้นตอนที่ 4: การเข้าถึง Hadoop บนเบราว์เซอร์
หมายเลขพอร์ตเริ่มต้นในการเข้าถึง hadoop คือ 50070 ใช้ URL ต่อไปนี้เพื่อรับบริการ Hadoop บนเบราว์เซอร์ของคุณ
http://localhost:50070/
ขั้นตอนที่ 5: ตรวจสอบแอปพลิเคชันทั้งหมดสำหรับคลัสเตอร์
หมายเลขพอร์ตเริ่มต้นเพื่อเข้าถึงแอปพลิเคชันทั้งหมดของคลัสเตอร์คือ 8088 ใช้ URL ต่อไปนี้เพื่อเยี่ยมชมบริการนี้
http://localhost:8088/
กำลังดาวน์โหลด Mahout
ควาญช้างที่มีอยู่ในเว็บไซต์ของควาญช้าง ดาวน์โหลด Mahout จากลิงค์ที่ให้ไว้ในเว็บไซต์ นี่คือภาพหน้าจอของเว็บไซต์
ขั้นตอนที่ 1
ดาวน์โหลด Apache mahout จากลิงค์ http://mirror.nexcess.net/apache/mahout/ โดยใช้คำสั่งต่อไปนี้
[Hadoop@localhost ~]$ wget
http://mirror.nexcess.net/apache/mahout/0.9/mahout-distribution-0.9.tar.gz
แล้ว mahout-distribution-0.9.tar.gz จะถูกดาวน์โหลดในระบบของคุณ
ขั้นตอนที่ 2
เรียกดูโฟลเดอร์ที่ mahout-distribution-0.9.tar.gz จะถูกจัดเก็บและแตกไฟล์ jar ที่ดาวน์โหลดมาดังแสดงด้านล่าง
[Hadoop@localhost ~]$ tar zxvf mahout-distribution-0.9.tar.gz
พื้นที่เก็บข้อมูล Maven
ด้านล่างคือ pom.xml สำหรับสร้าง Apache Mahout โดยใช้ Eclipse
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-core</artifactId>
<version>0.9</version>
</dependency>
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-math</artifactId>
<version>${mahout.version}</version>
</dependency>
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-integration</artifactId>
<version>${mahout.version}</version>
</dependency>