配置单节点伪分布式Hadoop
先寫的這一篇,很多東西沒再重復寫。
一.所需軟件
jdk和ubuntu都是32位的。
二.安裝JDK
1.建jdk文件夾
cd usr sudo mkdir javajdk2.移動mv或者復制cp安裝包
//進入桌面 cd home/hxsyl/DeskTop sudo mv /usr/javajdk3.安裝
//切換到root下 //如果忘記密碼,先 sudo passwd //直接會讓你輸入新密碼,不需要輸入原來的密碼 //到jdk目錄下 ./jdk-6u30-linux-i586.bin //如果提示權限不足,先 chmod 777 jdk-6u30-linux-i586.bin3.配置環境變量
sudo gedit /etc/profile加入如下內容
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1)) # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...). #set java environment export JAVA_HOME=/usr/javajdk/jdk1.6.0_45 export JRE_HOME=/usr/local/java/jdk1.6.0_45/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH注意:為了以后集群工作的方便,這里建議每臺機器的java環境最好一致。一般更改/etc/profile文件后,需要重啟機器才能生效。這里介紹一種不用重啟使其生效的方法。
source /etc/profile這個我沒試過,我記得win下配置jdk的環境變量,不需要重啟吧.......通過
//根目錄下(已經知道在哪了),可以查看是否配置成功 java -version注:java -version時出錯:
The program 'java' can be found in the following packages:
* default-jre
* gcj-4.8-jre-headless
* openjdk-7-jre-headless
* gcj-4.6-jre-headless
* openjdk-6-jre-headless
Try: apt-get install <selected package>
意思是,系統可能自帶有java,且現在還是使用默認自帶的,未使用自行安裝的jdk,所以需要更改默認的jdk才OK!
sudo update-alternatives --install /usr/bin/java java /usr/javajdk/jdk1.6.0_30/bin/java 300 sudo update-alternatives --install /usr/bin/javac javac /usr/javajdk/jdk1.6.0_30/bin/javac 300 sudo update-alternatives --config java三.安裝Hadoop
1.先把Hadoop文件搞到usr/hadoop1.2.1file下,然后進入該文件并解壓。
sudo tar -zxvf hadoop-1.2.1.tar.gz //hxsyl是此時登陸的用戶 sudo chown -hR hxsyl /usr/hadoop1.2.1file2.配置環境變量
直接潔的別人圖,可以復制jdk的環境變量,然后結合這個圖,修改配置下就ok。
3.設置安全外殼協議
推薦安裝OpenSSH,Hadoop需要通過SSH來啟動Slave列表中各臺主機的守護進程,因此SSH是必需安裝的。雖然我們現在搭建的是一個偽分布式的平臺,但是Hadoop沒有區分開集群式和偽分布式,對于偽分布式,Hadoop會采用與集群相同的處理方式,即按次序啟動文件conf/slaves中記載的主機進程,只不過在偽分布式中Salve為localhost而已,所以對于偽分布式,SSH是必須的。
//配置過程(首先確保連接上網絡): //安裝SSH,在命令行輸入如下 sudo apt-get install openssh-server //配置可以免密碼登陸本機 //在命令行輸入(注意其中的ssh前面還有一個“.”不要遺漏) ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa (解釋一下上面這條命令,ssh-keygen 代表生成密鑰;-t 表示指定生成的密鑰類型;dsa 是dsa密鑰認證的意思;-P 用于提供密語(接著后面是兩個單引號,不要打錯);-f 表示指定生成密鑰文件) 這條命令完成后,會在當前文件夾下面的.ssh文件夾下創建id_dsa和id_dsa.pub兩個文件,這是SSH的一對私鑰和公鑰,把id_dsa.pub(公鑰)追加到授權的key中去,輸入如下命令: cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 說明:一般來說,安裝SSH時會自動在當前用戶下創建.ssh這個隱藏文件夾,一般不會直接看到,除非安裝好了以后,在命令行使用命令ls才會看到。 輸入ssh localhost,顯示登陸成功信息。四.配置hadoop偽分布式
1.現在進入到安裝Hadoop的文件夾,找到里面的conf文件夾,點擊進去;配置hadoop環境文件hadoop-env.sh;打開文件,找到某行有”# export JAVA_HOME = ...” 字樣的地方,去掉“#”,然后在等號后面填寫你自己的JDK路徑。
2.配置Hadoop的核心文件core-site.xml,打開文件,會發現標簽<configuration></configuration>中是空的,在空的地方添加如下配置
<property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/hxsyl/tmp</value> </property>注意:在最后一個value值中,上面是hxsyl,是因為那是我的用戶名,所以你需要將那個修改為你自己的用戶名。
3.配置Hadoop中MapReduce的配置文件mapred-site.xml,打開文件,會發現標簽<configuration></configuration>中是空的,在空的地方添加如下配置
<property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property>4.配置Hadoop中hdfs-site.xml的配置文件,同樣的在標簽<configuration></configuration>中加入一下代碼
<property> <name>dfs.name.dir</name> <value>/usr/hadoop1.2.1file/hadoop-1.2.1/datalog1,/usr/local/hadoop/hadoop-1.2.1/datalog2</value> </property> <property> <name>dfs.data.dir</name> <value>/usr/hadoop1.2.1file/hadoop-1.2.1/data1,/usr/local/hadoop/hadoop-1.2.1/data2</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property>注意:若是直接打開修改后無法保存,那么就
sudo gedit ...................五.格式化HDFS并啟動Hadoop
1.首次運行hadoop必須進行格式化Hadoop文件系統,以后運行即可跳過。打開命令行,進入安裝了Hadoop的文件路徑下,然后在命令行輸入
bin/hadoop namenode -format //格式化文件系統,然后啟動Hadoop,在命令行里面輸入 bin/start-all.sh2.驗證是否正常啟動,在命令行里面輸入jps,然后回車。
jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一個顯示當前所有java進程pid的命令,簡單實用,非常適合在linux/unix平臺上簡單察看當前java進程的一些簡單情況。
關閉hadoop
bin/stop-all.sh3.運行自帶WordCount在上一篇博文中有詳細說明。
參考文獻:http://www.cnblogs.com/yangxiao99/p/4574889.html
總結
以上是生活随笔為你收集整理的配置单节点伪分布式Hadoop的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: canal中mysql版本错误日志
- 下一篇: U3D的飞船太空射击例子中,使用coro