环境:3结点集群

192.168.0.1
192.168.0.2
192.168.0.3

1 配置root用户服务期间免密登录

参考:https://www.cnblogs.com/barneywill/p/10271679.html

2 安装ansible

参考:https://www.cnblogs.com/barneywill/p/10263278.html

3 在所有服务器上创建hadoop用户,配置hadoop用户服务期间免密登录

参考:https://www.cnblogs.com/barneywill/p/10271679.html

4 同步host

# echo "" > /tmp/hosts
# echo "192.168.0.1 node0" > /tmp/hosts
# echo "192.168.0.2 node1" > /tmp/hosts
# echo "192.168.0.3 node2" > /tmp/hosts

# ansible all-servers -m copy -a "src=/tmp/hosts dest=/tmp"
# ansible all-servers -m shell -a "cat /tmp/hosts >> /etc/hosts && cat /etc/hosts"

5 拷贝到所有服务器上并解压

# ansible all-servers -m copy -a 'src=/src/path/to/hadoop-2.6.5.tar.gz dest=/dest/path/to/'
# ansible all-servers -m shell -a 'tar xvf /dest/path/to/hadoop-2.6.5.tar.gz -C /app/path'

6 准备目录:tmp、namenode、datanode

# ansible all-servers -m shell -a 'mkdir -p /data/hadoop/tmp && mkdir -p /data/hadoop/hdfs/namenode && mkdir -p /data/hadoop/hdfs/datanode && chown -R hadoop.hadoop /data/hadoop'

7 准备配置文件

slaves

node0
node1
node2

core-site.xml

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://node0:9000</value>

</property>

<property>

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

<value>/data/hadoop/tmp</value>

</property>

</configuration>

hdfs-site.xml

<configuration>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<property>

<name>dfs.name.dir</name>

<value>/data/hadoop/hdfs/namenode</value>

</property>

<property>

<name>dfs.data.dir</name>

<value>/data/hadoop/hdfs/datanode</value>

</property>

</configuration>

mapred-site.xml

<configuration>

<property>

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

<value>yarn</value>

</property>

</configuration>

yarn-site.xml

<configuration>

<property>

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

<value>node0</value>

</property>

<property>

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

<value>mapreduce_shuffle</value>

</property>

<property>

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

<value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

</configuration>

1)默认管理8G 8core资源,如下修改

<property>

<name>yarn.nodemanager.resource.memory-mb</name>

<value>8196</value>

</property>

<property>

<name>yarn.nodemanager.resource.cpu-vcores</name>

<value>8</value>

</property>

2)开启日志聚合

<property>

<name>yarn.log-aggregation-enable</name>

<value>true</value>

</property>

3)如果由于虚拟内存原因导致container被kill报错,比如

2019-02-25 17:54:19,481 WARN org.apache.hadoop.yarn.server.nodemanager.containermanager.monitor.ContainersMonitorImpl: Container [pid=48342,containerID=container_1551078668160_0012_02_000001] is running beyond virtual memory limits. Current usage: 380.9 MB of 1 GB physical memory used; 2.5 GB of 2.1 GB virtual memory used. Killing container.

增加配置

<property>

<name>yarn.nodemanager.vmem-check-enabled</name>

<value>false</value>

</property>

or

<property>

<name>yarn.nodemanager.vmem-pmem-ratio</name>

<value>4</value>

</property>

8 将配置同步到所有服务器上

# ansible all-servers -m copy -a 'src=/path/to/config/ dest=/app/path/hadoop-2.6.5/etc/hadoop/'

9 同步环境变量

# echo '' > /tmp/profile
# echo 'export HADOOP_HOME=/app/path/hadoop-2.6.5' >> /tmp/profile
# echo 'export JAVA_HOME=/app/path/jdk1.8.0_141/' >> /tmp/profile
# echo 'export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH' >> /tmp/profile
# ansible all-servers -m copy -a 'src=/tmp/profile dest=/tmp/'
# ansible all-servers -m shell -a 'cat /tmp/profile >> /etc/bashrc'

10 启动hdfs

# su - hadoop
$ /app/path/hadoop-2.6.5/bin/hadoop namenode -format
$ /app/path/hadoop-2.6.5/sbin/start-dfs.sh
$ hdfs dfsadmin -report

11 启动yarn

# su - hadoop
$ /app/path/hadoop-2.6.5/sbin/start-yarn.sh
$ yarn node -list

【原创】大数据基础之Hadoop(2)hdfs和yarn最简绿色部署的更多相关文章

  1. 【原创】大数据基础之Hadoop(3)yarn数据收集与监控

    yarn常用rest api 1 metrics # curl http://localhost:8088/ws/v1/cluster/metrics The cluster metrics reso ...

  2. 【原创】大数据基础之Hadoop(1)HA实现原理

    有些工作只能在一台server上进行,比如master,这时HA(High Availability)首先要求部署多个server,其次要求多个server自动选举出一个active状态server, ...

  3. 大数据技术之Hadoop(HDFS)

    第1章 HDFS概述 1.1 HDFS产出背景及定义 1.2 HDFS优缺点 1.3 HDFS组成架构 1.4 HDFS文件块大小(面试重点) 第2章 HDFS的Shell操作(开发重点) 1.基本语 ...

  4. 学习大数据基础框架hadoop需要什么基础

    什么是大数据?进入本世纪以来,尤其是2010年之后,随着互联网特别是移动互联网的发展,数据的增长呈爆炸趋势,已经很难估计全世界的电子设备中存储的数据到底有多少,描述数据系统的数据量的计量单位从MB(1 ...

  5. 大数据系列文章-Hadoop的HDFS读写流程(二)

    在介绍HDFS读写流程时,先介绍下Block副本放置策略. Block副本放置策略 第一个副本:放置在上传文件的DataNode:如果是集群外提交,则随机挑选一台磁盘不太满,CPU不太忙的节点. 第二 ...

  6. 【原创】大数据基础之Zookeeper(4)应用场景

    1 集群配置管理 应用服务器的配置通常会放到properties文件中,格式为: system1.module2.prop3=value4 然后启动的时候加载,这样带来的问题是启动后无法修改,想修改必 ...

  7. 【原创】大数据基础之Zookeeper(2)源代码解析

    核心枚举 public enum ServerState { LOOKING, FOLLOWING, LEADING, OBSERVING; } zookeeper服务器状态:刚启动LOOKING,f ...

  8. 一篇了解大数据架构及Hadoop生态圈

    一篇了解大数据架构及Hadoop生态圈 阅读建议,有一定基础的阅读顺序为1,2,3,4节,没有基础的阅读顺序为2,3,4,1节. 第一节 集群规划 大数据集群规划(以CDH集群为例),参考链接: ht ...

  9. 大数据时代之hadoop(五):hadoop 分布式计算框架(MapReduce)

    大数据时代之hadoop(一):hadoop安装 大数据时代之hadoop(二):hadoop脚本解析 大数据时代之hadoop(三):hadoop数据流(生命周期) 大数据时代之hadoop(四): ...

随机推荐

  1. vue 高德地图使用 vue-amap

    此插件文档及使用还不错 https://elemefe.github.io/vue-amap/ <template> <div class="amap-page-conta ...

  2. springboot-01 helloworld

    第一个springboot程序 新建maven项目,添加如下依赖: <?xml version="1.0" encoding="UTF-8"?> & ...

  3. (13)UniquePathIII

    一.问题描述 给定一个二维数组. 数组只有一个元素是1,是起点 数组只有一个元素是2,是终点 数组中的0是必须经过的地方 数组中的-1是障碍不可通过 从起始点到终点一共有多少路径? 二.思路 DFS ...

  4. 2017CCPC秦皇岛 G题Numbers&&ZOJ3987【大数】

    题意: 给出一个数n,现在要将它分为m个数,这m个数相加起来必须等于n,并且要使得这m个数的或值最小. 思路: 从二进制的角度分析,如果这m个数中有一个数某一位为1,那么最后或起来这一位肯定是为1的, ...

  5. 第28月第22天 iOS动态库

    1. NIMSDK 在 5.1.0 版本之后已改为动态库,集成方式有所改变,若需要集成高于此版本的 SDK,只需要做以下步骤: 将下载的 SDK 拖动到 Targets -> General - ...

  6. 第25月第18天 vue

    1.cnpm sudo chown -R $USER /usr/local  npm install -g cnpm --registry=https://registry.npm.taobao.or ...

  7. 转载-reduceByKey和groupByKey的区别

    原文链接-https://www.cnblogs.com/0xcafedaddy/p/7625358.html 先来看一下在PairRDDFunctions.scala文件中reduceByKey和g ...

  8. python购物车作业

    # -*- coding:utf8 -*- # Author:Wang Yao goods = [{"name": "电脑", "price" ...

  9. Linux下运行jmeter

    • 我们在做测试的时候,有时候要运行很久,公司用的测试服务器一般都是linux,就可以运行在linux下面,linux下面不能像windows一样有图形化界面,那怎么运行脚本呢,就先在windows上 ...

  10. WIN10配置MongoDB

    WIN10配置MongoDB 1. 下载 [MongoDB 官网下载链接](https://www.mongodb.com/download-center?jmp=nav#community) 2. ...