Hadoop集群安裝(真分布式)

Hadoop真分布式完全集群安裝,基于版本2.7.2安裝,
在兩臺Linux機器上面分別安裝Hadoop的master和slave節(jié)點。

1.安裝說明

不管NameNode還是DataNode節(jié)點,安裝的用戶名需要一致。
master和slave的區(qū)別,只是在于配置的hostname,
在config的slaves配置的hostname所代表的機器即為slave,
不使用主機名也可以,直接配置為IP即可。
在這種集群下面,需要在master節(jié)點創(chuàng)建namenode路徑,
并且使用格式化命令hdfs namenode –format。
然后在slave節(jié)點創(chuàng)建datanode路徑,注意目錄的權(quán)限。

2.配置hosts

如果已經(jīng)存在則不需要,每臺機器進行相同的操作
10.43.156.193 zdh193 ywmaster/fish master
10.43.156.194 zdh194 ywmaster/fish slave

3.創(chuàng)建用戶

集群上面的用戶名必須都是一樣的,否則無法影響Hadoop集群啟動,
在每臺機器里面添加相同的用戶,參考如下命令:
useradd ywmaster

4.安裝JDK

此處安裝的是jdk1.7

scp yuwen@10.43.156.193:/home/yuwen/backup/jdk-7u80-linux-x64.tar.gz .
zdh123
tar -zxvf jdk-7u80-linux-x64.tar.gz 
vi .bash_profile 
export JAVA_HOME=~/jdk1.7.0_80
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
source .bash_profile 

驗證jdk
java -version

5.設(shè)置集群免密登陸

5.1.設(shè)置本地免密登陸

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

必須修改權(quán)限,否則無法免秘登陸
chmod 600 ~/.ssh/authorized_keys
驗證免密登陸
ssh localhost

5.2.設(shè)置遠程免密登陸

需要把本機的公鑰放到對方的機器authorized_keys,才能免密登陸其他機器。
進入ywmaster的.ssh目錄

scp ~/.ssh/authorized_keys ywmaster@10.43.156.194:~/.ssh/authorized_keys_from_zdh193

進入ywslave的.ssh目錄,注意備份,否則下面步驟存在重復的ywmaster公鑰。
cat authorized_keys_from_zdh193 >> authorized_keys
ssh zdh194

5.3.設(shè)置其他機器免密登陸

參考上面的步驟同理設(shè)置其他機器,配置后zdh193可以免密登陸。

scp ~/.ssh/authorized_keys ywmaster@10.43.156.193:~/.ssh/authorized_keys_from_zdh194

6.安裝Hadoop

上傳并解壓hadoop文件

scp pub@10.43.156.193:/home/pub/hadoop/source/hadoop-2.7.2-src/hadoop-dist/target/hadoop-2.7.2.tar.gz .
zdh1234
tar -zxvf hadoop-2.7.2.tar.gz

7.配置環(huán)境變量

export HADOOP_HOME=~/hadoop-2.7.2
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop 

配置別名,可以快速訪問配置路徑
alias conf='cd /home/ywmaster/hadoop-2.7.2/etc/hadoop'

8.檢查和修改Hadoop配置文件

8.1 hadoop-env.sh

涉及環(huán)境變量:JAVA_HOME,HADOOP_HOME,HADOOP_CONF_DIR

8.2 yarn-env.sh

涉及環(huán)境變量:JAVA_HOME,HADOOP_YARN_USER,HADOOP_YARN_HOME, YARN_CONF_DIR

8.3 slaves

這個文件里面保存所有slave節(jié)點,注釋掉localhost,新增zdh194作為slave節(jié)點。

8.4 core-site.xml

<name>fs.defaultFS</name>
<value>hdfs://10.43.156.193:29080</value>

<name>fs.default.name</name>
<value>hdfs://10.43.156.193:29080</value>
  
<name>io.file.buffer.size</name>
<value>131072</value>

<name>hadoop.tmp.dir</name>
<value>file:/home/ywmaster/tmp</value>

8.5 hdfs-site.xml

<name>dfs.namenode.rpc-address</name>
<value>10.43.156.193:29080</value>

<name>dfs.namenode.http-address</name>
<value>10.43.156.193:20070</value>
  
<name>dfs.namenode.secondary.http-address</name>
<value>10.43.156.193:29001</value>

<name>dfs.namenode.name.dir</name>
<value>file:/home/ywmaster/dfs/name</value>

<name>dfs.datanode.data.dir</name>
<value>file:/home/ywmaster/dfs/data</value>

<name>dfs.replication</name>
<value>1</value>

<name>dfs.webhdfs.enabled</name>
<value>true</value>

8.6 mapred-site.xml

<name>mapreduce.framework.name</name>
<value>yarn</value>

<name>mapreduce.shuffle.port</name>
<value>23562</value>
  
<name>mapreduce.jobhistory.address</name>
<value>10.43.156.193:20020</value>

<name>mapreduce.jobhistory.webapp.address</name>
<value>10.43.156.193:29888</value>

8.7:yarn-site.xml

<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
                                                            
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>  TODODELETE
<value>org.apache.hadoop.mapred.ShuffleHandler</value>

#mapreduce.shuffle已經(jīng)過時,改為mapreduce_shuffle
<name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>

<name>yarn.resourcemanager.address</name>
<value>10.43.156.193:28032</value>

<name>yarn.resourcemanager.scheduler.address</name>
<value>10.43.156.193:28030</value>

<name>yarn.resourcemanager.resource-tracker.address</name>
<value>10.43.156.193:28031</value>

<name>yarn.resourcemanager.admin.address</name>
<value>10.43.156.193:28033</value>

<name>yarn.resourcemanager.webapp.address</name>
<value>10.43.156.193:28088</value>

8.8 獲取Hadoop的默認配置文件

選擇相應版本的hadoop,下載解壓后,搜索*.xml,
找到core-default.xml,hdfs-default.xml,mapred-default.xml,
這些就是默認配置,可以參考這些配置的描述說明,
在這些默認配置上進行修改,配置自己的Hadoop集群。

find . -name *-default.xml
./hadoop-2.7.1/share/doc/hadoop/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml
./hadoop-2.7.1/share/doc/hadoop/hadoop-project-dist/hadoop-common/core-default.xml
./hadoop-2.7.1/share/doc/hadoop/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml
./hadoop-2.7.1/share/doc/hadoop/hadoop-yarn/hadoop-yarn-common/yarn-default.xml
./hadoop-2.7.1/share/hadoop/httpfs/tomcat/webapps/webhdfs/WEB-INF/classes/httpfs-default.xml

9.把配置好的Hadoop復制到其他節(jié)點

scp -r ~/hadoop-2.7.2 ywmaster@10.43.156.194:~/
或者只拷貝配置文件,可以提高拷貝效率:
scp -r ~/hadoop-2.7.2/etc/hadoop ywmaster@10.43.156.194:~/hadoop-2.7.2/etc

創(chuàng)建好name和data數(shù)據(jù)目錄

mkdir -p ./dfs/name
mkdir -p ./dfs/data

10.啟動驗證Hadoop

格式化namenode:
hdfs namenode -format
出現(xiàn)如下結(jié)果則表示成功:
16/09/13 23:57:16 INFO common.Storage: Storage directory /home/ywmaster/dfs/name has been successfully formatted.

啟動hdfs
start-dfs.sh
啟動yarn:
start-yarn.sh

注意修改了配置之后一定要重新復制到其他節(jié)點,否則啟動會有問題。

11.檢查啟動結(jié)果

NameNode下執(zhí)行jps應該包含如下進程:

15951 ResourceManager
13294 SecondaryNameNode
12531 NameNode
16228 Jps

DataNode下執(zhí)行jps應該包含如下進程:

3713 NodeManager
1329 DataNode
3907 Jps

查看HDFS服務(wù):
http://10.43.156.193:20070
查看SecondaryNameNode:
http://10.43.156.193:29001/
具體IP和Port參考hdfs-site.xml:

<name>dfs.namenode.http-address</name>
<description> The address and the base port where the dfs namenode web ui will listen on.</description>

查看RM:
http://10.43.156.193:28088
具體IP和Port參考yarn-site.xml:

<name>yarn.resourcemanager.webapp.address</name>
<value>10.43.156.193:28088</value>

12.其他參考

停止命令:
stop-yarn.sh
stop-dfs.sh
執(zhí)行命令驗證:
hadoop fs -ls /usr
hadoop fs -mkdir usr/yuwen
hadoop fs -copyFromLocal wordcount /user
hadoop fs -rm -r /user/wordresult
hadoop jar ~/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/wordcount.txt /user/wordresult_001
hadoop fs -text /user/wordresult_001/part-r-00000

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容