hadoop的安裝及其注意事項

安裝hadoop步驟:
一linux系統(tǒng)配置 兩臺主機都要配置 root用戶
1)配置時鐘同步
2)配置主機名
3)使用setup配置網絡環(huán)境(ip地址關閉防火墻)
4)關閉防火墻
5)配置hosts列表(用主機名代替ip 建立主機名與ip一一對應的關系)
6)安裝jdk(apache要用jdk hadoop基于apache)
7)免密鑰登陸(一臺服務器一個客戶端)
二 hadoop系統(tǒng)配置 普通用戶
1)hadoop安裝包解壓
2)配置環(huán)境變量haoop-env.sh
3)配置環(huán)境變量yarn-env.sh(資源調度)
4)配置核心組件core-site.xml
5)配置文件系統(tǒng)hdfs-site.xml
6)配置文件系統(tǒng)yarn-site.xml
7)配置計算框架mapred-site.xml
8)在master節(jié)點配置slaves文件
9)復制到從節(jié)點
三啟動hadoop集群
配置hadoop啟動的環(huán)境變量
創(chuàng)建數(shù)據(jù)目錄
啟動集群

具體實現(xiàn):
將完整軟件包“/home/zkpk/resources”下的 software 是相關的安裝軟件包,sogou-data 是數(shù)據(jù)包。
第一階段(master slave都需要配置 root用戶)
1)配置時鐘同步
1、配置自動時鐘同步
該項同時需要在 HadoopSlave 節(jié)點配置。
使用 Linux 命令配置
[root@master zkpk]$ crontab -e
該命令是 vi 編輯命令,按 i 進入插入模式,按 Esc,然后鍵入:wq 保存退出
鍵入下面的一行代碼,輸入 i,進入插入模式(星號之間和前后都有空格)
0 1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
2、手動同步時間
直接在 Terminal 運行下面的命令:
[root@master zkpk]$ /usr/sbin/ntpdate cn.pool.ntp.org
2)配置主機名
使用 gedit 編輯主機名,如果不可以使用 gedit,請直接使用 vi 編輯器(后面用到 gedit 的 地 方也同此處處理一致)
[root@master zkpk]$ gedit /etc/sysconfig/network
配置信息如下,如果已經存在則不修改,將 HadoopMaster 節(jié)點的主機名改為 master,即下面代 碼的第
2 行所示。
NETWORKING=yes #啟動網絡
HOSTNAME=master #主機名
確實修改生效命令:
[root@master zkpk]$ hostname master
檢測主機名是否修改成功命令如下,在操作之前需要關閉當前終端,重新打開一個終端:
[root@master zkpk]$ hostname
執(zhí)行完命令,會看到下圖的打印輸輸出:
2、HadoopSlave 節(jié)點(基本同上)
使用 gedit 編輯主機名:
[root@slave zkpk]$ gedit /etc/sysconfig/network
配置信息如下,如果已經存在則不修改,將 Hadoopslave 節(jié)點的主機名改為 slave,即下面代碼
3 使用 setup 命令配置網絡環(huán)境
該項也需要在 HadoopSlave 節(jié)點配置。
在終端中執(zhí)行下面的命令:
[zkpk@master ~]$ ifconfig
如果看到存在內網 IP、廣播地址、子網掩碼,說明該節(jié)點不需要配置網絡,
否則進行下面的步驟。
在終端中執(zhí)行下面命令:
[zkpk@master ~]$ setup
使用光標鍵移動選擇“Network configuration”,回車進入該項
使用光標鍵移動選擇 eth0,回車進入該項 輸入ip各項內容
重啟網絡服務
[root@master zkpk]$ /sbin/service network restart
檢查是否修改成功:
[zkpk@master ~]$ ifconfig
查看結果
4 關閉防火墻
該項也需要在 HadoopSlave 節(jié)點配置。
在終端中執(zhí)行下面命令:
[zkpk@master ~]$ setup
光標移動選擇“Firewall configuration”選項,回車進入選項
如果該項前面有“*”標,則按一下空格鍵關閉防火墻,如下圖所示,然后光標移動選擇“OK”保存
修改內容
選擇 OK
5 配置 hosts 列表
該項也需要在 HadoopSlave 節(jié)點配置。
需要在 root 用戶下(使用 su 命令)
,編輯主機名列表的命令:
[root@master zkpk]$ gedit /etc/hosts
將下面兩行添加到/etc/hosts 文件中:
192.168.1.100 master
192.168.1.101 slave
注意:這里 master 節(jié)點對應 IP 地址是 192.168.1.100,slave 對應的 IP 是 192.168.1.101,而自己在做配置時,需要將這兩個 IP 地址改為你的 master 和 slave 對應的 IP 地址。
查看 master 的 IP 地址使用下面的命令:
[zkpk@master ~]$ ifconfig
查看master 節(jié)點的 IP
slave 的 IP 地址也是這樣查看。
驗證是否配置成功的命令是:
[zkpk@master ~]$ ping master
[zkpk@master ~]$ ping slave
如果能夠ping通表示成功
6 安裝 JDK
該項也需要在 HadoopSlave 節(jié)點配置。
將 JDK 文件解壓,放到/usr/java 目錄下
[zkpk@master ~]$ cd /home/zkpk/resources/software/jdk
[zkpk@master jdk]$ mkdir /usr/java
[zkpk@master jdk]$ mv ~/resources/software/jdk/jdk-7u71-linux-x64.gz /usr/java/
[zkpk@master jdk]$ cd /usr/java
[zkpk@master java]$ tar -xvf /usr/java/jdk-7u71-linux-x64.gz
使用 gedit 配置環(huán)境變量
注意:JAVA_HOME等號左右不能出現(xiàn)空格
[zkpk@master java]$ gedit /home/zkpk/.bash_profile
復制粘貼以下內容添加到到上面 gedit 打開的文件中:
export JAVA_HOME=/usr/java/jdk1.7.0_71/
export PATH=$JAVA_HOME/bin:$PATH
使改動生效命令:
[zkpk@master java]$ source /home/zkpk/.bash_profile
測試配置:
[zkpk@master ~]$ java -version
如果出現(xiàn)java版本,表示 JDK 安裝成功
7)免密鑰登錄(注意兩個節(jié)點配置不同)
該部分所有的操作都要在 zkpk 用戶下,切換回 zkpk 的命令是:
su -zkpk
密碼是:zkpk
1、HadoopMaster 節(jié)點
在終端生成密鑰,命令如下(一路點擊回車生成密鑰)
[zkpk@master ~]$ ssh-keygen -t rsa
生成的密鑰在.ssh 目錄下 cd .ssh
復制公鑰文件
[zkpk@master .ssh]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
執(zhí)行 ls -l 命令后會看到文件存在
修改 authorized_keys 文件的權限,命令如下:
[zkpk@master .ssh]$ chmod 600 ~/.ssh/authorized_keys
修改完權限后,文件列表情況如下:
將 authorized_keys 文件復制到 slave 節(jié)點,命令如下:
[zkpk@master .ssh]$ scp ~/.ssh/authorized_keys zkpk@slave:~/
如果提示輸入 yes/no 的時候,輸入 yes,回車
密碼是:zkpk
2、HadoopSlave 節(jié)點
在終端生成密鑰,命令如下(一路點擊回車生成密鑰)
[zkpk@slave ~]$ ssh-keygen -t rsa
將 authorized_keys 文件移動到.ssh 目錄
[zkpk@slave ~]$ mv authorized_keys ~/.ssh/
修改 authorized_keys 文件的權限,命令如下:
[zkpk@slave ~]$ cd ~/.ssh
[zkpk@slave .ssh]$ chmod 600 authorized_keys
3、驗證免密鑰登陸
在 HadoopMaster 機器上執(zhí)行下面的命令:
[zkpk@master ~]$ ssh slave
如果不用密碼表示免密鑰配置成功

二 Hadoop 配置部署
每個節(jié)點上的 Hadoop 配置基本相同,在 HadoopMaster 節(jié)點操作,然后完成復制到另一個節(jié)點。
下面所有的操作都使用 zkpk 用戶,切換 zkpk 用戶的命令是:
[root@master zkpk]$ su - zkpk
密碼是:zkpk
將軟件包中的 Hadoop 生態(tài)系統(tǒng)包復制到相應 zkpk 用戶的主目錄下(直接拖拽方式即可拷貝
1 Hadoop 安裝包解壓
進入 Hadoop 軟件包,命令如下:
[zkpk@master ~]$ cd /home/zkpk/resources/software/hadoop/apache
復制并解壓 Hadoop 安裝包命令如下:
[zkpk@master apache]$ cp ~//resources/software/hadoop/apache/ hadoop-2.5.2.tar.gz ~/
[zkpk@master apache]$ cd
[zkpk@master ~]$ tar -xvf ~/hadoop-2.5.2.tar.gz
[zkpk@master ~]$ cd ~/hadoop-2.5.2
ls -l 可以看到bin etc include lib等表示解壓成功
2 配置環(huán)境變量 hadoop-env.sh
環(huán)境變量文件中,只需要配置 JDK 的路徑。
[zkpk@master hadoop-2.5.2]$ gedit /home/zkpk/hadoop-2.5.2/etc/hadoop/hadoop-env.sh
在文件的靠前的部分找到下面的一行代碼:
export JAVA_HOME=${JAVA_HOME}
將這行代碼修改為下面的代碼:
export JAVA_HOME=/usr/java/jdk1.7.0_71/
然后保存文件。
3 配置環(huán)境變量 yarn-env.sh yarn 資源調度的使用
環(huán)境變量文件中,只需要配置 JDK 的路徑。
[zkpk@master hadoop-2.5.2]$ gedit ~/hadoop-2.5.2/etc/hadoop/yarn-env.sh
在文件的靠前的部分找到下面的一行代碼:
# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
將這行代碼修改為下面的代碼(將#號去掉)
export JAVA_HOME=/usr/java/jdk1.7.0_71/
然后保存文件。
4 配置核心組件 core-site.xml
core-site.xml 核心組件配置hadoop最核心的位置
fs.defaultFS 命名空間(hdfs:)相當于windows中file://
value 路徑path
使用 gedit 編輯:
[zkpk@master hadoop-2.5.2]$ gedit ~/hadoop-2.5.2/etc/hadoop/core-site.xml
用下面的代碼替換 core-site.xml 中的內容:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/zkpk/hadoopdata</value>
</property>
</configuration>
5 配置文件系統(tǒng) hdfs-site.xml
hdfs-site.xml
文件系統(tǒng)相關的內容
hadoop默認副本為3 副本存在于不同的機器
即dfs.replication 的value 值為3
使用 gedit 編輯:
[zkpk@master hadoop-2.5.2]$ gedit ~/hadoop-2.5.2/etc/hadoop/hdfs-site.xml
用下面的代碼替換 hdfs-site.xml 中的內容:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
6 配置文件系統(tǒng) yarn-site.xml
yarn 調度命令,啟一些服務和端口
yarn.resourcemanager.address 一個管理者。
使用 gedit 編輯:
[zkpk@master hadoop-2.5.2]$ gedit ~/hadoop-2.5.2/etc/hadoop/yarn-site.xml
用下面的代碼替換 yarn-site.xml 中的內容:
<?xml version="1.0"?>
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:18040</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:18030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:18025</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:18141</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:18088</value>
</property>
</configuration>
7 配置計算框架 mapred-site.xml
復制 mapred-site-template.xml 文件:
[zkpk@masterhadoop-2.5.2]$
cp
~/hadoop-2.5.2/etc/hadoop/mapred-site.xml.template
~/hadoop-2.5.2/etc/hadoop/mapred-site.xml
使用 gedit 編輯:
[zkpk@master ~]$ gedit ~/hadoop-2.5.2/etc/hadoop/mapred-site.xml
用下面的代碼替換 mapred-site.xml 中的內容
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
8 在 master 節(jié)點配置 slaves 文件
使用 gedit 編輯:
[zkpk@master hadoop-2.5.2]$ gedit ~/hadoop-2.5.2/etc/hadoop/slaves
用下面的代碼替換 slaves 中的內容:
slave
9 復制到從節(jié)點
使用下面的命令將已經配置完成的 Hadoop 復制到從節(jié)點 HadoopSlave 上:
[zkpk@master hadoop-2.5.2]$ cd
[zkpk@master ~]$ scp -r hadoop-2.5.2 zkpk@slave:~/
注意:因為之前已經配置了免密鑰登錄,這里可以直接遠程復制

三 啟動集群

面所有的操作都使用 zkpk 用戶,切換 zkpk 用戶的命令是:
su - zkpk
密碼是:zkpk
1 配置 Hadoop 啟動的系統(tǒng)環(huán)境變量
該節(jié)的配置需要同時在兩個節(jié)點(HadoopMaster 和 HadoopSlave)上進行操作,操作命令如下:
[zkpk@master hadoop-2.5.2]$ cd
[zkpk@master ~]$ gedit ~/.bash_profile
將下面的代碼追加到.bash_profile 末尾:
#HADOOP
export HADOOP_HOME=/home/zkpk/hadoop-2.5.2
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
然后執(zhí)行命令:
[zkpk@master ~]$ source ~/.bash_profile
2
創(chuàng)建數(shù)據(jù)目錄
該節(jié)的配置需要同時在兩個節(jié)點(HadoopMaster 和 HadoopSlave)上進行操作。
在 zkpk 的用戶主目錄下,創(chuàng)建數(shù)據(jù)目錄,命令如下:
[zkpk@master ~]$ mkdir /home/zkpk/hadoopdata
3 啟動 Hadoop 集群
1、格式化文件系統(tǒng)(只能格式化一次)
格式化命令如下,該操作需要在 HadoopMaster 節(jié)點上執(zhí)行:
[zkpk@master ~]$ hdfs namenode -format
如果出現(xiàn) Exception/Error,則表示出問提
2、啟動 Hadoop
使用 start-all.sh 啟動 Hadoop 集群,首先進入 Hadoop 安裝主目錄,然后執(zhí)行啟動 命令:
[zkpk@master ~]$ cd ~/hadoop-2.5.2
[zkpk@master hadoop-2.5.2]$ sbin/start-all.sh
執(zhí)行命令后,提示出入 yes/no 時,輸入 yes。
3、查看進程是否啟動
在 HadoopMaster 的終端執(zhí)行 jps 命令,在打印結果中會看到 4 個進程,分別是 ResourceManager、Jps、NameNode 和 SecondaryNameNode。如果出現(xiàn)了這 4 個 進程表示主節(jié)點進程啟動成功。
在 HadoopSlave 的終端執(zhí)行 jps 命令,在打印結果中會看到 3 個進程,分別是 NodeManager、DataNode
和 Jps。如果出現(xiàn)了這 3 個進程表示從節(jié)點進程啟動成功。
4、Web UI 查看集群是否成功啟動
在 HadoopMaster 上啟動 Firefox 瀏覽器,在瀏覽器地址欄中輸入輸入 http://master:50070/,檢查namenode 和 datanode 是否正常
在 HadoopMaster 上啟動 Firefox 瀏覽器,在瀏覽器地址欄中輸入輸入 http://master:18088/,檢查Yarn 是否正常
5、運行 PI 實例檢查集群是否成功
進入 Hadoop 安裝主目錄,執(zhí)行下面的命令:
cd
[zkpk@master ~]$ cd ~/hadoop-2.5.2/share/hadoop/mapreduce/
[zkpk@master
mapreduce]$
hadoop
~/hadoop-2.5.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.1.jar pi 10 10
出現(xiàn)pi的值成功

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容