hadoop分布式配置文件

配置文件在hadoop文件夹下 /etc/hadoop

1.配置hadoop-env.sh:

export JAVA_HOME=/usr/lib/jvm/jdk1.8.201

2.配置core-site.xml文件:

<!-- 指定hadoop所使用的文件系统schema(URL),HDFS的老大(NameNode)的地址 -->

<property>

<name>fs.defaultFS</name>

<value>hdfs://master1:9000</value>

</property>

<!-- 指定hadoop运行时产生的文件存储目录 -->

<property>

<name>hadoop.tmp.dir</name>

<value>/usr/local/hadoop/tmp</value>

</property>

3.配置hdfs-site.xml文件:

 <!-- 指定HDFS副本数量 -->

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>master2:50090</value>

</property>

4.mapred-site.xml:

<!-- 指定mr运行时框架,这里指定在yarn上,默认是local -->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

 

5.yarn-site.xml

<!-- 指定yarn的老大(ResourceManager)的地址 -->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>master1</value>

</property>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

 

6.slaves文件 ,里面添加节点主机名字:

master1

master2

masters

7.配置环境变量/etc/profile:

export HADOOP_HOME=/usr/local/hadoop

export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop

export YARN_HOME=/usr/local/hadoop

export YARN_CONF_DIR=${YARN_HOME}/etc/hadoop

下面是配置HA的配置文件:

修改yarn-site.xml
<configuration>
<!-- 开启RM高可用 -->  
<property>   
 <name>yarn.resourcemanager.ha.enabled</name>    
<value>true</value>  
</property>  
<!-- 指定RM的cluster id -->  
<property>    
<name>yarn.resourcemanager.cluster-id</name>    
<value>cluster_id</value>  
</property>  
<!-- 指定RM的名字 -->  
<property>    
<name>yarn.resourcemanager.ha.rm-ids</name>    
<value>rm1,rm2</value>  
</property>  
<!-- 分别指定RM的地址 -->  
<property>    
<name>yarn.resourcemanager.hostname.rm1</name>    
<value>master</value>  
</property>  
<property>    
<name>yarn.resourcemanager.hostname.rm2</name>    
<value>master2</value>  
</property>  
<property>  
<name>yarn.resourcemanager.webapp.address.rm1</name>  
<value>master:8088</value>  
</property>  
<property>  
<name>yarn.resourcemanager.webapp.address.rm2</name>  
<value>master2:8088</value>  
</property>  
<!-- 指定zk集群地址 -->  
<property>    
<name>yarn.resourcemanager.zk-address</name>    
<value>master:2181,master2:2181,slaves:2181</value>  
</property>  
<property>    
<name>yarn.nodemanager.aux-services</name>    
<value>mapreduce_shuffle</value>  
</property>
</configuration>                                   
                   
 修改mapred-site.xml
<configuration> 
<!-- 指定mr框架为yarn方式 --> 
<property>  
<name>mapreduce.framework.name</name>  
<value>yarn</value> 
</property>
</configuration>
修改hdfs-site.xml
<configuration> 
<!--指定hdfs的nameservice为ns1,需要和core-site.xml中的保持一致 --> 
<property>  
<name>dfs.nameservices</name>  
<value>ns1</value> 
</property> 
<!-- ns1下面有两个NameNode,分别是nn1,nn2 --> 
<property>  
<name>dfs.ha.namenodes.ns1</name>  
<value>nn1,nn2</value> 
</property> 
<!-- nn1的RPC通信地址 --> 
<property>  
<name>dfs.namenode.rpc-address.ns1.nn1</name>  
<value>master:9000</value> 
</property> 
<!-- nn1的http通信地址 --> 
<property>  
<name>dfs.namenode.http-address.ns1.nn1</name>  
<value>master:50070</value> 
</property> 
<!-- nn2的RPC通信地址 --> 
<property>  
<name>dfs.namenode.rpc-address.ns1.nn2</name>  
<value>master2:9000</value> 
</property> 
<!-- nn2的http通信地址 --> 
<property>  
<name>dfs.namenode.http-address.ns1.nn2</name>  
<value>master2:50070</value> 
</property> 
<!-- 指定NameNode的元数据在JournalNode上的存放位置 --> 
<property>  
<name>dfs.namenode.shared.edits.dir</name>  
<value>qjournal://master:8485;master2:8485;slaves:8485/ns1</value> 
</property> 
<!-- 指定JournalNode在本地磁盘存放数据的位置 --> 
<property>  
<name>dfs.journalnode.edits.dir</name>  
<value>/usr/local/hadoop/tmp</value> 
</property> 
<!-- 开启NameNode失败自动切换 --> 
<property>  
<name>dfs.ha.automatic-failover.enabled</name>  
<value>true</value> 
</property> 
<!-- 配置失败自动切换实现方式 --> 
<property>  
<name>dfs.client.failover.proxy.provider.ns1</name>  
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> 
</property> 
<!-- 配置隔离机制方法,多个机制用换行分割,即每个机制暂用一行--> 
<property>  
<name>dfs.ha.fencing.methods</name>  
<value>sshfence
     shell(/bin/true)
</value>  
</property> 
<!-- 使用sshfence隔离机制时需要ssh免登陆 --> 
<property>  
<name>dfs.ha.fencing.ssh.private-key-files</name>  
<value>/root/.ssh/id_rsa</value> 
</property> 
<!-- 配置sshfence隔离机制超时时间 --> 
<property>  
<name>dfs.ha.fencing.ssh.connect-timeout</name>  
<value>30000</value> 
</property>
</configuration>
修改core-site.xml<configuration> 
<!-- 指定hdfs的nameservice为ns1 --> 
<property>  
<name>fs.defaultFS</name>  
<value>hdfs://ns1/</value> 
</property> 
<!-- 指定hadoop临时目录 --> 
<property>  
<name>hadoop.tmp.dir</name>  
<value>/usr/local/hadoop/tmp</value> 
</property>  
<!-- 指定zookeeper地址 --> 
<property>  
<name>ha.zookeeper.quorum</name>  
<value>master:2181,master2:2181,slaves:2181</value> 
</property>
</configuration>
posted @ 2019-10-22 09:00  漫步花海下的oldman  阅读(375)  评论(0编辑  收藏  举报