當前位置:首頁 » 編程軟體 » hadoopwindows編譯

hadoopwindows編譯

發布時間: 2022-07-04 18:32:49

㈠ 求win10下的hadoop2.6.4編譯後的bin和lib,雖然CSDN中有,但是沒c幣,

在lib這個目錄下面,一定有很很多以.jar為後綴的文件(尤其是dt.jar和tools.jar),這是壓縮文件,你可以用winRAR解壓查看的.SUN公司發布的一些系統類就在這里,是java程序運行所依賴的.例如:在JAVA程序在進行輸入和輸出的時候要用到很輸入輸出類,如StreamInput,StreamOutput,你直接在程序的開頭寫上import java.io.*,編譯器就到會lib目錄下找相關的系統類. bin的文件夾,裡面提供了一些工具,一些命令,供開發或者運行java程序時調用 是java編譯時需要調用的程序(如java,javac等)所在的地方。一般是jdk的bin目錄,例 : C:\Program Files\Java\jdk1.5.0_22\bin,就是設置path路徑所指的目錄。

㈡ hadoop在window10上怎麼編譯

前言 Windows下運行Hadoop,通常有兩種方式:一種是用VM方式安裝一個linux操作系統,這樣基本可以實現全Linux環境的Hadoop運行;另一種是通過Cygwin模擬Linux環境。後者的好處是使用比較方便,安裝過程也簡單,本篇文章是介紹第二種方式Cygwin模.

㈢ 如何在windows上使用eclipse遠程連接hadoop進行程序開發

由於Hadoop主要是部署和應用在Linux環境中的,但是目前鄙人自知能力有限,還無法完全把工作環境轉移到linux中去(當然還有點小私心啦,windows下那麼多好用的程序到linux下用不了還真有點心疼——比如說快播,O(∩_∩)O~),於是便想著用eclipse來遠程連接hadoop進行開發,摸索了一番,下面是其步驟:
1. 首先把hadoop-eclipse-plugin-1.0.4.jar(具體版本視你的hadoop版本而定)放到eclipse安裝目錄的plugins文件夾中,如果重新打開eclipse後看到有如下視圖,則說明你的hadoop插件已經安裝成功了:

其中的「hadoop installation directory」配置項用於指向你的hadoop安裝目錄,在windows下你只需要把下載到的hadoop-1.0.4.tar.gz包解壓到某個位置,然後指向這個位置即可。
2. 配置eclipse中的Map/Rece Locations,如下圖所示:

其中主機「master」是我在「C:\Windows\System32\drivers\etc\hosts」中自定義的主機名:
218.195.250.80 master
這時如果在eclipse中能看到如下「DFS Locations」,就說明eclipse已經成功連上遠程的hadoop了(注意,別忘了把你的視圖切換到Map/Rece視圖,而不是默認的Java視圖):

3. 現在我們來測試《hadoop權威指導》中的MaxTemperature例子程序,建立如下三個類:

Run Configuration中的配置參數為:
hdfs://202.193.75.78:49000/user/hadoop/input/core-site.xml //輸入文件,此處有換行
hdfs://202.193.75.78:49000/user/hadoop/output5 //輸出目錄

這時如果我們運行MaxTemperature類,會報如下錯:
12/04/24 15:32:44 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
12/04/24 15:32:44 ERROR security.UserGroupInformation: PriviledgedActionException as:Administrator cause:java.io.IOException: Failed to set permissions of path: \tmp\hadoop-Administrator\mapred\staging\Administrator-519341271\.staging to 0700
Exception in thread "main" java.io.IOException: Failed to set permissions of path: \tmp\hadoop-Administrator\mapred\staging\Administrator-519341271\.staging to 0700

這個是Windows下文件許可權問題,在Linux下可以正常運行,不存在這樣的問題。
解決方法是,修改hadoop-1.0.4/src/core/org/apache/hadoop/fs/FileUtil.java裡面的checkReturnValue,注釋掉即可(有些粗暴,在Window下,可以不用檢查):
重新編譯打包hadoop-core-1.0.4.jar,替換掉hadoop-1.0.4根目錄下的hadoop-core-1.0.4.jar即可。(我重新打包的時候出了點問題,就直接以從網上下載的hadoop-core-1.0.2.jar代替hadoop-core-1.0.4.jar了,這樣也可以正常運行,下載地址:https://skydrive.live.com/?cid=cf7746837803bc50&id=CF7746837803BC50%211276)
(其實還有另一種簡單的辦法,我們只需要把hadoop-1.0.4/src/core/org/apache/hadoop/fs/FileUtil.java修改之後重新編譯過的class文件加入到原來的hadoop-core-1.0.4.jar包中代替原來的FileUtil.class文件即可,這里有一個已經做好的適合於windows環境的hadoop-core-1.0.4.jar包了,你可以直接下載)
另外,我還遇到了這么一個錯誤:
org.apache.hadoop.security.AccessControlException:Permission denied:user=Administrator,access=WRITE,inode="tmp":root:supergroup:rwxr-xr-x 。
這個錯誤有些蹊蹺,因為我已經在map/rece locations中配置了用戶名是hadoop(hadoop就是我linux上運行hadoop集群的用戶名),不知道它為什麼還是以Administrator用戶身份來方位hadoop的,解決辦法如下:
問題原因:本地用戶administrator(本機windows用戶)想要遠程操作hadoop系統,沒有許可權引起的。
解決辦法:
a、如果是測試環境,可以取消hadoop hdfs的用戶許可權檢查。打開conf/hdfs-site.xml,找到dfs.permissions屬性修改為false(默認為true)OK了。
b、修改hadoop location參數,在advanced parameter選項卡中,找到hadoop.job.ugi項,將此項改為啟動hadoop的用戶名即可。(注意第一次設置的時候可能沒有hadoop.job.ugi參數,報錯後在去看就有了。)
c、因為Eclipse使用hadoop插件提交作業時,會默認以 DrWho 身份去將作業寫入hdfs文件系統中,對應的也就是 HDFS 上的/user/hadoop , 由於 DrWho 用戶對hadoop目錄並沒有寫入許可權,所以導致異常的發生。解決方法為:放開 hadoop 目錄的許可權 , 命令如下 :$ hadoop fs -chmod 777

㈣ eclipse 導入hadoop包,無法編譯。其他普通的JAVA程序可正常編譯。是什麼情況 (JDK1.6.10)

不知道你的Hadoop是什麼版本的,比較新的版本hadoop要求jdk1.7以上版本才能用,如果不是版本問題,仔細檢查下jar是不是載入了,看看build path中有沒有,目測報的都是寫class找不到的編譯錯誤

㈤ 如何編譯hadoop的native庫

3、進入hadoop-2.4.1-src編譯hadoop
cd hadoop-2.4.1-src
mvn clean package -Pdist,native -DskipTests -Dtar

4、一般情況下/root/soft/hadoop/hadoop-2.4.1-src/hadoop-hdfs-project/hadoop-hdfs-httpfs/downloads路徑下的apache-tomcat-6.0.36.tar.gz下載不完全,
正常大小應該為6.47M左右,如果不對請官網手動下載,路徑為http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.36/bin/apache-tomcat-6.0.36.tar.gz
5、替換hadoop-2.4.1/lib/native為編譯後hadoop-2.4.1-src/hadoop-dist/target/hadoop-2.4.1/lib/native包

㈥ winserver 2012 怎麼配置hadoop

1、安裝JDK1.6或更高版本

官網下載JDK,安裝時注意,最好不要安裝到帶有空格的路徑名下,例如:Programe Files,否則在配置Hadoop的配置文件時會找不到JDK(按相關說法,配置文件中的路徑加引號即可解決,但我沒測試成功)。

2、安裝Cygwin

Cygwin是Windows平台下模擬Unix環境的工具,需要在安裝Cygwin的基礎上安裝Hadoop

根據操作系統的需要下載32位或64的安裝文件。

1)、雙擊下載好的安裝文件,點擊下一步,選擇install from internet


2)、選擇安裝路徑

3)、選擇local Package Directory

4)、選擇您的Internet連接方式

5)、選擇合適的安裝源,點擊下一步

6)、在Select Packages界面里,Category展開net,選擇如下openssh和openssl兩項

如果要在Eclipe上編譯Hadoop,需要安裝Category為Base下的sed

如果想在Cygwin上直接修改hadoop的配置文件,可以安裝Editors下的vim

7)、點擊「下一步」,等待安裝完成。

3、配置環境變數

在「我的電腦」上點擊右鍵,選擇菜單中的「屬性",點擊屬性對話框上的高級頁簽,點擊」環境變數"按鈕,在系統變數列表裡雙擊「Path」變數,在變數值後輸入安裝的Cygwin的bin目錄,例如:D:hadoopcygwin64in

4、安裝sshd服務

雙擊桌面上的Cygwin圖標,啟動Cygwin,執行ssh-host-config -y命令

執行後,會提示輸入密碼,否則會退出該配置,此時輸入密碼和確認密碼,回車。最後出現Host configuration finished.Have fun!表示安裝成功。

輸入net start sshd,啟動服務。或者在系統的服務里找到並啟動Cygwin sshd服務。

可能會遇到無法安裝和啟動sshd服務的問題,可參考此連接http://www.cnblogs.com/kinglau/p/3261886.html。

另外如果是Win8操作系統,啟動Cygwin時,需要以管理員身份運行(右鍵圖標,選擇以管理員身份運行),否則會因為許可權問題,提示「發生系統錯誤5」。

5、配置SSH免密碼登錄

執行ssh-keygen命令生成密鑰文件

如下圖所示,輸入:ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa,注意-t -P -f參數區分大小寫。

ssh-keygen是生成密鑰命令

-t 表示指定生成的密鑰類型(dsa,rsa)

-P表示提供的密語

-f指定生成的密鑰文件。

注意:~代表當前用戶的文件夾,/home/用戶名

執行此命令後,在你的Cygwinhome用戶名 路徑下面會生成.ssh文件夾,可以通過命令ls -a /home/用戶名 查看,ssh -version命令查看版本。

執行完ssh-keygen命令後,再執行下面命令,就可以生成authorized_keys文件了。

cd~/.ssh/
cpid_dsa.pubauthorized_keys

如下圖所示:

然後執行exit命令,退出Cygwin窗口

6、再次在桌面上雙擊Cygwin圖標,打開Cygwin窗口,執行ssh localhost命令,第一次執行該命令會有提示,輸入yes後,回車即可。如下圖所示

7、安裝Hadoop

把hadoop壓縮包解壓到/home/用戶名 目錄下,文件夾名稱更改為hadoop,可以不修改,但後邊在執行命令時稍顯麻煩。

(1)單機模式配置方式

單機模式不需要配置,這種方式下,Hadoop被認為是一個單獨的Java進程,這種方式經常用來調試。

(2)偽分布模式

可以把偽分布模式看作是只有一個節點的集群,在這個集群中,這個節點既是Master,也是Slave,既是NameNode,也是DataNode,既是JobTracker,也是TaskTracker。

這種模式下修改幾個配置文件即可。

配置hadoop-env.sh,記事本打開改文件,設置JAVA_HOME的值為你的JDK安裝路徑,例如:

JAVA_HOME="D:hadoopJavajdk1.7.0_25"


配置core-site.xml

<?xmlversion="1.0"?>
<?xml-stylesheettype="text/xsl"href="configuration.xsl"?>
<!--Putsite-.-->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>mapred.child.tmp</name>
<value>/home/u/hadoop/tmp</value>
</property>
</configuration>

配置hdfs-site.xml

<?xmlversion="1.0"?>
<?xml-stylesheettype="text/xsl"href="configuration.xsl"?>
<!--Putsite-.-->
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

配置mapred-site.xml

<?xmlversion="1.0"?>
<?xml-stylesheettype="text/xsl"href="configuration.xsl"?>
<!--Putsite-.-->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
<property>
<name>mapred.child.tmp</name>
<value>/home/u/hadoop/tmp</value>
</property>
</configuration>

8、啟動Hadoop

打開Cgywin窗口,執行cd ~/hadoop命令,進入hadoop文件夾,如下圖:

啟動Hadoop前,需要先格式化Hadoop的文件系統HDFS,執行命令:bin/hadoop namenode -format

注意namenode要小些,否則如果輸入NameNode,會提示錯誤,找不到或無法載入主類NameNode。執行正確命令後如下圖所示:

輸入命令 bin/start-all.sh,啟動所有進程,如下圖:

接下來,驗證是否安裝成功

打開瀏覽器,分別輸入下列網址,如果能夠正常瀏覽,說明安裝成功。

localhost:50030,回車打開MapRece的web頁面,如下圖(頁面部分截圖):

localhost:50070,回車打開HDFS的web頁面,如下圖(頁面部分截圖):

第一次啟動後,如果都不能瀏覽,或不能瀏覽某一個,退出Cygwin,重新打開Cygwin,執行bin/start-all.sh命令。

如果只想啟動MapRece,可執行bin/start-mapred.sh命令。

如果只想啟動HDFS,可執行bin/start-dfs.sh命令。

㈦ hadoop編譯時出現javac: file not found: 求助!!!!!

有 種可能
1、linux的classpath設置有問題,沒有加上"."。
2、你的javac後的classpath設置也不對,wordCount的編譯不只是需這一個包,我記得還有別的相關的jar包,只有都加到你的classpath中才能正常編譯。

3、這種編譯明顯是不太合適,在windows上編譯好後再導入linux運行比較簡單直接一些。
試下看吧。

㈧ 如何在Windows下面運行hadoop的MapRece程序

1. 首先登入hadoop 集群裡面的一個節點, 創建一個java源文件, 偷懶起見, 基本盜用官方的word count (因為本文的目的是教會你如何快編寫和運行一個MapRece程序, 而不是如何寫好一個功能齊全的MapRece程序)
內容如下:
import java.io.IOException;
import java.util.StringTokenizer;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.maprece.Job;
import org.apache.hadoop.maprece.Mapper;
import org.apache.hadoop.maprece.Recer;
import org.apache.hadoop.maprece.lib.input.FileInputFormat;
import org.apache.hadoop.maprece.lib.output.FileOutputFormat;
import org.apache.hadoop.util.GenericOptionsParser;
public class myword {
public static class TokenizerMapper
extends Mapper<Object, Text, Text, IntWritable>{
private final static IntWritable one = new IntWritable(1);
private Text word = new Text();
public void map(Object key, Text value, Context context
) throws IOException, InterruptedException {
StringTokenizer itr = new StringTokenizer(value.toString());
while (itr.hasMoreTokens()) {
word.set(itr.nextToken());
context.write(word, one);
}
}
}
public static class IntSumRecer
extends Recer<Text,IntWritable,Text,IntWritable> {
private IntWritable result = new IntWritable();
public void rece(Text key, Iterable<IntWritable> values,
Context context
) throws IOException, InterruptedException {
int sum = 0;
for (IntWritable val : values) {
sum += val.get();
}
result.set(sum);
context.write(key, result);
}
}
public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs();
if (otherArgs.length != 2) {
System.err.println('Usage: wordcount <in> <out>');
System.exit(2);
}
Job job = new Job(conf, 'word count');
job.setJarByClass(myword.class);
job.setMapperClass(TokenizerMapper.class);
job.setCombinerClass(IntSumRecer.class);
job.setRecerClass(IntSumRecer.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
FileInputFormat.addInputPath(job, new Path(otherArgs[0]));
FileOutputFormat.setOutputPath(job, new Path(otherArgs[1]));
System.exit(job.waitForCompletion(true) ? 0 : 1);
}
}
與官方版本相比, 主要做了兩處修改
1) 為了簡單起見,去掉了開頭的 package org.apache.hadoop.examples;
2) 將類名從 WordCount 改為 myword, 以體現是我們自己的工作成果 :)
2. 拿到hadoop 運行的class path, 主要為編譯所用
運行命令
hadoop classpath
保存打出的結果,本文用的hadoop 版本是Pivotal 公司的Pivotal hadoop, 例子:
/etc/gphd/hadoop/conf:/usr/lib/gphd/hadoop/lib/*:/usr/lib/gphd/hadoop/.//*:/usr/lib/gphd/hadoop-hdfs/./:/usr/lib/gphd/hadoop-hdfs/lib/*:/usr/lib/gphd/hadoop-hdfs/.//*:/usr/lib/gphd/hadoop-yarn/lib/*:/usr/lib/gphd/hadoop-yarn/.//*:/usr/lib/gphd/hadoop-maprece/lib/*:/usr/lib/gphd/hadoop-maprece/.//*::/etc/gphd/pxf/conf::/usr/lib/gphd/pxf/pxf-core.jar:/usr/lib/gphd/pxf/pxf-api.jar:/usr/lib/gphd/publicstage:/usr/lib/gphd/gfxd/lib/gemfirexd.jar::/usr/lib/gphd/zookeeper/zookeeper.jar:/usr/lib/gphd/hbase/lib/hbase-common.jar:/usr/lib/gphd/hbase/lib/hbase-protocol.jar:/usr/lib/gphd/hbase/lib/hbase-client.jar:/usr/lib/gphd/hbase/lib/hbase-thrift.jar:/usr/lib/gphd/hbase/lib/htrace-core-2.01.jar:/etc/gphd/hbase/conf::/usr/lib/gphd/hive/lib/hive-service.jar:/usr/lib/gphd/hive/lib/libthrift-0.9.0.jar:/usr/lib/gphd/hive/lib/hive-metastore.jar:/usr/lib/gphd/hive/lib/libfb303-0.9.0.jar:/usr/lib/gphd/hive/lib/hive-common.jar:/usr/lib/gphd/hive/lib/hive-exec.jar:/usr/lib/gphd/hive/lib/postgresql-jdbc.jar:/etc/gphd/hive/conf::/usr/lib/gphd/sm-plugins/*:
3. 編譯
運行命令
javac -classpath xxx ./myword.java
xxx部分就是上一步裡面取到的class path
運行完此命令後, 當前目錄下會生成一些.class 文件, 例如:
myword.class myword$IntSumRecer.class myword$TokenizerMapper.class
4. 將class文件打包成.jar文件
運行命令
jar -cvf myword.jar ./*.class
至此, 目標jar 文件成功生成
5. 准備一些文本文件, 上傳到hdfs, 以做word count的input
例子:
隨意創建一些文本文件, 保存到mapred_test 文件夾
運行命令
hadoop fs -put ./mapred_test/
確保此文件夾成功上傳到hdfs 當前用戶根目錄下
6. 運行我們的程序
運行命令
hadoop jar ./myword.jar myword mapred_test output
順利的話, 此命令會正常進行, 一個MapRece job 會開始工作, 輸出的結果會保存在 hdfs 當前用戶根目錄下的output 文件夾裡面。
至此大功告成!
如果還需要更多的功能, 我們可以修改前面的源文件以達到一個真正有用的MapRece job。
但是原理大同小異, 練手的話, 基本夠了。
一個拋磚引玉的簡單例子, 歡迎板磚。

㈨ 如何在windows下安裝Eclipse Hadoop插件

在windows下安裝Eclipse Hadoop插件主要安裝編譯Eclipse-hadoop插件即可。

1、配置環境變數:把下載好的hadoop-2.5.2解壓到D盤的根目錄下,然後計算機==》屬性==》高級系統設置==》環境變數

㈩ 如何在Windows中使用Intellij idea搭建遠程Hadoop開發環境

(1)准備工作

1) 安裝JDK 6或者JDK 7

2) 安裝scala 2.10.x (注意版本)

2)下載Intellij IDEA最新版(本文以IntelliJ IDEA Community Edition 13.1.1為例說明,不同版本,界面布局可能不同)

3)將下載的Intellij IDEA解壓後,安裝scala插件,流程如下:

依次選擇「Configure」–> 「Plugins」–> 「Browse repositories」,輸入scala,然後安裝即可

(2)搭建Spark源碼閱讀環境(需要聯網)

一種方法是直接依次選擇「import project」–> 選擇spark所在目錄 –>
「SBT」,之後intellij會自動識別SBT文件,並下載依賴的外部jar包,整個流程用時非常長,取決於機器的網路環境(不建議在windows
下操作,可能遇到各種問題),一般需花費幾十分鍾到幾個小時。注意,下載過程會用到git,因此應該事先安裝了git。

第二種方法是首先在linux操作系統上生成intellij項目文件,然後在intellij IDEA中直接通過「Open
Project」打開項目即可。在linux上生成intellij項目文件的方法(需要安裝git,不需要安裝scala,sbt會自動下載)是:在
spark源代碼根目錄下,輸入sbt/sbt gen-idea

註:如果你在windows下閱讀源代碼,建議先在linux下生成項目文件,然後導入到windows中的intellij IDEA中。

(3)搭建Spark開發環境

在intellij IDEA中創建scala project,並依次選擇「File」–> 「project structure」
–> 「Libraries」,選擇「+」,將spark-hadoop
對應的包導入,比如導入spark-assembly_2.10-0.9.0-incubating-hadoop2.2.0.jar(只需導入該jar
包,其他不需要),如果IDE沒有識別scala 庫,則需要以同樣方式將scala庫導入。之後開發scala程序即可:

編寫完scala程序後,可以直接在intellij中,以local模式運行,方法如下:

點擊「Run」–> 「Run Configurations」,在彈出的框中對應欄中填寫「local」,表示將該參數傳遞給main函數,如下圖所示,之後點擊「Run」–> 「Run」運行程序即可。

如果想把程序打成jar包,通過命令行的形式運行在spark 集群中,可以按照以下步驟操作:

依次選擇「File」–> 「Project Structure」 –> 「Artifact」,選擇「+」–>
「Jar」 –> 「From Moles with
dependencies」,選擇main函數,並在彈出框中選擇輸出jar位置,並選擇「OK」。

最後依次選擇「Build」–> 「Build Artifact」編譯生成jar包。

熱點內容
蔚來配置哪些值得加 發布:2025-02-11 16:58:28 瀏覽:325
索引型資料庫 發布:2025-02-11 16:58:26 瀏覽:916
hbasephp 發布:2025-02-11 16:44:41 瀏覽:761
微軟不給源碼 發布:2025-02-11 16:13:37 瀏覽:38
php的get方法 發布:2025-02-11 16:12:30 瀏覽:967
源碼網嘉 發布:2025-02-11 16:07:06 瀏覽:192
免費ftp服務軟體 發布:2025-02-11 15:58:06 瀏覽:866
大櫻桃建園為什麼要配置授粉樹 發布:2025-02-11 15:58:00 瀏覽:629
五菱宏光s頂配有哪些配置 發布:2025-02-11 15:50:57 瀏覽:287
華為8加128配置有哪些 發布:2025-02-11 15:48:20 瀏覽:580