มาจากคำตอบของ @Luis Alvarado นี่คือเวอร์ชั่นของฉันสำหรับ Ubuntu 14.04 และ Hadoop 2.5.1
โดยสังเขป
- ติดตั้ง Java
- เตรียมผู้ใช้ที่เป็นผู้บริหารสำหรับ Hadoop
hduser
- เปลี่ยนเป็น
hduser
จากนี้ไป
- อนุญาตให้
hduser
รีโมตผ่าน ssh ด้วยวลีรหัสผ่านน้อย
- ปิดการใช้งาน IPv6
- ดาวน์โหลดและกำหนดค่าแพ็คเกจ Hadoop
- เตรียมเส้นทางของระบบ $ HADOOP_HOME และ $ JAVA_HOME
- กำหนดค่าบริการของ Hadoop
- เริ่มบริการของ Hadoop
เสร็จสิ้น โชคดี!
ขั้นตอนรายละเอียด
ติดตั้ง Java
ดาวน์โหลดและติดตั้ง
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-get install oracle-java7-installer
ตรวจสอบให้แน่ใจว่าคุณติดตั้ง Java7 แล้ว
$ which java
$ ls -l /usr/bin/java
$ ls -l /etc/alternatives/java
เราควรมีjava
จุด/usr/lib/jvm/java-7-oracle/jre/bin/java
เตรียมผู้ใช้ที่เป็นผู้บริหารสำหรับ Hadoophduser
สร้างผู้ใช้hduser
ในกลุ่มhadoop
$ sudo addgroup hadoop
$ sudo adduser --ingroup hadoop hduser
แกรนท์sudoสิทธิ์hduser
แก้ไข sudo
$ sudo visudo
เพิ่มไปยังท้ายบรรทัดนี้
hduser ALL=(ALL:ALL) ALL
เปลี่ยนเป็นhduser
จากนี้ไป
$ su - hduser
อนุญาตให้hduser
รีโมตผ่าน ssh ด้วยวลีรหัสผ่านน้อย
ติดตั้ง openssh
$ sudo apt-get install openssh-server
สร้างคีย์สาธารณะ / ส่วนตัว RSA สำหรับการเชื่อมต่อ SSH ข้อความรหัสผ่านว่างเปล่าเช่นparameter -P ""
$ ssh-keygen -t rsa -P ""
$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
ตรวจสอบให้แน่ใจว่าhduser
สามารถ ssh รีโมตแบบโลคัลโดยไม่มีรหัสผ่าน
$ ssh localhost
ปิดการใช้งาน IPv6
แก้ไขไฟล์กำหนดค่า
$ sudo nano /etc/sysctl.conf
คัดลอกไปยังจุดสิ้นสุด
#disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
ตรวจสอบให้แน่ใจว่า IPv6 ถูกปิดโดยการรีบูตหรือโทร
$ sudo sysctl -p
จากนั้นโทร
$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6
ควรบอกว่า 1 ซึ่งหมายความว่าตกลง ^^
ดาวน์โหลดและกำหนดค่าแพ็คเกจ Hadoop
ดาวน์โหลดแพคเกจ Hadoop 2.5.1 จากเว็บไซต์ Apache Hadoop
URL โดยตรงสำหรับแพ็คเกจนี้คือลิงค์นี้
http://www.eu.apache.org/dist/hadoop/core/hadoop-2.5.1/hadoop-2.5.1.tar.gz
งั้นมาดาวน์โหลดไปhduser
ที่โฟลเดอร์หลักของแยกไฟล์แล้วเปลี่ยนชื่อเป็นhadoop
$ wget http://www.eu.apache.org/dist/hadoop/core/hadoop-2.5.1/hadoop-2.5.1.tar.gz
$ tar -xvzf hadoop-2.5.1.tar.gz
$ mv hadoop-2.5.1 hadoop
ตรวจสอบให้แน่ใจว่าเรามี Hadoop เก็บไว้ที่hduser
บ้าน
$ ls /home/hduser/hadoop
เตรียมเส้นทางของระบบ $ HADOOP_HOME และ $ JAVA_HOME
แก้ไขhduser
ไฟล์. bashrc
$ nano .bashrc
ใส่ค่าสิ้นสุดสำหรับ$HADOOP_HOME
และ$JAVA_HOME
# Set Hadoop-related environment variables
export HADOOP_HOME=/home/hduser/hadoop
# Set JAVA_HOME (we will also configure JAVA_HOME directly for Hadoop later on)
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
เพิ่มbinary
โฟลเดอร์Hadoop ไปยังระบบ$PATH
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
เปิดเทอร์มินัลใหม่ลงชื่อเข้าใช้เป็นhduser
และทำให้แน่ใจว่าคุณมี $ HADOOP_HOME พร้อมคำสั่งที่ใช้ได้
$ echo $HADOOP_HOME
$ which start-all.sh
$ which start-dfs.sh
$ which start-yarn.sh
เราควรเห็นเส้นทางแบบเต็มของชื่อเหล่านั้น
กำหนดค่าบริการของ Hadoop
แต่ละองค์ประกอบใน Hadoop ได้รับการกำหนดค่าโดยใช้ไฟล์ XML
คุณสมบัติทั่วไปมีอยู่ในcore-site.xml
คุณสมบัติ HDFS เป็นไปในhdfs-site.xml
คุณสมบัติ MapReduce มีอยู่ในmapred-site.xml
ไฟล์เหล่านี้ทั้งหมดอยู่ในโฟลเดอร์$ HADOOP_HOME / etc / hadoop
นิยาม JAVA_HOME อีกครั้งhadoop-env.sh
โดยแก้ไขบรรทัด
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
กำหนด Hadoop temp folder
และfile system
ชื่อในcore-site.xmlที่
<configuration>
...
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hduser/tmp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:54310</value>
<description>The name of the default file system. A URI whose
scheme and authority determine the FileSystem implementation. The
uri's scheme determines the config property (fs.SCHEME.impl) naming
the FileSystem implementation class. The uri's authority is used to
determine the host, port, etc. for a filesystem.</description>
</property>
...
</configuration>
เราต้องเตรียมสิ่งนี้temp folder
ตามที่กำหนดไว้ที่/home/hduser/tmp
$ cd /home/hduser
$ mkdir tmp
$ chown hduser:hadoop tmp
$ chmod 755 tmp
กำหนดfile system
's block replication
ในHDFS-site.xml
<configuration>
...
<property>
<name>dfs.replication</name>
<value>1</value>
<description>Default block replication.
The actual number of replications can be specified when the file is created.
The default is used if replication is not specified in create time.
</description>
</property>
...
</configuration>
กำหนดmap-reduce job
ในmapred-site.xml
<configuration>
...
<property>
<name>mapred.job.tracker</name>
<value>localhost:54311</value>
<description>The host and port that the MapReduce job tracker runs
at. If "local", then jobs are run in-process as a single map
and reduce task.
</description>
</property>
...
</configuration>
รูป name node
$ hdfs namenode -format
เริ่มบริการ Hadoop
โทร
$ start-dfs.sh && start-yarn.sh
คำสั่งทั้งสองนี้อยู่ที่$ HADOOP_HOME / sbinซึ่งเราได้เพิ่มไปยังระบบ $ PATH ก่อน
ตรวจสอบให้แน่ใจว่าบริการ Hadoop เริ่มต้นอย่างถูกต้อง
$ jps
เราควรเห็น