HadoopHA--高级配置

2019-09-12 10:32:44 浏览数 (1)

先查看机器的配置

代码语言:javascript复制
#查看Linux内核版本
cat /proc/version
uname -a

# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq

# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l

# 查看CPU信息(型号)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

# 查看内 存信息
cat /proc/meminfo

# 查看 hdfs 文件大小
hadoop fs -du -s -h /user/hive/warehouse/dw.db/

经过计算得出不使用HBASE的

代码语言:javascript复制
C:UsersacerDesktop>python yarn-utils.py -c 16 -m 64 -d 2 -k False
 Using cores=16 memory=64GB disks=2 hbase=False
 Profile: cores=16 memory=57344MB reserved=8GB usableMem=56GB disks=2
 Num Container=4
 Container Ram=14336MB
 Used Ram=56GB
 Unused Ram=8GB
 yarn.scheduler.minimum-allocation-mb=14336
 yarn.scheduler.maximum-allocation-mb=57344
 yarn.nodemanager.resource.memory-mb=57344
 mapreduce.map.memory.mb=14336
 mapreduce.map.java.opts=-Xmx11468m
 mapreduce.reduce.memory.mb=14336
 mapreduce.reduce.java.opts=-Xmx11468m
 yarn.app.mapreduce.am.resource.mb=14336
 yarn.app.mapreduce.am.command-opts=-Xmx11468m
 mapreduce.task.io.sort.mb=5734

经过计算得出使用HBASE的

代码语言:javascript复制
C:UsersacerDesktop>python yarn-utils.py -c 16 -m 64 -d 2 -k True
 Using cores=16 memory=64GB disks=2 hbase=True
 Profile: cores=16 memory=49152MB reserved=16GB usableMem=48GB disks=2
 Num Container=4
 Container Ram=12288MB
 Used Ram=48GB
 Unused Ram=16GB
 yarn.scheduler.minimum-allocation-mb=12288
 yarn.scheduler.maximum-allocation-mb=49152
 yarn.nodemanager.resource.memory-mb=49152
 mapreduce.map.memory.mb=12288
 mapreduce.map.java.opts=-Xmx9830m
 mapreduce.reduce.memory.mb=12288
 mapreduce.reduce.java.opts=-Xmx9830m
 yarn.app.mapreduce.am.resource.mb=12288
 yarn.app.mapreduce.am.command-opts=-Xmx9830m
 mapreduce.task.io.sort.mb=4915

1. 修改yarn-site.xml

代码语言:javascript复制
<property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>49152</value>
</property>
<property>
    <name>yarn.scheduler.minimum-allocation-mb</name>
    <value>12288</value>
</property>
<property>
    <name>yarn.scheduler.maximum-allocation-mb</name>
    <value>49152</value>
</property>
<property>
    <name>yarn.app.mapreduce.am.resource.mb</name>
    <value>12288</value>
</property>
<property>
    <name>yarn.app.mapreduce.am.command-opts</name>
    <value>-Xmx9830m</value>
</property>

2. 修改yarn-site.xml

代码语言:javascript复制
yarn.nodemanager.resource.cpu-vcores :表示该节点上YARN可使用的虚拟CPU个数,默认是8,注意,目前推荐将该值设值为与物理CPU核数数目相同。如果你的节点CPU核数不够8个,则需要调减小这个值,而YARN不会智能的探测节点的物理CPU总数。
yarn.scheduler.minimum-allocation-vcores :单个任务可申请的最小虚拟CPU个数,默认是1,如果一个任务申请的CPU个数少于该数,则该对应的值改为这个数。
yarn.scheduler.maximum-allocation-vcores :单个任务可申请的最多虚拟CPU个数,默认是32。

<property>
  <name>yarn.nodemanager.resource.cpu-vcores</name>
  <value>16</value>
</property>
<property>
  <name>yarn.scheduler.maximum-allocation-vcores</name>
  <value>64</value>
</property>

3. 使得HDFS 每个节点负载均衡

代码语言:javascript复制
hdfs balancer -threshold  10

4. 新增HADOOP节点

  1. /etc/hosts 新增主机映射
代码语言:javascript复制
[root@labelmanage app]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
134.200.45.42    labelmanage
134.200.45.43    labelapp1
134.200.45.44    labelapp2
134.200.45.45    labelapp3
134.200.45.46    xxh-kafka1
134.200.45.47    xxh-kafka2
134.200.45.48    xxh-kafka3
134.200.45.49    xxh-kafka4
  1. slaves 文件中新增主机
代码语言:javascript复制
[root@labelmanage app]# cat /data/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/slaves 
  1. 分发 ~/.bash_profile 和 hadoop-2.6.0-cdh5.7.0
  2. 记得 新节点的hdfs目录、tmp目录为空 记得清空./sbin/hadoop-daemon.sh start datanode
  3. 在新节点上 启动hdfs
  4. 在新节点上 启动yarn
代码语言:javascript复制
./sbin/yarn-daemon.sh start nodemanager
  1. 命令检查、当然也可以通过web查看
代码语言:javascript复制
[root@xxx app]# yarn node -list
[root@xxx app]# hdfs dfsadmin -report
[root@xxx hadoop-2.6.0-cdh5.7.0]# ./sbin/start-balancer.sh -threshold 5
[root@xxx hadoop-2.6.0-cdh5.7.0]# hdfs dfsadmin -setBalancerBandwidth 67108864

0 人点赞