本地搭建hadoop叢集--hadoop叢集部署
我的機器
master |
slave1 | salve2 | slave3 |
namenode | datanode | datanode | datanode |
nodemanager | nodemanager | nodemanager | |
resourcemanager | secondarynamenode |
echo $JAVA_HOME
複製路徑
cd etc/hadoop/
(1)core-site.xml
vi core-site.xml
<!-- 指定 HDFS 中 NameNode 的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<!-- 指定 hadoop 執行時產生檔案的儲存目錄 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.6/data/tmp</value>
</property>
(2)Hdfs
hadoop-env.sh
vi hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave3:50090</value>
</property></configuration>
slaves
vi slaves
slave1
slave2
slave3
(3)yarn
yarn-env.sh
vi yarn-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
yarn-site.xml
vi 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>slave2</value>
</property>
</configuration>
(4)mapreduce
mapred-env.sh
vi mapred-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
mapred-site.xml
vi mapred-site.xml
<configuration>
<!-- 指定 mr 執行在 yarn 上 -->
<property>
<name>mapreduce.framework.name</name><value>yarn</value>
</property>
</configuration>
用指令碼分發叢集
1)啟動叢集
(0)如果叢集是第一次啟動,需要格式化 namenode
hdfs namenode -format
(1)啟動 HDFS:
在hadoop目錄 sbin/start-dfs.sh
(2)啟動 yarn
在 slave2上 啟動 yarn ,之前配置記得resourcemanager 配置在哪一臺機器上
hadoop目錄 sbin/start-yarn.sh