Linux下配置集羣node
(集羣的機子必須都關閉防火牆,不然互相不能順暢訪問!!以至諸多錯誤!!)web
首先需有jdk,且可運行,即有jdk環境變量
建議用個人目錄/opt/app/hadoop-2.7.2
-----------------------------------------------------------------------------------------------------------------------vim
安裝hadoop:app
1、將hadoop包解壓到/opt/app:tar 包名 -C /opt/app
2、添加hadoop的全局變量: vim /etc/profile
添加: export HADOOP_HOME=/opt/app/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
3、刷新變量配置:source /etc/profilewebapp
-------------------------------------到此已配好hadoop----------------------------------------------------------------------oop
配置集羣:(初始的本地模式、僞分佈模式、徹底分佈模式)spa
僞分佈模式(僞分佈是一臺機子承擔所有角色):
一、hdfs:
①配置文件(etc/hadoop):
Ⅰ、hadoop-env.sh 添加:export JAVA_HOME=/opt/app/jdk1.8.0_131
Ⅱ、core-site.xml 在<configuration>下面添加:
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop11:9000</value>
</property>
<!-- 指定hadoop運行時產生文件的存儲目錄 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/app/hadoop-2.7.2/data/tmp</value>
</property>
Ⅲ、hdfs-site.xml 在<configuration>下面添加:
<!-- 指定HDFS副本的數量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>orm
②啓動集羣:(a)格式化namenode(第一次啓動時格式化,之後就不要總格式化):
bin/hdfs namenode -format
(b)啓動namenode:sbin/hadoop-daemon.sh start namenode
(c)啓動datanode:sbin/hadoop-daemon.sh start datanode
二、yarn :
①配置文件:
Ⅳ、yarn-env.sh 添加:export JAVA_HOME=/opt/app/jdk1.8.0_131
Ⅴ、yarn-site.xml 在<configuration>下面添加:
<!-- reducer獲取數據的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop11</value>
</property>xml
Ⅵ、mapred-env.sh 在<configuration>下面添加:export JAVA_HOME=/opt/app/jdk1.8.0_131
Ⅶ、mapred-site.xml(對mapred-site.xml.template從新命名) 在<configuration>下面添加:
<!-- 指定mr運行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop11:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop11:19888</value>
</property>進程
②啓動yarn: (a)啓動ResourceManager:sbin/yarn-daemon.sh start resourcemanager
(b)啓動NodeManager:sbin/yarn-daemon.sh start nodemanager
------------------------------------------------------------------------------------------------------------------------------------
徹底分佈模式(僞分佈集羣,分配角色)
準備至少三臺配好jdk的機子
將配置文件修改,分配角色 :
hadoop11 | hadoop12 | hadoop13 | hadoop14 | |
hdfs | NameNode DataNode |
DataNode |
SecondaryNameNode DataNode |
DataNode |
yarn |
NodeManager |
ResourceManager NodeManager |
NodeManager |
NodeManager |
①配置文件(etc/hadoop):
Ⅰ、hadoop-env.sh 添加:export JAVA_HOME=/opt/app/jdk1.8.0_131
Ⅱ、core-site.xml 在<configuration>下面添加:
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop11:9000</value>
</property>
<!-- 指定hadoop運行時產生文件的存儲目錄 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
Ⅲ、hdfs-site.xml 在<configuration>下面添加:
<!-- 指定HDFS副本的數量 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop13:50090</value>
</property>
Ⅳ、yarn-env.sh 添加:export JAVA_HOME=/opt/app/jdk1.8.0_131
Ⅴ、yarn-site.xml 在<configuration>下面添加:
<!-- reducer獲取數據的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop12</value>
</property>
Ⅵ、mapred-env.sh 在<configuration>下面添加:export JAVA_HOME=/opt/app/jdk1.8.0_131
Ⅶ、mapred-site.xml(對mapred-site.xml.template從新命名) 在<configuration>下面添加:
<!-- 指定mr運行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop11:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop11:19888</value>
</property>
Ⅷ、slaves 將local刪掉,添加:
hadoop11
hadoop12
hadoop13
hadoop14
②分發hadoop:無密碼通信下
scp /opt/app/hadoop-2.7.2 root@hadoop12
scp /opt/app/hadoop-2.7.2 root@hadoop13
scp /opt/app/hadoop-2.7.2 root@hadoop14
③啓動集羣:(a)在主節點hadoop11上格式化NameNode(集羣成功後無需再格式化):
bin/hdfs namenode -format
(b)在主節點hadoop11上啓動dfs:sbin/start-dfs.sh
(c)在resourcemanager機子上啓動yarn():sbin/start-yarn.sh
說明:Namenode和ResourceManger若是不是同一臺機器,不能在NameNode上啓
動 yarn,應該在ResouceManager所在的機器上啓動yarn
查看進程: jps 中止進程:(a)中止dfs:sbin/stop-dfs.sh (b)中止yarn:sbin/stop-yarn.sh