1. 程式人生 > >hadoop學習筆記(一)——hadoop安裝及測試

hadoop學習筆記(一)——hadoop安裝及測試

這幾天乘著工作之餘,學習了一下hadoop技術,跌跌撞撞的幾天,終於完成了一個初步的hadoop的安裝及測試,具體如下:

動力:工作中遇到的資料量太大,伺服器已經很吃力,sql語句執行老半天,故想用大資料技術來改善一下

環境:centos5.11+jdk1.7+hadoop2.5.2

1.  偽分佈安裝步驟

關閉防火牆

修改ip

修改hostname

設定ssh自動登入

安裝jdk

安裝hadoop

注:此部分涉及到的Linux操作部分可以再下面的連結中找到,Linux初級操作

2.  安裝jdk

用xftp把jdk安裝包放到/root/Downloads

tar xzvfjdk-7u67-linux-i586.tar.gz  解壓縮

vi/etc/profile 設定環境變數,新增如下3行內容

exportJAVA_HOME=/usr/local/jdk1.7

exportCLASSPATH=/usr/local/jdk1.7/lib

exportPATH=.:$JAVA_HOME/bin:$PATH

source /etc/profile  配置檔案立即生效

java –version 驗證是否設定成功

3.  安裝hadoop

用xftp把hadoop安裝包放到/root/Downloads

tar xzvf hadoop-2.5.2.tar.gz  解壓縮

vi /etc/profile 設定環境變數,新增並修改如下內容

export JAVA_HOME=/usr/local/jdk1.7

export HADOOP_HOME=/usr/local/hadoop2.5

export CLASSPATH=/usr/local/jdk1.7/lib

export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH

source /etc/profile  配置檔案立即生效

hadoop version 驗證hadoop是否配置成功

4.  設定hadoop偽分佈模式

上面步驟安裝成功後,hadoop處於獨立模式即本機模式,本機模式用於開發階段測試除錯MapReduce程式。偽分佈模式用於在本機上模擬一個小規模的叢集。

修改$HADOOP_HOME/etc/hadoop下的5個配置檔案。

(1) 修改core-site.xml,設定namenode主機,hadoop檔案系統
<configuration>
    <property>
       <name>fs.default.name</name>
       <value>hdfs://hadoop:9000</value>
    </property>

<property>

   <name>hadoop.tmp.dir</name>

<value>/usr/local/hadoop2.5/tmp</value>

</property>

</configuration>
(2) 修改hdfs-site.xml,設定資料塊副本數目
<configuration>

<property>

<name>dfs.name.dir</name>

<value>/usr/local/hadoop2.5/hdfs/name</value>

</property>

<property>

<name>dfs.data.dir</name>

      <value>/usr/local/hadoop2.5/hdfs/data</value>

</property>

<property>

 <name>dfs.replication</name>

 <value>1</value>

</property>

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>
</configuration>
(3) 修改mapred-site.xml

[cp mapred-site.xml.template mapred-site.xml]
<configuration>
        <property>

  <name>mapreduce.framework.name</name>

    <value>yarn</value>

</property>
</configuration>
(4)修改hadoop-env.sh,設定JAVA_HOME
     在hadoop-env.sh中新增,本機中jdk路徑
     export JAVA_HOME=/usr/local/jdk1.7

(5)修改yarn-site.xml,包含MapReduce啟動的配置資訊。<configuration>

<property>

<name>yarn.nodemanager.aux-services</name>

 <value>mapreduce_shuffle</value>

</property>

</configuration>

5.  啟動hadoop

hdfs namenode –format 格式化HDFS檔案系統

注:第一,格式化之後jdk的路徑會變成相對路徑,需要到hadoop-env.sh中再改成絕對路徑;

第二,一定在hadoop安裝目錄的sbin目錄下執行格式化命令!

cd /usr/local/hadoop2.5/sbin  進入sbin目錄

start-dfs.sh,start-yarn.sh   啟動hadoop

jps 檢視Java程序

共涉及5個Java程序,如下圖所示:NodeManager、SecondaryNameNode、NameNode、DataNode、 ResourceManager;

6.  瀏覽器驗證

在windows系統中繫結Linux主機名和ip

修改C:\Windows\System32\drivers\etc下的host檔案

訪問hadoop:50070和hadoop:8088埠

7.  執行測試程式

使用新建的偽分散式平臺執行wordcount程式:

echo"Hello World.Hello hadoop." > hello.txt

hadoopfs -mkdir -p input  在hdfs系統上建立資料夾input

hadoopfs –ls 檢視資料夾是否建立成功

hadoopfs -put ../hello.txt input 將本地檔案上傳到hdfs

hadoopfs -ls input   檢視檔案是否上傳成功

hadoopjar ../share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.2.jar wordcountinput output  執行wordcount

hadoopfs -ls output 檢視執行之後產生的檔案

hadoopfs -cat output/part-r-00000 檢視執行結果

8.錯誤記錄

1.  Q:Java HotSpot(TM) ClientVM warning: You have loaded library/usr/local/hadoop2.5/lib/native/libhadoop.so.1.0.0which might have disabled stack guard. The VM will try to fix the stack guardnow.

A:這個問題的錯誤原因會發生在64位的作業系統上,原因是從官方下載的hadoop使用的本地庫檔案都是基於32位編譯的,執行在64位系統上就會出現上述錯誤。

方案一:在64位系統上重新編譯hadoop;

方案二:在hadoop-env.sh,yarn-env.sh中新增下兩行: 

Export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native

export  HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

9.感想

hadoop2.X跟hadoop1.X區別還是比較大的,可供查閱的資料方面1.x居多,故把自己學習hadoop2.5的過程分享出來,一方面方便自己查閱,另一方面讓其他人少走彎路


相關推薦

hadoop學習筆記()——hadoop安裝測試

這幾天乘著工作之餘,學習了一下hadoop技術,跌跌撞撞的幾天,終於完成了一個初步的hadoop的安裝及測試,具體如下: 動力:工作中遇到的資料量太大,伺服器已經很吃力,sql語句執行老半天,故想用大

Hadoop學習筆記()----環境搭建之VMware虛擬機器安裝建立CentOS

一、vmware安裝 準備好軟體包: 點選安裝vmware 下一步 下一步 下一步 下一步 下一步 點選安裝 安裝完畢: 點選桌面上的

學習筆記()-----Hadoop集群規劃部署

war 偽分布式 節點集群 但是 系統 虛擬 .網絡 什麽 主機模式 1.什麽是Hadoop集群搭建所謂集群,就是一組通過網絡互聯的計算機,集群中的每一臺計算機稱作一個節點,Hadoop集群搭建就是在這個物理集群之上安裝部署Hadoop相關的軟件,然後對外提供大數據存儲和分

hadoop學習筆記

Hadoop 2.x   * common   * HDFS     儲存資料 NameNode 主從結構 * 儲存檔案系統的元資料,名稱空間namespace DataNode * 儲存資料 SecondaryNameNode * 輔助NameNode工作,合併兩個檔案

MongoDB學習筆記() MongoDB介紹安裝

 這是MongoDB的系列學習筆記的第一篇,主要介紹什麼是非關係型資料庫MongoDB,如何下載,去哪兒下載,又該怎麼正確的安裝等一系列問題。 一、前言 最近開始學習非關係型資料庫MongoDB,卻在部落格園上找不到比較系統的教程,很多資料都要去查閱英文網站,效率比較

Hadoop學習筆記(通過Java API 操作HDFS,檔案上傳、下載)

package demo.hdfs; import java.util.Arrays; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.BlockLocation; impor

hadoop 學習安裝hadoop環境

  hadoop 安裝使用需要依賴jdk的環境  首先安裝jdk1.8 並配置環境變數 解壓jdk後修改&

AWS學習筆記()--CLI基礎知識(測試

ren rmi fault download 3-0 hot calling r.js getting Installing the AWS CLI Install the AWS CLI Using pip on linux1) Install python---Chec

hadoop學習筆記2---hadoop的三種運行模式

hadoop1、單機模式安裝簡單,在一臺機器上運行服務,幾乎不用做任何配置,但僅限於調試用途。沒有分布式文件系統,直接讀寫本地操作系統的文件系統。2、偽分布式模式在單節點上同時啟動namenode、datanode、jobtracker、tasktracker、secondary namenode等進程,模擬

hadoop學習筆記1---Hadoop體系介紹

hadoop1、NamenodeHDFS的守護進程記錄文件時如何分割成數據塊的,以及這些數據塊被存儲到哪些節點上對內存和I/O進行集中管理是個單點,發生故障將使集群崩潰2、Secondary Namenode監控HDFS狀態的輔助後臺程序每個集群都有一個與NameNode進行通訊定期保存HDFS元數據快照當N

tensorflow學習筆記----------tensorflow安裝

all python 出現 版本 install chan highlight clas sta 2016年11月30日,tensorflow(https://www.tensorflow.org/)更新了0.12版本,這標誌著我們終於可以在windows下使用te

Spark學習筆記() Ubuntu安裝JDK和ssh

1. Hadoop的必要軟體環境 Java開發環境JDK ssh(安全外殼協議) 1.1 Ubuntu下安裝JDK 系統環境:ubuntu-18.04.1 JDK版本:1.8 1.1.1 從oracle官方下載jdk的包到本機

flink1.7學習筆記安裝

下載地址:https://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-1.7.0/flink-1.7.0-bin-hadoop28-scala_2.12.tgz 解壓:tar -zxvf flink-1.7.0-bin-hadoop2

MongoDB學習筆記:下載安裝MongoDB

MongoDB學習筆記一:MongoDB的下載和安裝 這幾天準備學習一下MongoDB,就打算把學習到的寫部落格記錄下來 一、MongoDB的下載 2.到下載頁面選擇社群版本,下載對應的版本,我這邊是下載windows的64位。 3.等待下載完成。 二、

turtlebot2學習1-基礎包安裝測試

由於turtlebot是在創客智造買的,很多地方都是參考創客智造的教程進行的,創客智造的教程建議用兩點電腦處在同一網路下操作turtlebot,但為了省事,我們僅用一臺筆記本控制turtlebot。 關於怎麼安裝支架,怎麼接線,以及作業系統的安裝這裡就不再贅述了。 *以下均基於Ubunt

[Hadoop] Hadoop學習筆記Hadoop基礎

1 Hadoop是什麼?   Google公司發表了兩篇論文:一篇論文是“The Google File System”,介紹如何實現分散式地儲存海量資料;另一篇論文是“Mapreduce:Simplified Data Processing on Large Clusters”,介紹如何對分散式大規模

Hadoop學習筆記—3.Hadoop RPC機制的使用

一、RPC基礎概念 1.1 RPC的基礎概念   RPC,即Remote Procdure Call,中文名:遠端過程呼叫;   (1)它允許一臺計算機程式遠端呼叫另外一臺計算機的子程式,而不用去關心底層的網路通訊細節,對我們來說是透明的。因此,它經常用於分散式網路通訊中。 RPC協議假定某些傳輸

Hadoop學習筆記—6.Hadoop Eclipse外掛的使用

開篇:Hadoop是一個強大的並行軟體開發框架,它可以讓任務在分散式叢集上並行處理,從而提高執行效率。但是,它也有一些缺點,如編碼、除錯Hadoop程式的難度較大,這樣的缺點直接導致開發人員入門門檻高,開發難度大。因此,Hadop的開發者為了降低Hadoop的難度,開發出了Hadoop Eclipse外掛,它

caffe學習筆記1-win10安裝測試mnist

windows下caffe的安裝有些麻煩,我折騰了一天終於安裝好caffe並且成功測試了mnist,在此期間遇到了不少坑,特此記錄一下。 安裝caffe caffe的安裝方式一直在變化,我安裝的時候發現不少部落格寫的東西已經有些過時了,所以建議大家在安裝的時

Python學習筆記():list屬性方法淺析

列表學習。 List是python中的基本資料結構之一。建立一個列表的方法 L = [1,2,3,'a'] 通過help(list)檢視列表的屬性及方法。 >>> help(list) Help on class list in module builti