赞
踩
先上自己写的两个脚本吧
https://github.com/yfyvan/bigdata_deploy
在介绍脚本用法之前,咱们先看看一些配置
一:hadoop
(1)etc/hadoop/core-site.xml
- <configuration>
-
- <property>
- <name>fs.defaultFS</name>
- <value>hdfs://xxxxxx:9000</value>
- </property>
-
- <property>
- <name>hadoop.tmp.dir</name>
- <value>/data04/luozongyuan/bigdata/hadoop/hadoop_tmp_dir</value>
- </property>
- </configuration>
一般我们只要配置这俩就够了,
fs.defaultFS:hdfs存放文件数据的地址,xxx部分一般是你的内网ip,9000最好别动,后期使用python或者spark来调用hdfs的文件就是用这个地址加端口
hadoop.tmp.dir:hadoop做数据交互的临时文件存放处。在做计算的时候,可能涉及对数据的来回调用和存储,这个就是用来临时存放这些数据的本地路径。
(2)etc/hadoop/hdfs-site.xml
- <configuration>
- <property>
- <name>dfs.namenode.name.dir</name>
- <value>/data04/luozongyuan/bigdata/hadoop_namenode</value>
- </property>
-
- <property>
- <name>dfs.blocksize</name>
- <value>268435456</value>
- </property>
-
- <property>
- <name>dfs.namenode.handler.count </name>
- <value>100</value>
- </property>
-
-
- <property>
- <name>dfs.datanode.data.dir</name>
- <value>/data04/luozongyuan/bigdata/hadoop_datanode</value>
- </property>
-
- <property>
- <name>dfs.replication</name>
- <value>2</value>
- </property>
-
- <property>
- <name>dfs.http.address</name>
- <value>0.0.0.0:39407</value>
- </property>
- </configuration>

dfs.namenode.name.dir:执行任务的时候,每个节点都会有每个节点的一些状态、日志或一些其他想关信息,该路径会存放相关的节点数据
dfs.blocksize:hdfs以块为单位存放文件数据,单位是B,所以以上大约是250M一块,当文件大于这个大小时,会被自动进行分块存储,小于这个大小时,也会占用这么大的存储容量
dfs.namenode.handler.count:线程池大小。这个你设置多了,cpu也会自己进行调度,只是别太大,那就太过分了。
dfs.datanode.data.dir:这个跟dfs.namenode.name.dir存放的不一样,这个路径存放的是计算过程的中间数据的,比如map等待reduce的过程,数据量太大,存的就是这里。两者的区别可以简单描述:一个人(name)背了一个书包(data),其中呢,dfs.namenode.name.dir存放了这个人的信息,比如:男,年龄25,身高175,黑白相间的reshake潮牌,华莱士耐克鞋,走在五道口地铁站旁20米处;dfs.datanode.data.dir指的就是,包里有语文书20本,数学书10本,笔记本一本,文具盒一个,充电宝一个等。我们的计算过程,重点要的是书包里的数据,这个人只是在计算过程中的一个载体,他可以是其他人。
dfs.replication:副本数,这个不需要解释了
dfs.http.address:集群web ui的入口,就是你可以通过这个地址查看集群的工作状态
(3)etc/hadoop/hadoop-evn.sh
export JAVA_HOME=/data04/luozongyuan/bigdata/java/java_main/
输入这一行就够了
(4)etc/hadoop/workers
- salve1
- slave2
- slave3
(5)etc/hadoop/yarn-site.xml
- <configuration>
-
- <property>
- <name>yarn.resourcemanager.hostname</name>
- <value>slave1</value>
- </property>
-
- <property>
- <name>yarn.nodemanager.aux-services</name>
- <value>mapreduce_shuffle</value>
- </property>
-
- <property>
- <name>yarn.resourcemanager.webapp.address</name>
- <value>0.0.0.0:39405</value>
- </property>
-
- <property>
- <name>yarn.nodemanager.pmem-check-enabled</name>
- <value>false</value>
- </property>
-
- <property>
- <name>yarn.nodemanager.vmem-check-enabled</name>
- <value>false</value>
- </property>
-
- </configuration>

yarn.resourcemanager.hostname:资源调度的老大是谁,一般是是你的master机器
yarn.nodemanager.aux-services:shuffle过程必须要配置的一项
yarn.resourcemanager.webapp.address:yarn的web ui控制台,查看集群状态的入口
yarn.nodemanager.pmem-check-enabled和yarn.nodemanager.vmem-check-enabled:分别表示当物理内存(虚拟内存)溢出时,是否杀死任务,false表示不杀死。其实这个写上去还是有用的,因为很多服务器本身有对物理内存和虚拟内存做限制,比如本身有64G内存,但是系统限
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。