วิธีการติดตั้ง Hadoop


26

ฉันกำลังพยายามติดตั้ง Hadoop ใน Ubuntu รุ่น 12.04 ทำตามคำแนะนำจาก http://michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/ฉันติดตั้งjava-6-openjdkจากศูนย์ซอฟต์แวร์ Ubuntu เราได้ตั้งไว้ในjava_home .bashrcตั้งjava_homeอยู่ใน Hadoop conf/env.shด้วย ขณะฟอร์แมต namenode ฉันได้รับข้อผิดพลาดดังต่อไปนี้

usr/lib/jvm/java-6-openjdk/bin/java no such file or directory.

ขอขอบคุณ. แต่มันเป็นระบบปฏิบัติการ 64 บิต


1
ทำไมจึงมีรางวัลเมื่อผู้ใช้พบวิธีแก้ปัญหา? คาดหวังคำตอบแบบไหน?
สีเขียว

1
@ green7 ความตั้งใจคือการหาคำตอบที่จริง ๆ แล้วถูกทำเครื่องหมายว่ายอมรับแล้วมีรายละเอียดสูงและสิ่งที่ชอบ เนื่องจากดูเหมือนจะไม่เป็นหนึ่งฉันสามารถเข้าใจ Jorge เพิ่มเงินรางวัล
Thomas Ward

@TheLordofTime คำตอบโดยละเอียดจะมี 5 บรรทัดเนื่องจากคำถามถูกแปลเป็นภาษาท้องถิ่นมากเกินไป และหากคำตอบที่มีคำแนะนำการติดตั้งสำหรับ Hadoop คาดว่าจะเป็นซ้ำซ้อนตามลิงค์ที่กล่าวถึงในคำถามอธิบายมันอย่างน่าอัศจรรย์ ยิ่งกว่านั้นเนื่องจากคำตอบด้วยคะแนนเสียงส่วนใหญ่ถูกโพสต์โดยผู้ถามด้วยตนเองจึงไม่น่าเป็นไปได้มากที่เขาจะยอมรับคำตอบอื่น ๆ
สีเขียว

@ green7 หากคำถามเป็นภาษาท้องถิ่นเกินไปให้โหวตปิดเช่นนี้?
โธมัสวอร์ด

คำตอบ:


39

คำแนะนำที่ฉันติดตามเมื่อฉันมี 12.04 คือ:

ฉันไม่เห็นด้วยกับ MyLearning เพราะสิ่งแรกที่แนะนำคือ Oracle Java 7 แทนที่จะเป็น OpenJDK 7 แต่ฉันมีปัญหาบางอย่างกับ OpenJDK 7 เมื่อลองทำสิ่งนี้ดังนั้นฉันต้องไปกับ Oracle

คำแนะนำส่วนใหญ่จะตรงไปข้างหน้าและนี่คือ:

  1. ติดตั้ง Java

    sudo add-apt-repository ppa:webupd8team/java  
    sudo apt-get update && sudo apt-get upgrade  
    sudo apt-get install oracle-java7-installer  
    
  2. สร้างผู้ใช้ Hadoop

    sudo addgroup hadoop  
    sudo adduser --ingroup hadoop hduser
    

    โดยที่ hduser คือผู้ใช้ Hadoop ที่คุณต้องการ

  3. การกำหนดค่า SSH

    su - hduser   
    ssh-keygen -t rsa -P ""
    cat .ssh/id_rsa.pub >> .ssh/authorized_keys
    

    เพื่อให้แน่ใจว่าการติดตั้ง SSH เป็นไปด้วยดีคุณสามารถเปิดเทอร์มินัลใหม่และลองสร้างเซสชัน ssh โดยใช้hduserคำสั่งต่อไปนี้:

    ssh localhost
    

    ติดตั้ง ssh ใหม่หาก localhost ไม่ได้เชื่อมต่อ (คุณอาจต้องเพิ่มhdusersudo เป็นขั้นตอนด้านล่าง)

    sudo apt-get install openssh-server
    
  4. แก้ไข Sudoers

    sudo visudo
    
  5. เพิ่มที่ท้ายบรรทัดเพื่อเพิ่ม hduser ลงใน sudoers

    hduser ALL=(ALL:ALL) ALL
    

    หากต้องการบันทึกกดCTRL+ Xให้พิมพ์YและกดENTER

  6. ปิดการใช้งาน IPv6

    sudo gedit /etc/sysctl.conf
    

    หรือ

    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  
    

    หากคุณประสบปัญหาในการบอกคุณคุณไม่มีสิทธิ์ใช้งานเพียงแค่เรียกใช้คำสั่งก่อนหน้าด้วยบัญชีผู้ใช้รูท (ในกรณีที่ sudo ไม่เพียงพอสำหรับฉันมันคือ)

  7. รีบูตตอนนี้

    คุณสามารถทำได้sudo sysctl -pแต่ฉันควรรีบูท

    หลังจากรีบูตเครื่องให้ตรวจสอบว่าปิด IPv6 แล้ว:

    cat /proc/sys/net/ipv6/conf/all/disable_ipv6
    

    มันควรจะพูดว่า1 ถ้ามันบอกว่า0คุณพลาดอะไรไป

  8. กำลังติดตั้ง Hadoop

    มีหลายวิธีในการทำเช่นนี้แนวทางที่แนะนำคือการดาวน์โหลดจากเว็บไซต์ Apache Hadoopและขยายไฟล์ในhduserโฟลเดอร์บ้านของคุณ hadoopเปลี่ยนชื่อโฟลเดอร์แยกไป

    วิธีอื่นคือใช้ PPA ที่ทดสอบแล้วสำหรับ 12.04:

    sudo add-apt-repository ppa:hadoop-ubuntu/stable  
    sudo apt-get update && sudo apt-get upgrade  
    sudo apt-get install hadoop  
    

    หมายเหตุ: PPA อาจใช้งานได้สำหรับบางคนและสำหรับคนอื่นจะไม่ สิ่งที่ฉันพยายามคือการดาวน์โหลดจากเว็บไซต์อย่างเป็นทางการเพราะฉันไม่รู้ PPA

  9. ปรับปรุง $HOME/.bashrc

    คุณจะต้องอัปเดต.bashrcสำหรับhduser(และสำหรับผู้ใช้ทุกคนที่คุณต้องดูแลระบบ Hadoop) ในการเปิด.bashrcไฟล์คุณจะต้องเปิดเป็น root:

    sudo gedit /home/hduser/.bashrc  
    

    หรือ

    sudo nano /home/hduser/.bashrc  
    

    จากนั้นคุณจะเพิ่มการกำหนดค่าต่อไปนี้ในตอนท้ายของ.bashrcไฟล์

    # 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  
    

    ตอนนี้ถ้าคุณมี OpenJDK7 มันจะเป็นดังนี้:

    export JAVA_HOME=/usr/lib/java-7-openjdk-amd64  
    

    สิ่งที่ต้องระวังในที่นี้คือโฟลเดอร์ที่ Java อยู่กับรุ่น AMD64 หากวิธีการด้านบนใช้งานไม่ได้คุณสามารถลองค้นหาในโฟลเดอร์นั้น ๆ หรือตั้งค่า Java ที่จะใช้กับ:

    sudo update-alternatives --config java  
    

    ตอนนี้สำหรับนามแฝงที่มีประโยชน์:

    # Some convenient aliases and functions for running Hadoop-related commands  
    unalias fs &> /dev/null   
    alias fs="hadoop fs"    
    unalias hls &> /dev/null  
    alias hls="fs -ls"  
    
    # Add Hadoop bin/ directory to PATH  
    export PATH=$PATH:$HADOOP_HOME/bin  
    
  10. การกำหนดค่า Hadoop

    ต่อไปนี้เป็นไฟล์การกำหนดค่าที่เราสามารถใช้เพื่อทำการกำหนดค่าที่เหมาะสม ไฟล์บางไฟล์ที่คุณจะใช้กับ Hadoop คือ (ข้อมูลเพิ่มเติมในเว็บไซต์นี้ ):

    start-dfs.sh- เริ่ม Hadoop DFS daemons, namenode และ datanode ใช้สิ่งนี้ก่อน start-mapred.sh

    stop-dfs.sh - หยุด Dado Hadoop DFS

    start-mapred.sh - เริ่มแผนที่ Hadoop / ลด daemons, ผู้ติดตามงานและผู้ติดตามงาน

    stop-mapred.sh - หยุดแผนที่ Hadoop / ลดภูต

    start-all.sh- เริ่ม Hadoop daemons ทั้งหมด, namenode, datanodes, jobtracker และ tasktrackers เลิก; ใช้ start-dfs.sh จากนั้น start-mapred.sh

    stop-all.sh- หยุด Hadoop daemons ทั้งหมด เลิก; ใช้ stop-mapred.sh จากนั้น stop-dfs.sh

    แต่ก่อนที่เราจะเริ่มใช้พวกเราต้องแก้ไขหลายไฟล์ใน/confโฟลเดอร์

    hadoop-env.sh

    ค้นหาไฟล์hadoop-env.shเราจำเป็นต้องอัปเดตตัวแปร JAVA_HOME ในไฟล์นี้เท่านั้น:

    sudo gedit /home/hduser/hadoop/conf/hadoop-env.sh
    

    หรือ

    sudo nano /home/hduser/hadoop/conf/hadoop-env.sh
    

    หรือในเวอร์ชั่นล่าสุดมันจะเป็น

    sudo nano /etc/hadoop/conf.empty/hadoop-env.sh
    

    หรือ

    sudo nano /etc/hadoop/hadoop-env.sh
    

    จากนั้นเปลี่ยนบรรทัดต่อไปนี้:

    # export JAVA_HOME=/usr/lib/j2sdk1.5-sun
    

    ไปยัง

    export JAVA_HOME=/usr/lib/jvm/java-7-oracle
    

    หมายเหตุ: หากคุณได้รับError: JAVA_HOME is not setข้อผิดพลาดในขณะที่เริ่มให้บริการคุณลืมยกเลิกการใส่เครื่องหมายบรรทัดก่อนหน้า (เพียงลบ #)

    แกน site.xml

    ตอนนี้เราต้องสร้างไดเรกทอรีชั่วคราวสำหรับกรอบ Hadoop หากคุณต้องการสภาพแวดล้อมนี้สำหรับการทดสอบหรือต้นแบบรวดเร็ว (เช่นพัฒนาโปรแกรม hadoop แบบง่ายสำหรับการทดสอบส่วนตัวของคุณ ... ) ฉันขอแนะนำให้สร้างโฟลเดอร์นี้ภายใต้/home/hduser/ไดเรกทอรีมิฉะนั้นคุณควรสร้างโฟลเดอร์นี้ในสถานที่ที่ใช้ร่วมกันภายใต้โฟลเดอร์ที่ใช้ร่วมกัน like / usr / local ... ) แต่คุณอาจประสบปัญหาด้านความปลอดภัย แต่เพื่อเอาชนะข้อยกเว้นที่อาจเกิดจากความปลอดภัย (เช่น java.io.IOException) ฉันได้สร้างโฟลเดอร์ tmp ภายใต้ hduser space

    หากต้องการสร้างโฟลเดอร์นี้ให้พิมพ์คำสั่งต่อไปนี้:

    sudo mkdir /home/hduser/tmp   
    

    โปรดทราบว่าหากคุณต้องการให้ผู้ดูแลระบบคนอื่น (เช่น hduser2 ในกลุ่ม hadoop) คุณควรให้สิทธิ์ในการอ่านและเขียนในโฟลเดอร์นี้โดยใช้คำสั่งต่อไปนี้:

    sudo chown hduser:hadoop /home/hduser/tmp  
    sudo chmod 755 /home/hduser/tmp  
    

    ตอนนี้เราสามารถเปิดhadoop/conf/core-site.xmlเพื่อแก้ไขรายการ hadoop.tmp.dir เราสามารถเปิด core-site.xml โดยใช้โปรแกรมแก้ไขข้อความ:

    sudo gedit /home/hduser/etc/hadoop/core-site.xml  
    

    หรือ

    nano /home/hduser/etc/hadoop/core-site.xml
    

    จากนั้นเพิ่มการกำหนดค่าต่อไปนี้ระหว่าง<configure>องค์ประกอบ xml :

    <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>
    

    ตอนนี้แก้ไข mapred-site.xml

    <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>
    

    ตอนนี้แก้ไข hdfs-site.xml

    <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> 
    
  11. การจัดรูปแบบ NameNode

    ตอนนี้คุณสามารถเริ่มทำงานกับโหนดได้ รูปแบบแรก:

    ~/hduser/hadoop/bin/hadoop namenode -format
    

    หรือ

    ./home/hduser/hadoop/bin/hadoop namenode -format
    

    คุณควรฟอร์แมต NameNode ใน HDFS ของคุณ คุณไม่ควรทำขั้นตอนนี้เมื่อระบบกำลังทำงาน โดยปกติจะทำครั้งเดียวในการติดตั้งครั้งแรก

  12. การเริ่มต้น Hadoop Cluster

    คุณจะต้องไปที่ไดเรกทอรี hadoop / bin และเรียกใช้./start-all.shสคริปต์

    cd ~/hduser/hadoop/bin/  
    start-all.sh  
    

    หากคุณมีรุ่นที่แตกต่างจากรุ่นที่แสดงในคำแนะนำ (ซึ่งเป็นไปได้มากว่าหากคุณใช้ PPA หรือรุ่นที่ใหม่กว่า) จากนั้นลองด้วยวิธีนี้:

    cd ~/hduser/hadoop/bin/   
    start-dfs.sh  
    start-mapred.sh   
    

    นี่จะเป็นการเริ่ม Namenode, Datanode, Jobtracker และ Tasktracker บนเครื่องของคุณ

  13. ตรวจสอบว่า Hadoop ทำงานอยู่หรือไม่

    jpsมีเครื่องมือที่ดีที่เรียกว่าเป็น คุณสามารถใช้มันเพื่อให้แน่ใจว่าบริการทั้งหมดจะขึ้นอยู่กับ ในประเภทโฟลเดอร์ hadoop bin ของคุณ:

    jps
    

    มันควรจะแสดงกระบวนการทั้งหมดที่เกี่ยวข้องกับ Hadoop

    หมายเหตุ: ตั้งแต่นี้เสร็จประมาณ 6 เดือนที่ผ่านมาสำหรับฉันถ้ามีส่วนใดไม่ทำงานแจ้งให้ฉันทราบ

Hadoop ใช้ Juju (A Juju Charm สำหรับ Hadoop)

นำมาจากชาร์ม Hadoop

ฉันจะถือว่าสิ่งต่อไปนี้ถูกตั้งค่าแล้ว:

  • คุณมีเซิร์ฟเวอร์ที่ Juju ตั้งค่าไว้แล้ว
  • คุณสามารถเข้าถึงเซิร์ฟเวอร์ (ในเครื่องหรือจากระยะไกล)
  • คุณได้ตั้งค่า Juju และพร้อมที่จะเริ่มเพิ่มเครื่องราง
  • คุณกำลังใช้ 12.04 (นี่เป็นเพราะฉันทดสอบทั้งหมดนี้ด้วย 12.04)
  • คุณได้กำหนดค่า~/.juju/environments.yamlด้วยข้อมูลเกี่ยวกับเซิร์ฟเวอร์ที่คุณจะใช้รวมถึงที่มา PPA

ตกลงตอนนี้ทำตามขั้นตอนนี้เพื่อให้บริการ Hadoop ทำงานอยู่:

  1. บู๊ตสภาพแวดล้อมสำหรับ Hadoop

    juju bootstrap
    

    รอจนกว่าจะเสร็จสิ้นจากนั้นตรวจสอบเพื่อดูว่าการเชื่อมต่อถูกต้องหรือไม่:

    juju status
    
  2. นำ Hadoop ไปใช้งาน (Master and Slave)

    juju deploy --constraints="instance-type=m1.large" hadoop hadoop-master   
    
    juju deploy --constraints="instance-type=m1.medium" -n 5 hadoop hadoop-slave
    
  3. สร้างความสัมพันธ์

    juju add-relation hadoop-master:namenode hadoop-slave:datanode  
    
    juju add-relation hadoop-master:jobtracker hadoop-slave:tasktracker
    
  4. เปิดเผย Hadoop (เนื่องจากคุณปรับใช้และสร้างความสัมพันธ์กับบริการที่ควรใช้งานอยู่แล้ว)

    juju expose hadoop-master
    

    และตรวจสอบสถานะเพื่อดูว่าทำงานถูกต้องหรือไม่:

    juju status hadoop-master
    

ถึงตอนนี้คุณมี Hadoop ที่ทำงานอยู่ มีอีกหลายสิ่งที่คุณสามารถทำได้ในลิงค์ที่ให้ไว้หรือในJuju Charmอย่างเป็นทางการสำหรับ Hadoop

สำหรับ JuJu Charms รุ่นล่าสุด (การตั้งค่า, คำแนะนำทีละขั้นตอนและอื่น ๆ ) คุณสามารถเยี่ยมชม: JuJu Charmsและสร้างสภาพแวดล้อม JuJu ของคุณเองและดูว่าแต่ละไฟล์มีการตั้งค่าอย่างไรและการเชื่อมต่อแต่ละบริการอย่างไร



hduser (ALL)=(ALL:ALL) ALL พ่นข้อผิดพลาดทางไวยากรณ์ ...
2014

ลองhduser ALL=(ALL:ALL) ALLลบวงเล็บแรกออก
ssoto

1
@ssoto เพิ่งตรวจสอบและใช่ บางทีพวกเขาอาจจะเปลี่ยนเป็นเวอร์ชั่นล่าสุด
Luis Alvarado

1
.bachrc- รอจนกระทั่งJohann Sebastianได้ยินเรื่องนั้น โอ้เดี๋ยวก่อนเขาทำไม่ได้…เพราะเขาหูหนวก :-D
David Foerster

6

ผมประสบความสำเร็จในการติดตั้ง Hadoop โดยการตั้งค่าเส้นทางของเป็นJAVA_HOMEusr/lib/jvm/java-6-openjdk-amd64


คุณช่วยอธิบายให้หน่อยได้ไหม?
Panther

3

มาจากคำตอบของ @Luis Alvarado นี่คือเวอร์ชั่นของฉันสำหรับ Ubuntu 14.04 และ Hadoop 2.5.1

โดยสังเขป

  1. ติดตั้ง Java
  2. เตรียมผู้ใช้ที่เป็นผู้บริหารสำหรับ Hadoophduser
  3. เปลี่ยนเป็นhduserจากนี้ไป
  4. อนุญาตให้hduserรีโมตผ่าน ssh ด้วยวลีรหัสผ่านน้อย
  5. ปิดการใช้งาน IPv6
  6. ดาวน์โหลดและกำหนดค่าแพ็คเกจ Hadoop
  7. เตรียมเส้นทางของระบบ $ HADOOP_HOME และ $ JAVA_HOME
  8. กำหนดค่าบริการของ Hadoop
  9. เริ่มบริการของ 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

เราควรเห็น

ป้อนคำอธิบายรูปภาพที่นี่


1
คู่มือที่ดีมากที่จะปฏิบัติตาม มีข้อผิดพลาดเล็กน้อย: mapred-site.xmlไม่มีอยู่ที่จุดเริ่มต้น มันควรจะถูกสร้างขึ้นโดยcp mapred-site.xml.template mapred-site.xml
Raptor

1

เพื่อให้สามารถติดตั้งsun-javaกับคำสั่งคุณต้องเพิ่มเส้นไปยังแฟ้มที่เรียกว่าapt-get แฟ้มนี้สามารถพบได้ในsources.list/etc/apt/sources.list

เปิดไฟล์โดยใช้คำสั่งนี้:

sudo nano /etc/apt/sources.list

จากนั้นที่ส่วนท้ายของ (ด้านล่าง) ของไฟล์นั้นคุณคัดลอก / วางบรรทัด:

deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse

ตอนนี้กดCtrl+ Xเพื่อออกและyสำหรับการบันทึก


ตอนนี้พิมพ์คำสั่ง:

sudo apt-get update 

และเมื่อเสร็จแล้วคุณสามารถรันคำสั่งได้สำเร็จ:

sudo apt-get install sun-java6-jdk

0

สำหรับบทช่วยสอนที่เป็นปัจจุบันมากขึ้น (ไม่แน่ใจในความแตกต่าง) ดูที่บทแนะนำฮาโดปู พวกเขาให้วิดีโอและคำสั่งจริงเพื่อติดตั้งใต้ นอกจากนี้หากคุณส่งอีเมลถึงผู้เขียนเขาก็มีความสุขมากที่จะตอบสนองและช่วยเหลือคุณหากคุณยังติดอยู่กับอะไร

คำแนะนำเหล่านี้ส่วนใหญ่คล้ายกับที่ @Luis ตอบกลับด้วย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.