hadoop安裝路徑:/usr/local/src
集羣的三臺linux主機(主機配置是本博客的所使用的)
master:192.168.139.10
slave1:192.168.139.11
slave2:192.168.139.12
首先,安裝包可以本地下載好,通過與linux共享文件 ,將其拷貝到linux主機內,或者通過 Xftp 6 工具,將其傳送到linux主機內,總之方法多種多樣,最後,需要在master主機下的/usr/local/src路徑下含有hadoop-1.2.1-bin.tar.gz這個這個壓縮包
第一步:解壓縮
tar -xzvf hadoop-1.2.1-bin.tar.gz
完成後,在/usr/local/src路徑下ls,查看當前路徑下文件,會發現多了一個hadoop-1.2.1 文件
第二步:在hadoop內建立臨時tmp文件夾
#進入hadoop文件內
cd hadoop-1.2.1
#創建tmp臨時文件夾
mkdir tmp
第三步:修改配置文件
# 需要對以下的tmp路徑,主機的ip,以及java文件的路徑,根據自己配置的主機的要求,進行相應的修改
#添加masters 和slaves文件
#在master內寫入master主機名
vim masters
master
#在slaves內寫入slave主機名
vim slaves
slave1
slave2
#修改 vim core-site.xml 文件
vim core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/src/hadoop-1.2.1/tmp/</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.139.10:9000</value>
</property>
</configuration>
#修改 vim mapred-site.xml 文件
vim mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>http://192.168.139.10:9001</value>
</property>
</configuration>
#修改vim hdfs-site.xml文件
vim hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
#修改 vim hadoop-env.sh
vim hadoop-env.sh
export JAVA_HOME=/usr/local/src/jdk1.6.0_45
第四步:將master中文件包拷貝到slave1和slave2中
#將hadoop文件拷貝到slave1主機內
scp -r /usr/local/src/hadoop-1.2.1 root@slave1:/usr/local/src/hadoop-1.2.1
#將hadoop文件拷貝到slave2主機內
scp -r /usr/local/src/hadoop-1.2.1 root@slave2:/usr/local/src/hadoop-1.2.1
第五步:ssh互通
進入 /root/.ssh目錄下
cd /root/.ssh
--生成密鑰(公鑰和私鑰)
ssh-keygen -t rsa
--查看目錄下文件
ls
id_rsa.pub:公鑰,authorized_keys:私鑰
由於之前已經進行過密鑰生成,所以在寫博客是,沒有進行ssh-keygen -t rsa 密鑰生成這一步。
將公鑰key追加到私鑰中,則進行ssh連接時,不需要再進行輸入密碼
cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys
(以上生成key,以及追加key從公鑰到私鑰的過程,三臺機子都需要執行)
然後需要對master和slave1、slave2直接互相追加key,讓三臺機子在連接時都可以直接連接
#相互追加Key
#Master主機內的追加Key
ssh slave1 cat /root/.ssh/authorized_keys >> /root/.ssh/authorized_keys
ssh slave2 cat /root/.ssh/authorized_keys >> /root/.ssh/authorized_keys
#Slave1主機內的追加Key
ssh master cat /root/.ssh/authorized_keys > /root/.ssh/authorized_keys
#Slave2主機內的追加Key
ssh master cat /root/.ssh/authorized_keys > /root/.ssh/authorized_keys
測試ssh互通是否成功:
在maste主機內進行
對slave1進行ssh連接測試
ssh slave1
對slave2進行ssh連接測試
ssh slave2
第六步:啓動hadoop集羣
--啓動集羣
# 進入hadoop的執行目錄下
cd /usr/local/src/hadoop-1.2.1/bin
#初始化NameNode
./hadoop namenode -format
#啓動Hadoop集羣
./start-all.sh
--查看各主機內狀態
jps
15.關閉集羣
./stop-all.sh
master啓動hadoop集羣
查看master內的集羣狀態
查看slave1中的集羣狀態
查看slave2中的集羣狀態
在master主機中關閉hadoop集羣
hadoop1安裝成功
以上就是hadoop在linux中的安裝
----------------------------------------------------------------------------------
以下是在初始化NameNode過程,出的錯誤信息以及解決方法
eg:初始化出錯:Warning: $HADOOP_HOME is deprecated.
所以我們一般在/etc/profile 文件最後加上 export HADOOP_HOME_WARN_SUPPRESS=1 ,
然後輸入命令【source /etc/profile】使其生效即可。
--------------------------------------------------------------------------------------