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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Mac上运行第一个Hadoop实例

發布時間:2025/6/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mac上运行第一个Hadoop实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前轉過?一篇文章?,介紹如何配置偽分布式的Hadoop。不過在Mac上的配置方法和Linux上有一點點區別。另外,本篇還從頭介紹了一下創建和運行Hadoop工程的方法。

配置Hadoop

首先確保?java?已經正確安裝,最好使用1.6以上的版本,?java?-version?查看正在使用的版本。把?java?加到 ~/.bash_profile 里。

export JAVA_HOME=`/usr/libexec/java_home`

配置?ssh?,為了簡單點兒,使用當前用戶賬號。需要把密鑰文件給自己加上,方便地用?ssh?訪問本機。

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys # /usr/sbin/sshd # 有點兒麻煩,需要啟動ssh $ ssh localhost # 驗證一下

以偽分布式安裝Hadoop。把Hadoop下載下來,解壓放到比如 /usr/local/ 下,加到環境變量里:

PATH="$PATH:/usr/local/hadoop/bin"

改一下用戶,以便后面可以在自己的賬號下啟動它:

# chown -R yeolar:admin /usr/local/hadoop

Hadoop需要個臨時目錄:

$ mkdir /tmp/hadoop $ chmod 777 /tmp/hadoop

配置Hadoop的環境變量,在 /usr/local/hadoop/conf/hadoop-env.sh 中:

export JAVA_HOME=`/usr/libexec/java_home` export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk" # Mac需要這個

修改一些配置文件:

/usr/local/hadoop/conf/core-site.xml:

<property><name>hadoop.tmp.dir</name><value>/tmp/hadoop</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 whosescheme and authority determine the FileSystem implementation. Theuri's scheme determines the config property (fs.SCHEME.impl) namingthe FileSystem implementation class. The uri's authority is used todetermine the host, port, etc. for a filesystem.</description> </property>

/usr/local/hadoop/conf/mapred-site.xml:

<property><name>mapred.job.tracker</name><value>localhost:54311</value><description>The host and port that the MapReduce job tracker runsat. If "local", then jobs are run in-process as a single mapand reduce task.</description> </property>

/usr/local/hadoop/conf/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>

格式化HDFS文件系統:

$ hadoop namenode -format

現在就可以通過?start-all.sh?和?stop-all.sh?來啟動和停止這個單點集群了。

創建一個Hadoop工程

現在大多用maven創建Java工程。

$ mvn archetype:create -DgroupId=com.yeolar.hmapred -DartifactId=hmapred -DpackageName=com.yeolar.hmapred

默認會創建一個App.java,把它刪掉,然后把Hadoop源代碼里面的WordCount.java復制過來,改一下?package?。

我們還要在pom.xml中加上Hadoop依賴:

<dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-core</artifactId><version>1.1.1</version> </dependency>

現在在工程的根目錄就可以編譯打包了:

$ mvn clean compile $ mvn package

maven首次會自動下載依賴,需要一些時間。

如果想把maven工程轉換為eclipse工程,可以執行?mvn eclipse:eclipse?。同時還要在Preferences/Java/Build Path/Classpath Variables中添加變量?M2_REPO =?/Users/yeolar/.m2/repository?。

運行Hadoop任務

運行普通的Java包可以使用命令?java?-cp?<jar file> <class>?,不過Hadoop有它自己的方式。

首先,確保Hadoop已經啟動,如果還沒有,使用?start-all.sh?啟動起來。

然后把要處理的文檔放到HDFS里面:

$ hadoop dfs -put doc.txt ~

運行Hadoop任務:

$ hadoop jar target/hmapred-1.0-SNAPSHOT.jar com.yeolar.hmapred.WordCount doc.txt out

可以合并取出輸出的結果(?-getmerge?),或者直接查看(?-cat?)。

總結

以上是生活随笔為你收集整理的Mac上运行第一个Hadoop实例的全部內容,希望文章能夠幫你解決所遇到的問題。

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