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

ubuntu編譯hadoop

發布時間: 2022-08-12 12:03:58

『壹』 hadoop編譯時出現javac: file not found: 求助!!!!!

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

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

『貳』 如何使用ubuntu搭建hadoop集群

創建hadoop用戶組

創建hadoop用戶
sudo adser -ingroup hadoop hadoop
回車後會提示輸入新的UNIX密碼,這是新建用戶hadoop的密碼,輸入回車即可。
如果不輸入密碼,回車後會重新提示輸入密碼,即密碼不能為空。
最後確認信息是否正確,如果沒問題,輸入 Y,回車即可。
( 增加hadoop用戶組,同時在該組里增加hadoop用戶,後續在涉及到hadoop操作時,我們使用該用戶。)

為hadoop用戶添加許可權
輸入:sudo gedit /etc/sudoers
回車,打開sudoers文件
給hadoop用戶賦予和root用戶同樣的許可權

用新增加的hadoop用戶登錄Ubuntu系統
安裝ssh
sudo apt-get install openssh-server
安裝Java環境
sudo apt-get install openjdk-7-jdk
安裝hadoop
官網下載http://mirror.bit.e.cn/apache/hadoop/common/
解壓
sudo tar xzf hadoop-2.4.0.tar.gz
假如我們要把hadoop安裝到/usr/local下
拷貝到/usr/local/下,文件夾為hadoop
sudo mv hadoop-2.4.0 /usr/local/hadoop
賦予用戶對該文件夾的讀寫許可權
sudo chmod 774 /usr/local/hadoop

配置~/.bashrc
查看JAVA_HOME,後面用到
update-alternatives - -config java
只取前面的部分 /usr/lib/jvm/java-7-openjdk-amd64
配置.bashrc文件
sudo gedit ~/.bashrc
在文件末尾追加下面內容,然後保存,關閉編輯窗口。
#HADOOP VARIABLES START
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
#HADOOP VARIABLES END
使添加的環境變數生效:
source ~/.bashrc

編輯/usr/local/hadoop/etc/hadoop/hadoop-env.sh
sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh
修改此變數如下
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

WordCount測試
單機模式安裝完成,下面通過執行hadoop自帶實例WordCount驗證是否安裝成功
執行WordCount
bin/hadoop
jar
share/hadoop/maprece/sources/hadoop-maprece-examples-2.4.0-sources.jar
org.apache.hadoop.examples.WordCount input output

『叄』 在Ubuntu下配置Eclipse的Hadoop插件,WordCount程序測試編譯不通過!

有Hadoop用eclipse導入一個外來的工程時會出現以上錯誤,可能是因為你的電腦上安裝了多個版本的jdk。或者jdk對應多個jre
解決的辦法是:右擊工程目錄下的jdk 選擇 build path---->config build path 或者在eclipse菜單欄點擊project----->propertys 在裡面再選擇Java Build Path -----> Libraries---->Add Libraries----->JRE System Library

『肆』 虛擬機+ubuntu11.04環境下配置偽分布的hadoop,在執行到啟動hadoop步驟時 bin/start-all.sh 時出錯

是Jobtracker沒有執行起來,我用0.20.203的版本也是這樣。一樣的提示,找不到server類。namenode和datanode都能正常運行,但是jobtracker啟不來。懷疑那個版本的jar包裡面有問題,可能需要重新編譯才行。如果是別的原因,希望高手給予解答。

現在還一直使用0.20.2版本的,沒有問題。新出的0.20.204和0.20.205版本都沒有試過。

另外:
[email protected]'s password:」說明ssh互信沒有建立起來。
執行
ssh-keygen -t dsa出現提示都回車就行。
cd ~/.ssh
cat id_dsa.pub >> authorized_keys
然後ssh localhost如果不需要密碼就是設置成功了。
如果不成功,檢查authorized_keys和.ssh目錄的許可權
chmod 644 authorized_keys
cd ~
chmod 700 .ssh
應該就可以了。

以後一起學習、討論hadoop哈。

『伍』 ubuntu 16 hadoop 支持嗎

  1. 注意安裝之前最好刪除hadoop-260dfsdata下的所有文件避免出現各種問題尤其安裝包不是官方現下載的

  2. 需要重新編譯的教程

  3. 在Ubuntu下創建hadoop用戶組和用戶

  4. 在Ubuntu下安裝JDK

  5. 安裝ssh服務

  6. 建立ssh無密碼登錄本機

  7. 安裝hadoop

  8. 測試Hadoop偽分布式配置

『陸』 如何在ubuntu上安裝hadoop

hadoop官方網站對其安裝配置hadoop的步驟太粗略,在這篇博客中,我會詳細介紹在ubuntu中如何安裝hadoop,並處理可能出現的一些問題。這里介紹的方法是用一台機器虛擬多個節點,這個方法已在如下環境中測試通過:
OS: Ubuntu 13.10
Hadoop: 2.2.0 (2.x.x)
個人認為在其他版本上安裝Hadoop 2.x.x的方法基本相同,因此如果嚴格按照我給的步驟,應該不會有問題。

前提
安裝 jdk 和 openssh
$ sudo apt-get install openjdk-7-jdk
$ java -version
java version "1.7.0_55"
OpenJDK Runtime Environment (IcedTea 2.4.7) (7u55-2.4.7-1ubuntu1~0.13.10.1)
OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)
$ sudo apt-get install openssh-server
openjdk的默認路徑是 /usr/lib/jvm/java-7-openjdk-amd64. 如果你的默認路徑和我的不同,請再後面的操作中替換此路徑。
添加Hadoop用戶組和用戶
$ sudo addgroup hadoop
$ sudo adser --ingroup hadoop hser
$ sudo adser hser sudo
然後切換到hser賬戶
配置SSH
現在你在hser賬戶中。 請注意下面命令中 '' 是兩個單引號 『
$ ssh-keygen -t rsa -P ''
將public key加入到authorized_keys中,這樣hadoop在運行ssh時就不需要輸入密碼了
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
現在我們測試一下ssh
$ ssh localhost
如果你被詢問是否確認連接,輸入yes。如果你發現在即不需要輸密碼,cool -- 至少到目前位置你是正確的。否則,請debug。
$ exit

下載Hadoop 2.2.0 (2.x.x)
$ cd ~
$ wget http://www.trieuvan.com/apache/hadoop/common/hadoop-2.2.0/hadoop-2.2.0.tar.gz
$ sudo tar -xzvf hadoop-2.2.0.tar.gz -C /usr/local
$ cd /usr/local
$ sudo mv hadoop-2.2.0 hadoop
$ sudo chown -R hser:hadoop hadoop
配置Hadoop環境
$ cd ~
$ vim .bashrc
將下面的內容復制到.bashrc中
#Hadoop variables
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
###end of paste

$ cd /usr/local/hadoop/etc/hadoop
$ vim hadoop-env.sh
將下面的三行加入到hadoop-env.sh中,刪除原來的 "export JAVA_HOME"那行
# begin of paste
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
export HADOOP_COMMON_LIB_NATIVE_DIR="/usr/local/hadoop/lib/native/"
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=/usr/local/hadoop/lib/"
### end of paste

配置Hadoop
$ cd /usr/local/hadoop/etc/hadoop
$ vim core-site.xml
將下面的內容復制到 <configuration> 標簽內
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>

$ vim yarn-site.xml
將下面的內容復制到 <configuration> 標簽內
<property>
<name>yarn.nodemanager.aux-services</name>
<value>maprece_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.maprece.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

$ mv mapred-site.xml.template mapred-site.xml
$ vim mapred-site.xml
將下面的內容復制到 <configuration> 標簽內
<property>
<name>maprece.framework.name</name>
<value>yarn</value>
</property>

$ mkdir -p ~/mydata/hdfs/namenode
$ mkdir -p ~/mydata/hdfs/datanode
$ vim hdfs-site.xml
將下面的內容復制到 <configuration> 標簽內
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hser/mydata/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hser/mydata/hdfs/datanode</value>
</property>

格式化 namenode
第一次啟動hadoop服務之前,必須執行格式化namenode
$ hdfs namenode -format
啟動服務
$ start-dfs.sh && start-yarn.sh
使用jps查看服務
$ jps
如果一切順利,你會看到:
17785 SecondaryNameNode
17436 NameNode
17591 DataNode
18096 NodeManager
17952 ResourceManager
23635 Jps
當執行start-dfs.sh的時候,你可能會看到 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable ,不用擔心,其實可以正常使用,我們會在trouble shooting那一節談到這個問題。

測試並運行示例
$ cd /usr/local/hadoop
$ hadoop jar ./share/hadoop/maprece/hadoop-maprece-client-jobclient-2.2.0-tests.jar TestDFSIO -write -nrFiles 20 -fileSize 10
$ hadoop jar ./share/hadoop/maprece/hadoop-maprece-client-jobclient-2.2.0-tests.jar TestDFSIO -clean
$ hadoop jar ./share/hadoop/maprece/hadoop-maprece-examples-2.2.0.jar pi 2 5

網頁界面
Cluster status: http://localhost:8088
HDFS status: http://localhost:50070
Secondary NameNode status: http://localhost:50090

Trouble-shooting
1. Unable to load native-hadoop library for your platform.
這是一個警告,基本不會影響hadoop的使用,但是在之後我們還是給予解決這個warning的方法。通常來講,出現這個warning的原因是你在64位的系統上,但是hadoop的package是為32位的機器編譯的。在這種情況下,確認你不要忘記在hadoop-env.sh中加入這幾行:
export HADOOP_COMMON_LIB_NATIVE_DIR="/usr/local/hadoop/lib/native/"
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=/usr/local/hadoop/lib/"
否則你的hadoop不能正常工作。如果你用的系統和hadoop的package相符(32位),這兩行是不必要的。
我們不希望有warning,如何解決?方法是自己重新編譯源代碼。重新編譯其實很簡單:
安裝 maven
$ sudo apt-get install maven
安裝 protobuf-2.5.0 or later
$ curl -# -O https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz
$ tar -xzvf protobuf-2.5.0.tar.gz
$ cd protobuf-2.5.0
$ ./configure --prefix=/usr
$ make
$ sudo make install
$ cd ..
現在並編譯hadoop源代碼,注意編譯之前需要先給源代碼打個補丁
$ wget http://www.eu.apache.org/dist/hadoop/common/stable/hadoop-2.2.0-src.tar.gz
$ tar -xzvf hadoop-2.2.0-src.tar.gz
$ cd hadoop-2.2.0-src
$ wget https://issues.apache.org/jira/secure/attachment/12614482/HADOOP-10110.patch
$ patch -p0 < HADOOP-10110.patch
$ mvn package -Pdist,native -DskipTests -Dtar
現在到 hadoop-dist/target/ 目錄下, 你會看到 hadoop-2.2.0.tar.gz or hadoop-2.2.0, 他們就是編譯後的hadoop包。 你可以使用自己編譯的包,同樣按照之前的步驟安裝64位的hadoop。如果你已經安裝了32位的hadoop,只需要替換 /usr/local/hadoop/lib/native 目錄,然後將如下兩行從hadoop-env.sh中移除即可:
export HADOOP_COMMON_LIB_NATIVE_DIR="/usr/local/hadoop/lib/native/"
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=/usr/local/hadoop/lib/"

2. datanode 不能被啟動
一個常用的方法是先刪掉datanode對應的文件夾試試,注意這樣做可能會丟失你的數據。另一種方法是到 /usr/local/hadoop/logs/hadoop-hser-datanode-*.log 中檢查原因並對症下葯。

『柒』 ubuntu怎麼配置單機hadoop

ubuntu配置單機hadoop的步驟:
1、創建hadoop用戶組

2、創建hadoop用戶
sudo adser -ingroup hadoop hadoop
回車後會提示輸入新的UNIX密碼,這是新建用戶hadoop的密碼,輸入回車即可。
如果不輸入密碼,回車後會重新提示輸入密碼,即密碼不能為空。
最後確認信息是否正確,如果沒問題,輸入 Y,回車即可。

3、為hadoop用戶添加許可權
輸入:sudo gedit /etc/sudoers
回車,打開sudoers文件
給hadoop用戶賦予和root用戶同樣的許可權

二、用新增加的hadoop用戶登錄Ubuntu系統

三、安裝ssh
sudo apt-get install openssh-server
安裝完成後,啟動服務
sudo /etc/init.d/ssh start
查看服務是否正確啟動:ps -e | grep ssh
設置免密碼登錄,生成私鑰和公鑰
ssh-keygen -t rsa -P ""
此時會在/home/hadoop/.ssh下生成兩個文件:id_rsa和id_rsa.pub,前者為私鑰,後者為公鑰。
下面我們將公鑰追加到authorized_keys中,它用戶保存所有允許以當前用戶身份登錄到ssh客戶端用戶的公鑰內容。
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
登錄ssh
退出
exit

四、安裝Java環境
sudo apt-get install openjdk-7-jdk
查看安裝結果,輸入命令:java -version,結果如下表示安裝成功。

五、安裝hadoop2.4.0
1、官網下載
2、安裝
解壓
sudo tar xzf hadoop-2.4.0.tar.gz
假如我們要把hadoop安裝到/usr/local下
拷貝到/usr/local/下,文件夾為hadoop
sudo mv hadoop-2.4.0 /usr/local/hadoop
賦予用戶對該文件夾的讀寫許可權
sudo chmod 774 /usr/local/hadoop

3、配置
1)配置~/.bashrc
配置該文件前需要知道Java的安裝路徑,用來設置JAVA_HOME環境變數,可以使用下面命令行查看安裝路徑
update-alternatives - -config java
完整的路徑為
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
我們只取前面的部分 /usr/lib/jvm/java-7-openjdk-amd64
配置.bashrc文件
sudo gedit ~/.bashrc

該命令會打開該文件的編輯窗口,在文件末尾追加下面內容,然後保存,關閉編輯窗口。
#HADOOP VARIABLES START
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
#HADOOP VARIABLES END

執行下面命,使添加的環境變數生效:
source ~/.bashrc
2)編輯/usr/local/hadoop/etc/hadoop/hadoop-env.sh
執行下面命令,打開該文件的編輯窗口
sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh
找到JAVA_HOME變數,修改此變數如下
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
修改後的hadoop-env.sh文件如下所示:

六、WordCount測試

單機模式安裝完成,下面通過執行hadoop自帶實例WordCount驗證是否安裝成功
/usr/local/hadoop路徑下創建input文件夾
mkdir input
拷貝README.txt到input
cp README.txt input
執行WordCount
bin/hadoop jar share/hadoop/maprece/sources/hadoop-maprece-examples-2.4.0-sources.jar org.apache.hadoop.examples.WordCount input output
執行結果:
執行 cat output/*,查看字元統計結果

『捌』 如何在ubuntu16.10上搭建hadoop

hadoop是使用Java開發的一個大數據平台,自然少不了Java運行環境的安裝了,當然使用hadoop不一定需要java語言,hadoop的開發支持很多種語言。

熱點內容
全款未解壓是咋回事 發布:2022-09-27 15:04:33 瀏覽:421
我的世界電腦啟動器基岩版伺服器 發布:2022-09-27 15:04:29 瀏覽:608
流感C語言 發布:2022-09-27 15:03:15 瀏覽:863
電信寬頻在哪裡改密碼 發布:2022-09-27 15:02:06 瀏覽:900
linux禁止root 發布:2022-09-27 15:01:59 瀏覽:52
如何更改文件夾許可權 發布:2022-09-27 14:57:33 瀏覽:28
創建資料庫sql 發布:2022-09-27 14:57:25 瀏覽:350
清oracle緩存 發布:2022-09-27 14:54:41 瀏覽:460
移動loid密碼是多少 發布:2022-09-27 14:53:16 瀏覽:232
oracle資料庫原理 發布:2022-09-27 14:53:09 瀏覽:244