日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hadoop伪分布安装及简单使用

發布時間:2025/3/21 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop伪分布安装及简单使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如何安裝Hadoop

參考: http://dblab.xmu.edu.cn/blog/install-hadoop/

設置Hadoop環境變量

export HADOOP_HOME=/usr/local/hadoop export HADOOP_INSTALL=$HADOOP_HOME 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_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"

如果不加最后一條,會出現以下錯誤

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable](http://www.cnblogs.com/likui360/p/6558749.html)

安裝方式


這里采用偽分布安裝配置:

核心

1.屬于HDFS的節點
  • NameNode

名稱節點,相當于目錄服務器 ,應用來取數據的時候,首先訪問NameNode,去獲得我要訪問的數據到底放在了哪個DataNode上面.
名稱節點包括:

再來看一下FsImage,它維護的信息包括以下:

注意:

塊在哪個節點存儲的并不是由FsImage維護的,而是一個單獨的內存區域,而是下面這種方式;
DataNode會向NameNode匯報自己節點保存哪些數據塊,作為管家的NameNode會構建一個清單,它自己就知道數據塊到底分布到了哪個節點.(并不是由FsImage保存的)

  • #####DataNode
2.屬于MapReduce的核心組件


JobTracker負責對整個用戶作業進行管理,它把一個用戶的大作業拆分成小的作業.分發到不同的機器上去執行
TaskTracker每個機器都部署了TaskTracker,每一個負責跟蹤和執行分配給自己的那一部分作業

HDFS編程實踐

參考 http://dblab.xmu.edu.cn/blog/290-2/

我們又兩種方式訪問HDFS,如下圖所示

在安裝完Hadoop后,我們可以使用一下命令啟動Hadoop

cd /usr/local/hadoop hdfs namenode -format #格式化hadoop的hdfs文件系統 ./sbin/start-dfs.sh #啟動hadoop

方式一:利用shell命令

三種不同的命令類型,適用于不同的情景,具體區別見下圖

  • ls列出文件信息,mkdir新建文件夾
  • 將本地文件上傳到HDFS
hadoop fs -cp 本地文件路徑 HDFS路徑

web方式(用的比較少)

通過訪問 http://localhost:50070

方式二:利用java API

應用商店安裝eclipse,默認工作空間.
1)創建項目
File - New -Java Project,輸入項目名稱,finish

2)導入jar包
為了編寫一個能夠與HDFS交互的Java應用程序,一般需要向Java工程中添加以下JAR包:
(1)”/usr/local/hadoop/share/hadoop/common”目錄下的hadoop-common-2.7.1.jar和haoop-nfs-2.7.1.jar;
(2)/usr/local/hadoop/share/hadoop/common/lib”目錄下的所有JAR包;
(3)“/usr/local/hadoop/share/hadoop/hdfs”目錄下的haoop-hdfs-2.7.1.jar和haoop-hdfs-nfs-2.7.1.jar;
(4)“/usr/local/hadoop/share/hadoop/hdfs/lib”目錄下的所有JAR包。

/usr/local/hadoop/share/hadoop

右鍵新建的項目 - 選擇properties - 搜索Java Build Path - Libraries -Add External JARS

實例測試

檢測分布式文件系統HDFS上到底存不存在一個input.txt文件?
在這之前,還需要一些工作
第一步:
把core-site.xml和hdfs-site.xml(在/usr/local/hadoop/etc/hadoop目錄下),復制到當前工程項目下,即eclipse工作目錄的bin文件夾下面

sudo cp core-site.xml hdfs-site.xml /home/user/workspace/hadoop.test/bin/

第二步: 編寫代碼

package fileTest; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path;public class FileExitTest {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubtry{String filename = "test";Configuration conf = new Configuration();FileSystem fs = FileSystem.get(conf);if(fs.exists(new Path(filename))){System.out.println("file exist");}else{System.out.print("file is not exist");}}catch(Exception e){e.printStackTrace();}} }

或者采用下面的方法
(此時不需要將core-site.xml和hdfs-site.xml拷貝至項目bin目錄下)

package fileTest;import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; public class FileExitTest {public static void main(String[] args){try{String fileName = "test";Configuration conf = new Configuration();conf.set("fs.defaultFS", "hdfs://localhost:9000");conf.set("fs.hdfs.impl", "org.apache.hadoop.hdfs.DistributedFileSystem");FileSystem fs = FileSystem.get(conf);if(fs.exists(new Path(fileName))){System.out.println("文件存在");}else{System.out.println("文件不存在");}}catch (Exception e){e.printStackTrace();}} }

應用程序的部署

下面介紹如何把Java應用程序生成JAR包,部署到Hadoop平臺上運行。首先,在Hadoop安裝目錄下新建一個名稱為myapp的目錄,用來存放我們自己編寫的Hadoop應用程序,可以在Linux的終端中執行如下命令:

hadoop@user:/usr/local/hadoop$ cd /usr/local/hadoop hadoop@user:/usr/local/hadoop$ mkdir myapp



之后jar文件并生成并保存在了/usr/local/hadoop/myapp目錄下.
可以采用以下兩種命令來執行

cd /usr/local/hadoop hadoop jar ./myapp/HDFSExample.jar

或者

java -jar ./myapp/HDFSExample.jar

總結

以上是生活随笔為你收集整理的Hadoop伪分布安装及简单使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。