天天看點

Linux(Ubuntu)下搭建Hadoop環境

大緻步驟

  • 建立虛拟機(建立1台之後,可以進行克隆)
  • 配置jdk
  • 配置ssh、rsync
  • 配置Hadoop

1.建立虛拟機

此處不做過多解釋。我的是vmware+Ubuntu(18.04.1)

2.配置jdk

  • 更新源sudo apt-get update,之前沒有更新,找不到jdk
sudo apt-get update
           
Linux(Ubuntu)下搭建Hadoop環境
    • 配置jdk。 在之前可以将伺服器改成國外的伺服器(在"軟體和更新"裡面可以選擇伺服器),這樣下載下傳速度會更快。直接用指令行安裝比去官網下載下傳更快,而且它自己就會添加到環境變量
sudo apt-get install default-jdk
           
Linux(Ubuntu)下搭建Hadoop環境

3.配置ssh、rsync

  • 安裝ssh
  • sudo apt-get install ssh
               
    Linux(Ubuntu)下搭建Hadoop環境
  • 安裝rsync
  • sudo apt-get install rsync
               
    Linux(Ubuntu)下搭建Hadoop環境
  • 産生ssh密鑰
  • ssh-keygen -t dsa -P ' ' -f ~/.ssh/id_dsa
               
    Linux(Ubuntu)下搭建Hadoop環境
  • 将Key放到許可證檔案中
  • cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
               
    Linux(Ubuntu)下搭建Hadoop環境

    4.配置Hadoop

  • 安裝Hadoop
  • 之前安裝Hadoop是3.2.0版本,我一直沒配上。然後試了下2.6.4版本就成了。而且之前我去官網下的,速度賊慢。在這裡采用指令行下載下傳(wget需要下載下傳),然後解壓
    sudo wget https://archive.apache.org/dist/hadoop/common/hadoop-2.6.4/hadoop2.6.4.tar.gz
    sudo tar -zxvf  hadoop-2.6.4.tar.gz
               
    Linux(Ubuntu)下搭建Hadoop環境
  • 檢視Hadoop安裝目錄
  • 将hadoop-2.6.4移到/usr/local/hadoop中,然後檢視安裝目錄
    sudo mv hadoop-2.6.4 /usr/local/hadoop 
    ll /usr/local/hadoop
               
    Linux(Ubuntu)下搭建Hadoop環境
  • 設定Hadoop環境變量
  • sudo gedit ~/.bashrc
               
    在裡面末尾輸入以下内容:
    export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
    export HADOOP_HOME=/usr/local/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin
    export PATH=$PATH:$HADOOP_HOME/sbin
    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 HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
    export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
               
    Linux(Ubuntu)下搭建Hadoop環境
    儲存并退出,然後讓設定生效:
    source ~/.bashrc
               
  • 編輯hadoop-env.sh
  • sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh
               
    将下圖紅色部分改為:
    export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
               
    Linux(Ubuntu)下搭建Hadoop環境
  • 設定core-site.xml
  • sudo gedit /usr/local/hadoop/etc/hadoop/core-site.xml
               
    修改如下:
    <configuration>
    	<property>
    	  <name>fs.default.name</name>
    	  <value>hdfs://localhost:9000</value>
    	</property>
    </configuration>
               
    Linux(Ubuntu)下搭建Hadoop環境
  • 設定yarn-site.xml
  • sudo gedit /usr/local/hadoop/etc/hadoop/yarn-site.xml
               
    修改如下:
    <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
    </property>
    <property>
      <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
      <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
               
    Linux(Ubuntu)下搭建Hadoop環境
  • 設定mapred-site.xml
  • sudo gedit /usr/local/hadoop/etc/hadoop/mapred-site.xml
               
    修改如下:
    <configuration>
      <property>
       <name>mapreduce.framework.name</name>
       <value>yarn</value>
      </property>
    </configuration>
               
  • 設定hdfs-site.xml
  • sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml
               
    修改如下:
    <configuration>
      <property>
       <name>dfs.replication</name>
       <value>3</value>
      </property>
      <property>
       <name>dfs.namenode.name.dir</name>
       <value>file:/usr/local/hadoop/hadoop_data/hdfs/namenode</value>
      </property>
      <property>
       <name>dfs.datanode.data.dir</name>
       <value>file:/usr/local/hadoop/hadoop_data/hdfs/datanode</value>
      </property>
    </configuration>
               
    Linux(Ubuntu)下搭建Hadoop環境
  • 建立并格式化HDFS目錄
  • 建立namenode目錄
    sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/namenode
               
    建立datanode目錄
    sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode
               
    更改目錄所有者:
    sudo chown node2:node2 -R /usr/local/hadoop
               
    格式化HDFS:
    hadoop namenode -format
               
    Linux(Ubuntu)下搭建Hadoop環境
  • 啟動Hadoop
  • 1.可以分别啟動HDFS和YARN start-hdfs.sh start-yarn.sh

    2.同時啟動 start-all.sh

    這裡我采用同時啟動。此外,停止服務是stop-all.sh

    Linux(Ubuntu)下搭建Hadoop環境
    Linux(Ubuntu)下搭建Hadoop環境
  • 檢視namenode、datanode程序
  • jps
               
    Linux(Ubuntu)下搭建Hadoop環境
  • 打開Hadoop Resource-Manager Web頁面
  • 在浏覽器輸入:

    可以看到如下圖所示:

    Linux(Ubuntu)下搭建Hadoop環境
    至此,大功告成!後面還需要搭建叢集,可以采取克隆虛拟機的方式,這裡不再叙述。
    更新一下,這裡建議大家用virtualbox+Ubuntu14.0,因為後期我在本機搭建僞分布式的時候,要設定網卡1、網卡2,vmware感覺不太友善。用Ubuntu14是因為要修改ip,18、16版本修改ip比14略麻煩,為了簡便一點是以建議14版。說多了都是淚啊~

繼續閱讀