Skip to main content

相关配置解释

配置文件的效果分析

大家可能好奇,配置了那么多东西,配置文件的内容分别会有什么效果呢?现在我们来分析下。

workers

首先是workers,这个是用来配置工作节点,用脚本批量启动的时候,起到简化启动操作的效果。

由于datanode和NodeManager在master1和master2和node1都有,那么就写成了

vi /home/bigdata/module/hadoop-3.2.3/etc/hadoop/workers

master1
master2
node1

core-site.xml

fs.defaultFS

  • 高可用的情况。

高可用的时候配置一个高可用的hdfs集群名称,这里配置的是bigdatacluster,那么在启动的时候,就会启动hdfs集群bigdatacluster。

    <property>
<!--指定 namenode 的 hdfs 协议文件系统的通信地址-->
<name>fs.defaultFS</name>
<!--指定hdfs高可用的集群名称-->
<value>hdfs://bigdatacluster</value>
</property>
  • 非高可用的时候。
<property>
<!--指定 namenode 的 hdfs 协议文件系统的通信地址-->
<name>fs.defaultFS</name>
<value>hdfs://hadoop102:8020</value>
</property>

hadoop.tmp.dir

 <property>
<!--指定 hadoop 集群存储临时文件的目录-->
<name>hadoop.tmp.dir</name>
<value>/datadrive</value>
</property>

作用会就是生成一些临时目录。

[bigdata@node1 datadrive]$ ll nm-local-dir/
total 0
drwxr-xr-x 2 bigdata bigdata 6 Oct 27 17:07 filecache
drwx------ 2 bigdata bigdata 6 Oct 28 09:46 nmPrivate
drwxr-xr-x 3 bigdata bigdata 21 Oct 27 17:24 usercache

hadoop.proxyuser

创建一个其他用户提交下试试效果

<property>
<name>hadoop.proxyuser.userA.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.userA.users</name>
<value>user1,user2</value>
</property>

表示允许用户userA,在任意主机节点,代理用户user1和user2。

<!-- 配置该bigdata(superUser)允许通过代理访问的主机节点 -->
<property>
<name>hadoop.proxyuser.bigdata.hosts</name>
<value>*</value>
</property>
<!-- 配置该bigdata(superUser)允许通过代理用户所属组 -->
<property>
<name>hadoop.proxyuser.bigdata.groups</name>
<value>*</value>
</property>
<!-- 配置该bigdata(superUser)允许通过代理的用户-->
<property>
<name>hadoop.proxyuser.bigdata.users</name>
<value>*</value>
</property>

那么下面的配置就是bigdata用户,可以代理任何用户访问任何主机节点。

动态刷新配置命令。

hdfs dfsadmin –refreshSuperUserGroupsConfiguration

yarn rmadmin –refreshSuperUserGroupsConfiguration

详细说明

https://www.jianshu.com/p/a27bc8651533

ha.zookeeper.quorum

 <!-- 指定zkfc要连接的zkServer地址 -->
<property>
<name>ha.zookeeper.quorum</name>
<value>master1:2181,master2:2181,node1:2181</value>
</property>

看下zookeeper产生的效果。

[zk: localhost:2181(CONNECTED) 36] get /hadoop-ha/bigdatacluster/ActiveStandbyElectorLock

bigdataclusternn2master2 �>(�>
[zk: localhost:2181(CONNECTED) 37] get /hadoop-ha/bigdatacluster/ActiveBreadCrumb

bigdataclusternn2master2 �>(�>

hdfs-site.xml

dfs.journalnode.edits.dir

<!-- JournalNode数据存储目录 -->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>${hadoop.tmp.dir}/jn</value>
</property>

<!-- 指定NameNode元数据在JournalNode上的存放位置 -->
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://master1:8485;master2:8485;node1:8485/bigdatacluster</value>
</property>

得到的效果为,也就是说在jn的目录下生成了一个bigdatacluster的目录。这里面的数据只能同时又active的namenode来写入edit log。

[bigdata@master2 datadrive]$ ll /datadrive/jn/
total 0
drwxrwxr-x 4 bigdata bigdata 58 Oct 27 17:07 bigdatacluster

相关文章

https://blog.csdn.net/kiwi_kid/article/details/53514314

yarn-site.xml

<!-- 声明两台resourcemanager的地址 -->
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>cluster-yarn1</value>
</property>

会在zk下面创建对应的节点。

[zk: localhost:2181(CONNECTED) 43] get /yarn-leader-election/cluster-yarn1/ActiveBreadCrumb

cluster-yarn1rm1
[zk: localhost:2181(CONNECTED) 44] get /yarn-leader-election/cluster-yarn1/ActiveStandbyElectorLock

cluster-yarn1rm1
[zk: localhost:2181(CONNECTED) 45]

计算最大资源配置

  <property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>1024</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>102400</value>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>32</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>51200</value>
</property>