1. 程式人生 > >本地搭建hadoop叢集--hadoop叢集部署

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