本地搭建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