精华内容
下载资源
问答
  • 智慧警务实战应用平台开发公安大数据平台搭建[本文由源中瑞涂先生编辑/智慧公安系统开发搜索微信:ruiec999]“大数据分析技术”随着时代的发展和进步,以前所未有的速度在前进。警务实战平台是公安机关智慧警务工作...

    智慧警务实战应用平台开发公安大数据平台搭建

    [本文由源中瑞涂先生编辑/智慧公安系统开发搜索微信:ruiec999]

    “大数据分析技术”随着时代的发展和进步,以前所未有的速度在前进。警务实战平台是公安机关智慧警务工作的重要组成部分,但大数据的快速发展也带来了一个值得深思的问题:如何理解大数据?在公安机关办理案件时,如何使用大数据?

    e8df45349d6349663d14e82a9d60b3ff.png

    治安形势下新时期“大数据”的重要性

    当前,公安机关要适应新的治安形势,创新社会治理模式,提升动态环境下的治安防控能力,就必须积极解决“基础设施薄弱,基础数据采集负担重,民警应用手段少,基础数据资源整合不足,应用工具智能化程度低,资源应用服务不足”等问题。

    伴随着经济的快速发展,社会治安“人、房、车、路、网、场、组织”等要素不断膨胀,伴随而来的犯罪活动也不断向“流窜、专业化、集团化、高智化、虚拟化”方向发展,动态特征越来越明显,传统的时空、地域、块性等概念不断被突破,公安工作面临着日益严峻的挑战。我们迫切需要在更多更高的平台上寻求新的突破。

    当前,全国各地的经济文化交流日益频繁,警人员、后勤、信息流动日益频繁,我们能够获得的数据量正以惊人的速度增长,尽管我们的计算能力呈惊人的指数级增长,但我们对大数据的需求要远远超过今天我们对数据的需求。

    例如,某市公安局早在2017年底就开始全面应用互联网+智慧警务实战平台技术。以大数据、云计算、人工智能等技术为基础,整合优势资源,共同推进某市公安局警务工作与互联网技术融合发展,为“共享警局”“民生警务”“平安警务”建设提供支持,打造全国领先的智慧警务新模式。

    可视化让“大数据”成为当前决策的利器,仅仅拥有大数据还不够。警察需要对数据进行挖掘、分析等一系列深加工处理,智慧警务平台结合社会现状和实战业务急需,可以有效解决制约信息共享的系统分割、信息孤岛等突出问题。

    可视化是在实际应用中,决策者需要根据数据做出决策时,能够使决策者对大量数据做出快速判断的最好方法,而可视化又是智慧警务中不可或缺的重要环节。

    在此基础上,以目前所使用的警务实战平台为例,警务实战平台主要围绕“人、案、物、地”四大警务要素,充分利用和整合公安内部资源数据和社会资源数据,集成一体化采集、警综、图侦系统等各种业务系统,实现无缝对接,数据资源共享,通过讲述“数字故事”来表达数据所反映的潜在内容。

    警察实战平台不仅在于对“数值”和“变量”的分析,更体现在对有用数据信息的综合利用,以满足实战应用的需要,实现系统互联、信息共享、服务资源的统一管理,切实提高监控与预警能力,将反直觉的内容转化为直观的内容。

    [如需了解更多智慧公安系统开发资讯请关注公众号:源中瑞淡墨]

    展开全文
  • 大数据平台搭建

    2019-09-22 07:59:21
    大数据集群搭建之Centos6.5 参考 ... 大数据平台搭建(1)虚拟机+Centos-7安装 参考 https://blog.csdn.net/qq_16546829/article/details/79701407 =====================...

    大数据集群搭建之Centos6.5

    参考 https://blog.csdn.net/qq_16633405/article/details/78010061

     

    大数据平台搭建(1)虚拟机+Centos-7安装

    参考 https://blog.csdn.net/qq_16546829/article/details/79701407

    ================================================================

    目前学习Centos7搭建大数据平台

     

    //mysql5.7参考

    https://www.cnblogs.com/diantong/p/10962705.html

     

    转载于:https://www.cnblogs.com/zk1023/p/10616190.html

    展开全文
  • hadoop大数据平台搭建

    千次阅读 2019-08-11 17:59:37
    大数据平台搭建大数据平台搭建虚拟机环境准备修改ip,映射IP地址ssh无密码通信同步时间关闭防火墙安装jdkhadoop平台正式搭建安装hadoop安装 kafka安装spark 大数据平台搭建 zookeeper+kafka+spark + Hadoop+ yarn ...

    大数据平台搭建

    zookeeper+kafka+spark + Hadoop+ yarn

    虚拟机环境准备

    我们在搭建大数据分布式系统之前需要对软件和虚拟机的环境机型准备:

    修改ip,映射IP地址

    1.修改主机名
    vim /etc/sysconfig/network
    修改完主机名之后,别忘了用:wq命令保存退出

    然后我们来设置虚拟机的IP地址

    首先输入命令 cd /etc/sysconfig/network-scripts

    然后用ls命令查看一下目录

    修改第一块网卡 ifcfg-eth0

    首先要把ONBOOT改为yes,BOOTPROTO改为静态static

    然后设置IP地址 IPADDR 这里要注意的是虚拟机的IP地址

    的网段必须主机的网段一样,

    查看方法是点击虚拟机上的 编辑-虚拟网络编辑器-NAT模式

    在里面可以查看IP网段,只要是一个网段都可以

    设置子网掩码 NETMASK

    设置网关 GATEWAY 不知道的查看方法和上面一样

    最后:wq保存退出
    或者你可以通过命令行直接修改,但是如果你的电脑或者虚拟机有保护机制,在下一次可能ip地址会发生变化。
    #ifconfig eth0 192.168.1.155 netmask 255.255.255.0
    ifconfig ##查看一下
    然后要配置IP与主机名之间的映射
    命令为 vi /etc/hosts=
    IP就是你刚刚设置的IP 主机名也是你刚刚设置的主机名
    在这里插入图片描述

    做到这里基本上就OK了,最后检测配置好了没有就用命令

    ping www.baidu.com##可以查看一下配置的是否可以上网

    ssh无密码通信

    首先,展示配置完ssh无密码通信时什么状态的
    来自于小飞
    可以对其他节点的机器进行操作。接下来开始配置
    1.输入命令ssh-keygen生成密钥对,按照提示空格三下(其实就是设置密钥对存储位置)

    3.测试本机实现SSH登录.

    本机输入命令:ssh-copy-id IP(目标节点)

    按照提示输入yes,提示输入密码时是输入目标主机,即使是本机也算作SSH登录目标主机

    4.测试命令:ssh ip(目标节点) {可以直接加命令进行操作,例如上述图片}

    5.命令:exit 退出远程连接

    同步时间

    搭建集群环境时,需要各个节点主机的时间是一致的,否则由于心跳什么什么的 会出问题的。
    1、查看当前主机的时间 date
    2、yum -y install ntp #下载ntp
    3、service ntpd start #启动
    service ntpd status#查看ntpd当前状态
    chkconfig ntpd start#设置开机启动

    #ps:如果过了一段时间之后,你发现时间和当前本地的时间还是不一致的话,可能是你的配置文件的本地地址不是本地。
    ntpdate -u ntp.api.bz
    clock -w
    如果你的时间还是不能同步则对文件进行修改:
    vim /etc/sysconfig/clock
    本文是将时间设置为上海
    专属于小飞

    ntp常用服务器:
    中国国家授时中心:210.72.145.44
    NTP服务器(上海) :ntp.api.bz
    美国:time.nist.gov
    复旦:ntp.fudan.edu.cn
    微软公司授时主机(美国) :time.windows.com
    台警大授时中心(台湾):asia.pool.ntp.org

    关闭防火墙

    最后一步把虚拟机的防火墙关闭
    service iptables status#查看防火墙是否在运行
    service iptables stop #停止
    chkconfig iptables off #设置开机关闭

    安装jdk

    我这提供的是官方的地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html。如果你已经下载好了之后就可以跳过这步。如果你需要全套下载的东西,可以给我留言,发百度网盘链接。最好下载jdk1.8版本的。因为在spark2.0之后不再支持1.7版本。
    下载完之后,进行解压 tar -zxvf jdk(自己的版本)

    vim /etc/profile
    加export的就看可以了
    在这里插入图片描述
    source /etc/profile

    hadoop平台正式搭建

    安装hadoop

    Hadoop生态系统:2.7.7 cdh5.7.0(ps:尾号必须相同)
    所有的hadoop生态的软件下载地址:http://archive.cloudera.com/cdh5/cdh/5/
    这是我安装的配置
    centos6.5
    jdk:1.8
    spark:2.2(要求jdk必须是1.8)
    kafka:由scala构建选择与scala对应的版本
    scala:2.11.8
    app 存放我们所有的软件的安装目录
    data 存放我们的测试数据
    lib 存放我们开发的jar
    software 存放软件安装的目录
    source 存放我们的框架源码
    tmp 存在log日志文件
    vim /etc/core-site.xml
    修改以下部分,保存
    在这里插入图片描述

    vim /etc/mapred-site.xml
    在这里插入图片描述

    Vim /etc/yarn-site.xml
    在这里插入图片描述
    Vim /etc/hdfs-site
    在这里插入图片描述
    Vim /etc/Hadoop-env.sh
    在这里插入图片描述
    Vim /etc/slaves
    在这里插入图片描述
    配置完成之后进行一次格式化
    Bin/hdfs namenode -format
    显示successfully formatted
    将hadoop目录加到~/.bash_profile
    Vim ~/.bash_profle 或者vim /etc/profile 都是一样的(大神感觉有问题的希望指出)
    在这里插入图片描述

    配置完成 监控页面: ip:50070
    测试
    ./start-dfs.sh
    Jps #查看一下启动的进程
    bin/hdfs dfs -mkdir -p /user/hdp2/data/
    /bin/hdfs dfs -put /root/hadoop/hadoop/etc/hadoop/core /user/hdp2/data

    启动yarn 监控页面 ip:8088
    sbin/yarn-daemon.sh start resourcemanager
    sbin/yarn-daemon.sh start nodemanager
    sbin/mr-history-daemon.sh start historyserver

    安装 kafka

    ### 安装kafka之前那一定要先安装zookeeper。、
    1、安装zookeeper
    Conf
    

    Zoo.cfg
    在这里插入图片描述
    2)kafka配置
    Server.properties
    Host.name= localhost
    kafka启动
    Bin/kafka-server-start.sh config/server.propertoes

    安装spark

    1.下载spark-2.1.0-bin-hadoop2.7.tgz#这个根据自己的hadoop版本进项下载

    2.解压
    tar -zxvf spark-(压缩文件)

    3.环境变量
    [/etc/profile]
    SPARK_HOME=/soft/spark
    PATH=PATH:PATH:SPARK_HOME/bin:$SPARK_HOME/sbin

    [source]
    $>source /etc/profile

    4.验证spark

    $>cd /soft/spark
    $>./spark-shell

    我的自己搭建完成之后写的。如果有什么问题,希望多多指教!!!!

    展开全文
  • 大数据平台搭建详解

    2018-05-12 19:58:59
    大数据平台搭建详解是本人博客的word版本,若有疑问请联系小编,大家共同学习,微信 dym0123456789 小编的博客https://blog.csdn.net/dingyanming/article/details/80290049#commentBox
  • 文章目录前言Hadoop大数据平台搭建一.Hadoop原理和功能介绍二.Hadoop安装部署三.Hadoop常用操作总结 此文章摘自充电了么创始人,CEO兼CTO陈敬雷先生的新书《分布式机器学习实战》(人工智能科学与技术丛书)。更...

    前言

    分布式机器学习为什么需求大数据呢?随着海量用户数据的积累,单机运算已经不能满足需求。基于海量数据,机器学习训练之前需要做数据预处理、特征工程等,需要在大数据平台上来进行。另一个就是机器学习训练过程的中间结果集可能会数据膨胀,依然需要大数据平台来承载。也就是说为了高性能的数据处理、分布式计算等,分布式机器学习是以大数据平台为基础的。所以下面我们来讲一下热门常用的大数据技术。

    Hadoop大数据平台搭建

    Hadoop是一种分析和处理大数据的软件平台,是一个用 Java 语言实现的 Apache 的开源软件框架,在大量计算机组成的集群中实现了对海量数据的分布式计算。Hadoop是大数据平台的标配,不管哪个公司的大数据部门,基本都是以Hadoop为核心。下面我们详细讲解下Hadoop原理和常用的一些操作命令。

    一.Hadoop原理和功能介绍

    Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
    Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
    Hadoop的框架最核心的设计有三大块:HDFS分布式存储、MapReduce计算引擎、YARN资源调度和管理,针对Hadoop这三大块核心,我们详细来讲一下。
    1.HDFS架构原理
    HDFS 全称 Hadoop 分布式文件系统,其最主要的作用是作为 Hadoop 生态中各系统的存储服务。HDFS为海量的数据提供了存储,可以认为它是个分布式数据库,用来存储。HDFS 主要包含了6个服务:
    1)NameNode
    负责管理文件系统的Namespace以及客户端对文件的访问,NameNode在Hadoop2可以有多个,Hadoop1只能有一个,存在单点故障。HDFS中的NameNode被称为元数据节点,DataNode称为数据节点。NameNode维护了文件与数据块的映射表以及数据块与数据节点的映射表,而真正的数据是存储在DataNode上。 NameNode的功能如下:
    (1)它是维护和管理 DataNode 的主守护进程;
    (2)它记录存储在集群中的所有文件的元数据,例如Block 的位置、文件大小、权限、层次结构等。有两个文件与元数据关联;
    (3)FsImage:它包含自 NameNode 开始以来文件的 namespace 的完整状态;
    (4)EditLogs:它包含最近对文件系统进行的与最新 FsImage 相关的所有修改。它记录了发生在文件系统元数据上的每个更改。例如,如果一个文件在 HDFS 中被删除,NameNode会立即在EditLog中记录这个操作;
    (5)它定期从集群中的所有 DataNode 接收心跳信息和Block 报告,以确保 DataNode 处于活动状态;
    (6)它保留了HDFS中所有Block的记录以及这些Block所在的节点;
    (7)它负责管理所有Block的复制;
    (8)在 DataNode 失败的情况下,NameNode会为副本选择新的 DataNode,平衡磁盘使用并管理到DataNode的通信流量;
    (9)DataNode 则是 HDFS 中的从节点,与 NameNode 不同的是,DataNode 是一种商品硬件,它并不具有高质量或高可用性。DataNode 是一个将数据存储在本地文件 ext3 或 ext4 中的Block服务器。
    2)DataNode
    用于管理它所在节点上的数据存储:
    (1)这些是丛属守护进行或在每台从属机器上运行的进程;
    (2)实际的数据存储在DataNode上;
    (3)执行文件系统客户端底层的读写请求;
    (4)定期向NameNode发送心跳报告HDFS的整体健康状况,默认频率为3秒;
    (5)数据块(Block):通常,在任何文件系统中,都将数据存储为Block 的集合。Block 是硬盘上存储数据的最不连续的位置。在Hadoop 集群中,每个Block 的默认大小为 128M(此处指 Hadoop 2.x 版本,Hadoop 1.x 版本为 64M),您也可以通过如下配置配置Block的大小:dfs.block.size或 dfs.blocksize =64M
    (6)数据复制:HDFS 提供了一种将大数据作为数据块存储在分布式环境中的可靠方法,即将这些Block复制以容错。默认的复制因子是3,您也可以通过如下配置配置复制因子:
    fs.replication = 3每个Block 被复制3次存储在不同的 DataNode 中。
    3)FailoverController
    故障切换控制器,负责监控与切换 NameNode 服务。
    4)JournalNode
    用于存储 EditLog;记录文件和数映射关系,操作记录,恢复操作。
    5)Balancer
    用于平衡集群之间各节点的磁盘利用率。
    6)HttpFS
    提供 HTTP 方式访问 HDFS 的功能。总的看来NameNode 和 DataNode 是 HDFS 的核心,也是客户端操作数据需要依赖的两个服务。
    2.MapReduce计算引擎
    MapReduce计算引擎经历了两个版本,Hadoop1的时候叫MRv1,Hadoop2的时候叫MRv2。MapReduce则为海量的数据提供了计算引擎,拿里面的数据做运算,跑的快。一声令下,多台机器团结合作,每台机器分自己一部分任务,同时并行跑。等所有机器小任务跑完,汇总报道,总任务全部完成。
    1)MapReduce1架构原理
    在Hadoop1.X的时代,其核心是JobTracker。
    JobTracker:
    主要负责资源监控管理和作业调度
    (1)监控所有TaskTracker与Job的健康状况,一旦发现失败,就将相应的任务转移到其他节点;
    (2)同时JobTracker会跟踪任务的执行进度、资源使用量等信息,并将这些信息告诉任务调度器,而调度器会在资源出现空闲时,选择合适的任务使用这些资源。
    TaskTracker:
    TaskTracker是JobTracker与Task之前的桥梁。
    (1)从JobTracker接收并执行各种命令:运行任务、提交任务、Kill任务、重新初始化任务;
    (2)周期性地通过心跳机制,将节点健康情况和资源使用情况、各个任务的进度和状态等汇报给JobTracker。
    MapReduce1框架的主要局限:
    (1)JobTracker 是 MapReduce 的集中处理点,存在单点故障,可靠性差;
    (2)JobTracker 完成了太多的任务,造成了过多的资源消耗,当MapReduce Job非常多的时候,会造成很大的内存开销,潜在来说,也增加了JobTracker 失效的风险,这也是业界普遍总结出老Hadoop的MapReduce只能支持4000节点主机的上限,扩展性能差;
    (3)可预测的延迟:这是用户非常关心的。小作业应该尽可能快得被调度,而当前基于TaskTracker->JobTracker ping(heartbeat)的通信方式代价和延迟过大,比较好的方式是JobTracker->TaskTracker ping,这样JobTracker可以主动扫描有作业运行的TaskTracker。
    2)MapReduce2架构原理
    Hadoop2之后有Yarn,Hadoop1的时候还没有。MapReduce2(又名MRv2),用Yarn来管理,下面我们来讲一下Yarn资源调度。
    3.Yarn资源调度和管理
    1)ResourceManager(RM)
    ResourceManager就是资源调度器,包含两个主要的组件:定时调用器(Scheduler)以及应用管理器(ApplicationManager)。
    (1)调度器(Scheduler):根据容量,队列等限制条件,将系统中的资源分配给各个正在运行的应用。这里的调度器是一个“纯调度器”,因为它不再负责监控或者跟踪应用的执行状态等,此外,他也不负责重新启动因应用执行失败或者硬件故障而产生的失败任务。调度器仅根据各个应用的资源需求进行调度,这是通过抽象概念“资源容器”完成的,资源容器(Resource Container)将内存,CPU,磁盘,网络等资源封装在一起,从而限定每个任务使用的资源量。总而言之,定时调度器负责向应用程序分配资源,它不做监控以及应用程序的状态跟踪,并且它不保证会重启由于应用程序本身或硬件出错而执行失败的应用程序。
    (2)应用管理器(ApplicationsManager,ASM):ASM主要负责接收作业,协商获取第一个容器用于执行AM和提供重启失败AM container的服务。
    2)NodeManager
    NodeManager简称NM,是每个节点上的框架代理,主要负责启动应用所需的容器,监控资源(内存,CPU,磁盘,网络等)的使用情况并将之汇报给调度器(Scheduler)。
    3)ApplicationMaster
    每个应用程序的ApplicationMaster负责从Scheduler申请资源,以及跟踪这些资源的使用情况以及任务进度的监控。
    4)Container
    是Yarn中资源的抽象,它将内存、CPU、磁盘、网络等资源封装在一起。当AM向RM申请资源时,RM为AM返回的资源便是用Container表示的。
    了解了Hadoop的原理和核心组件,我们看下如何安装部署搭建分布式集群。

    二.Hadoop安装部署

    Hadoop有Apache社区版和第三方发行版CDH,Apache社区版优点是完全开源免费 社区活跃 文档、资料详实。缺点是版本管理比较混乱,各种版本层出不穷,很难选择,选择生态组件时需要大量考虑兼容性问题、版本匹配问题、组件冲突问题、编译问题等。集群的部署安装配置复杂,需要编写大量配置文件,分发到每台节点,容易出错,效率低。集群运维复杂,需要安装第三方软件辅助。CDH是第三方公司Cloudera公司基于社区版本的基础上做了一些优化和改进,稳定性更强一些。CDH分免费版和商业版。CDH安装可以使用CM通过管理界面的方式来安装,非常简单。Cloudera Manager(简称CM)是Cloudera公司开发的一款大数据集群安装部署利器,这款利器具有集群自动化安装、中心化管理、集群监控、报警等功能,使得安装集群从几天的时间缩短在几小时以内,运维人员从数十人降低到几人以内,极大的提高集群管理的效率。
    不管是CDH还是Apache社区版,我们都是使用tar包手动来部署,所有的环境需要我们一步步来操作,Hadoop的每个配置文件也需要我们手工配置,这种方式安装的优势比较灵活,集群服务器也不需要连外网,但这种方式对开发人员的要求比较高,对各种开发环境和配置文件都需要了解清楚。不过这种方式更方便我们了解Hadoop的各个模块和工作原理。下面我们使用这种方式来手动的安装分布式集群,我们的例子是部署5台服务器,两个NameNode节点做HA,5个DataNode节点,两个NameNode节点也同时作为DataNode。一般当服务器不多的时候,为了尽量的充分利用服务器的资源,NameNode节点可以同时是DataNode。
    安装步骤如下:
    1.创建Hadoop用户
    1)useradd hadoop
    设密码passwd hadoop
    命令usermod -g hadoop hadoop
    2)vi /root/sudo
    添加一行
    hadoop ALL=(ALL) NOPASSWD:ALL
    chmod u+w /etc/sudoers
    3)编辑/etc/sudoers文件
    #也就是输入命令:
    vi /etc/sudoers
    #进入编辑模式,找到这一行:
    root ALL=(ALL) ALL
    #在它的下面添加:
    hadoop ALL=(ALL) NOPASSWD:ALL
    #这里的hadoop是你的用户名,然后保存退出。
    4)撤销文件的写权限
    #也就是输入命令:
    chmod u-w /etc/sudoers
    2.设置环境变量
    编辑/etc/profile文件
    vim /etc/profile
    输入以下配置,如代码3.1所示:
    【代码3.1】 环境变量
    export JAVA_HOME=/home/hadoop/software/jdk1.8.0_121
    export SPARK_HOME=/home/hadoop/software/spark21
    export SCALA_HOME=/home/hadoop/software/scala-2.11.8
    export SQOOP_HOME=/home/hadoop/software/sqoop
    export HADOOP_HOME=/home/hadoop/software/hadoop2
    export PATH=PATH:PATH:HADOOP_HOME/bin
    export PATH=PATH:PATH:HADOOP_HOME/sbin
    export HADOOP_MAPARED_HOME=HADOOPHOMEexportHADOOPCOMMONHOME={HADOOP_HOME} export HADOOP_COMMON_HOME={HADOOP_HOME}
    export HADOOP_HDFS_HOME=HADOOPHOMEexportYARNHOME={HADOOP_HOME} export YARN_HOME={HADOOP_HOME}
    export HADOOP_CONF_DIR=HADOOPHOME/etc/hadoopexportHIVEHOME=/home/hadoop/software/hadoop2/hiveexportPATH={HADOOP_HOME}/etc/hadoop export HIVE_HOME=/home/hadoop/software/hadoop2/hive export PATH=JAVA_HOME/bin:HIVEHOME/bin:HIVE_HOME/bin:SQOOP_HOME/bin:PATHexportCLASSPATH=.:PATH export CLASSPATH=.:JAVA_HOME/lib/dt.jar:JAVAHOME/lib/tools.jarexportPATHUSERLOGNAMEMAILHOSTNAMEHISTSIZEHISTCONTROLexportFLUMEHOME=/home/hadoop/software/flumeexportPATH=JAVA_HOME/lib/tools.jar export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL export FLUME_HOME=/home/hadoop/software/flume export PATH=PATH:FLUMEHOME/binexportHBASEHOME=/home/hadoop/software/hbase0.98.8hadoop2exportPATH=FLUME_HOME/bin export HBASE_HOME=/home/hadoop/software/hbase-0.98.8-hadoop2 export PATH=PATH:HBASEHOME/binexportSOLRHOME=/home/hadoop/software/solrcloud/solr6.4.2exportPATH=HBASE_HOME/bin export SOLR_HOME=/home/hadoop/software/solrcloud/solr-6.4.2 export PATH=PATH:SOLRHOME/binexportM2HOME=/home/hadoop/software/apachemaven3.3.9exportPATH=SOLR_HOME/bin export M2_HOME=/home/hadoop/software/apache-maven-3.3.9 export PATH=PATH:M2HOME/binexportPATH=M2_HOME/bin export PATH=PATH:/home/hadoop/software/apache-storm-1.1.0/bin
    export OOZIE_HOME=/home/hadoop/software/oozie-4.3.0
    export SQOOP_HOME=/home/hadoop/software/sqoop-1.4.6-cdh5.5.2
    export PATH=PATH:PATH:SQOOP_HOME/bin
    #按:wq保存,保存后环境变量还没有生效,执行以下命令才会生效。
    source /etc/profile
    #然后修改下Hadoop的安装目录为Hadoop用户所有。
    chown -R hadoop:hadoop /data1/software/hadoop
    3.设置local无密码登陆
    su - hadoop
    cd ~/.ssh 如果没有.shh 则mkdir ~/.ssh
    ssh-keygen -t rsa
    cd ~/.ssh
    cat id_rsa.pub >> authorized_keys
    sudo chmod 644 ~/.ssh/authorized_keys
    sudo chmod 700 ~/.ssh
    然后重启sshd服务:
    sudo /etc/rc.d/init.d/sshd restart
    有些情况下会遇到这个报错,可以这么来解决。
    常见错误:
    ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):
    Could not create directory ‘/home/hadoop/.ssh’.
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    open /home/hadoop/.ssh/id_rsa failed: Permission denied.
    Saving the key failed: /home/hadoop/.ssh/id_rsa.
    解决办法:
    在root用户下操作yum remove selinux*
    4.修改/etc/hosts主机名和IP地址的映射文件
    sudo vim /etc/hosts
    增加:
    172.172.0.11 data1
    172.172.0.12 data2
    172.172.0.13 data3
    172.172.0.14 data4
    172.172.0.15 data5
    5.设置远程无密码登陆
    使用Hadoop用户:
    每台机器先本地无秘钥部署一遍。然后因为我们搭建的是双NameNode节点,需要从这两个服务器上把authorized_keys文件复制到其它机器上,主要目的是NameNode节点需要直接访问DataNode节点。
    把双namenode HA的authorized_keys复制到slave上。
    从namenode1节点上复制:
    scp authorized_keys hadoop@data2:~/.ssh/authorized_keys_from_data1
    scp authorized_keys hadoop@data3:~/.ssh/authorized_keys_from_data1
    scp authorized_keys hadoop@data4:~/.ssh/authorized_keys_from_data1
    scp authorized_keys hadoop@data5:~/.ssh/authorized_keys_from_data1
    然后从namenode2节点上复制:
    scp authorized_keys hadoop@data1:~/.ssh/authorized_keys_from_data2
    scp authorized_keys hadoop@data3:~/.ssh/authorized_keys_from_data2
    scp authorized_keys hadoop@data4:~/.ssh/authorized_keys_from_data2
    scp authorized_keys hadoop@data5:~/.ssh/authorized_keys_from_data2
    6.每台都关闭机器的防火墙
    #关闭防火墙
    sudo /etc/init.d/iptables stop
    #关闭开机启动
    sudo chkconfig iptables off
    7.jdk安装
    因为Hadoop是基于Java开发,所以我们需要安装jdk环境:
    cd /home/hadoop/software/
    上传rz jdk1.8.0_121.gz
    tar xvzf jdk1.8.0_121.gz
    然后修改下环境变量指定到这个jdk目录就算安装好了:
    vim /etc/profile
    export JAVA_HOME=/home/hadoop/software/jdk1.8.0_121
    source /etc/profile
    8.Hadoop安装
    Hadoop就是一个tar包放上去解压缩后再进行各个文件的配置。
    上传hadoop-2.6.0-cdh5.tar.gz到/home/hadoop/software/
    tar xvzf hadoop-2.6.0-cdh5.tar.gz
    mv hadoop-2.6.0-cdh5 hadoop2
    cd /home/hadoop/software/hadoop2/etc/hadoop

    vi hadoop-env.sh
    修改JAVA_HOME值(export JAVA_HOME=/home/hadoop/software/jdk1.8.0_121)
    vi yarn-env.sh
    修改JAVA_HOME值(export JAVA_HOME=/home/hadoop/software/jdk1.8.0_121)
    然后修改Hadoop的主从节点文件,slaves是从节点,masters是主节点。需要说明的是一个主节点也可以同时从节点。也就是说这个节点可以同时是NameNode节点和DataNode节点。
    vim slaves
    添加这5台机器的节点:
    data1
    data2
    data3
    data4
    data5
    vim masters
    添加两个NameNode节点:
    data1
    data2
    下面来修改Hadoop的配置文件:
    1)编辑core-site.xml文件
    core-site.xml文件用于定义系统级别的参数,如HDFS URL 、Hadoop的临时目录等。这个文件主要是修改fs.defaultFS节点,改成hdfs://ai,ai是双NameNodeHA的虚拟域名,再就是hadoop.tmp.dir这个节点也非常重要,如果不配置,Hadoop重启后可能会有问题。
    然后就是配置zookeeper的地址ha.zookeeper.quorum。


    fs.defaultFS
    hdfs://ai


    ha.zookeeper.quorum
    data1:2181,data2:2181,data3:2181,data4:2181,data5:2181


    dfs.cluster.administrators
    hadoop


    io.file.buffer.size
    131072


    hadoop.tmp.dir
    /home/hadoop/software/hadoop/tmp
    Abase for other temporary directories.


    hadoop.proxyuser.hduser.hosts



    hadoop.proxyuser.hduser.groups



    2)编辑hdfs-site.xml文件
    hdfs-site.xml文件用来配置名称节点和数据节点的存放位置、文件副本的个数、文件的读取权限等。
    dfs.nameservices设置双NameNodeHA的虚拟域名。
    dfs.ha.namenodes.ai指定两个节点名称。
    dfs.namenode.rpc-address.ai.nn1指定HDFS访问节点1。
    dfs.namenode.rpc-address.ai.nn2指定HDFS访问节点2。
    dfs.namenode.http-address.ai.nn1指定HDFS的Web访问节点1。
    dfs.namenode.http-address.ai.nn2指定HDFS的Web访问节点2。
    dfs.namenode.name.dir定义DFS的名称节点在本地文件系统的位置。
    dfs.datanode.data.dir定义DFS数据节点存储数据块时存储在本地文件系统的位置。
    dfs.replication缺省的块复制数量。
    dfs.webhdfs.enabled是否通过http协议读取hdfs文件,如果选是,则集群安全性较差。
    vim hdfs-site.xml


    dfs.nameservices
    ai


    dfs.ha.namenodes.ai
    nn1,nn2


    dfs.namenode.rpc-address.ai.nn1
    data1:9000


    dfs.namenode.rpc-address.ai.nn2
    data2:9000


    dfs.namenode.http-address.ai.nn1
    data1:50070


    dfs.namenode.http-address.ai.nn2
    data2:50070


    dfs.namenode.shared.edits.dir
    qjournal://data1:8485;data2:8485;data3:8485;data4:8485;data5:8485/aicluster


    dfs.client.failover.proxy.provider.ai
    org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider


    dfs.ha.fencing.methods
    sshfence


    dfs.ha.fencing.ssh.private-key-files
    /home/hadoop/.ssh/id_rsa


    dfs.journalnode.edits.dir
    /home/hadoop/software/hadoop/journal/data


    dfs.ha.automatic-failover.enabled
    true


    dfs.namenode.name.dir
    file:/home/hadoop/software/hadoop/dfs/name


    dfs.datanode.data.dir
    file:/home/hadoop/software/hadoop/dfs/data


    dfs.replication
    3


    dfs.webhdfs.enabled
    true


    dfs.permissions
    true


    dfs.client.block.write.replace-datanode-on-failure.enable
    true


    dfs.client.block.write.replace-datanode-on-failure.policy
    NEVER


    dfs.datanode.max.xcievers
    4096


    dfs.datanode.balance.bandwidthPerSec
    104857600


    dfs.qjournal.write-txns.timeout.ms
    120000


    3)编辑mapred-site.xml文件
    主要是修改mapreduce.jobhistory.address和mapreduce.jobhistory.webapp.address两个节点,主要是配置历史服务器地址,通过历史服务器查看已经运行完的Mapreduce作业记录,比如用了多少个Map、用了多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息。默认情况下,Hadoop历史服务器是没有启动的,我们可以通过下面的命令来启动Hadoop历史服务器:
    $ sbin/mr-jobhistory-daemon.sh start historyserver
    这样我们就可以在相应机器的19888端口上打开历史服务器的WEB UI界面。可以查看已经运行完的作业情况。历史服务器可以单独在一台机器上启动,参数配置如下:
    vim mapred-site.xml


    mapreduce.framework.name
    yarn


    mapreduce.jobhistory.address
    data1:10020


    mapred.child.env
    LD_LIBRARY_PATH=/usr/lib64


    mapreduce.jobhistory.webapp.address
    data1:19888


    mapred.child.java.opts
    -Xmx3072m


    mapreduce.task.io.sort.mb
    1000


    mapreduce.jobtracker.expire.trackers.interval
    1600000


    mapreduce.tasktracker.healthchecker.script.timeout
    1500000


    mapreduce.task.timeout
    88800000


    mapreduce.map.memory.mb
    8192


    mapreduce.reduce.memory.mb
    8192


    mapreduce.reduce.java.opts
    -Xmx6144m


    4)编辑yarn-site.xml文件
    主要是对Yarn资源调度的配置,核心配置参数如下:
    yarn.resourcemanager.address
    参数解释:ResourceManager 对客户端暴露的地址。客户端通过该地址向RM提交应用程序,杀死应用程序等。
    默认值:yarn.resourcemanager.hostname:8032yarn.resourcemanager.scheduler.addressResourceManagerApplicationMaster访ApplicationMasterRM{yarn.resourcemanager.hostname}:8032 yarn.resourcemanager.scheduler.address 参数解释:ResourceManager 对ApplicationMaster暴露的访问地址。ApplicationMaster通过该地址向RM申请资源、释放资源等。 默认值:{yarn.resourcemanager.hostname}:8030
    yarn.resourcemanager.resource-tracker.address
    参数解释:ResourceManager 对NodeManager暴露的地址.。NodeManager通过该地址向RM汇报心跳,领取任务等。
    默认值:yarn.resourcemanager.hostname:8031yarn.resourcemanager.admin.addressResourceManager访RM{yarn.resourcemanager.hostname}:8031 yarn.resourcemanager.admin.address 参数解释:ResourceManager 对管理员暴露的访问地址。管理员通过该地址向RM发送管理命令等。 默认值:{yarn.resourcemanager.hostname}:8033
    yarn.resourcemanager.webapp.address
    参数解释:ResourceManager对外web ui地址。用户可通过该地址在浏览器中查看集群各类信息。
    默认值:yarn.resourcemanager.hostname:8088yarn.resourcemanager.scheduler.classFIFOCapacitySchedulerFairSchedulerorg.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduleryarn.resourcemanager.resourcetracker.client.threadcountNodeManagerRPCHandler50yarn.resourcemanager.scheduler.client.threadcountApplicationMasterRPCHandler50yarn.scheduler.minimumallocationmb/yarn.scheduler.maximumallocationmb/10243072MapRedceTask1024MB3072MB1024/8192yarn.scheduler.minimumallocationvcores/yarn.scheduler.maximumallocationvcores/CPU14MapReduceTask1CPU4CPUCPUYARN1/32yarn.resourcemanager.nodes.includepath/yarn.resourcemanager.nodes.excludepathNodeManagerNodeManagerrefreshyarn.resourcemanager.nodemanagers.heartbeatintervalmsNodeManager1000YarnCPUCPUHadoopCPUHadoopCPUCPUyarn.nodemanager.webapp.addressHadoopIPNodeManagervimyarnsite.xml<configuration><property><name>yarn.nodemanager.webapp.address</name><value>172.172.0.11:8042</value></property><property><name>yarn.resourcemanager.resourcetracker.address</name><value>data1:8031</value></property><property><name>yarn.resourcemanager.scheduler.address</name><value>data1:8030</value></property><property><name>yarn.resourcemanager.scheduler.class</name><value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value></property><property><name>yarn.resourcemanager.address</name><value>data1:8032</value></property><property><name>yarn.nodemanager.localdirs</name><value>{yarn.resourcemanager.hostname}:8088 yarn.resourcemanager.scheduler.class 参数解释:启用的资源调度器主类。目前可用的有FIFO、Capacity Scheduler和Fair Scheduler。 默认值: org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler yarn.resourcemanager.resource-tracker.client.thread-count 参数解释:处理来自NodeManager的RPC请求的Handler数目。 默认值:50 yarn.resourcemanager.scheduler.client.thread-count 参数解释:处理来自ApplicationMaster的RPC请求的Handler数目。 默认值:50 yarn.scheduler.minimum-allocation-mb/ yarn.scheduler.maximum-allocation-mb 参数解释:单个可申请的最小/最大内存资源量。比如设置为1024和3072,则运行MapRedce作业时,每个Task最少可申请1024MB内存,最多可申请3072MB内存。 默认值:1024/8192 yarn.scheduler.minimum-allocation-vcores/yarn.scheduler.maximum-allocation-vcores 参数解释:单个可申请的最小/最大虚拟CPU个数。比如设置为1和4,则运行MapReduce作业时,每个Task最少可申请1个虚拟CPU,最多可申请4个虚拟CPU。什么是虚拟CPU,可阅读我的这篇文章:“YARN 资源调度器剖析”。 默认值:1/32 yarn.resourcemanager.nodes.include-path/yarn.resourcemanager.nodes.exclude-path 参数解释:NodeManager黑白名单。如果发现若干个NodeManager存在问题,比如故障率很高,任务运行失败率高,则可以将之加入黑名单中。注意,这两个配置参数可以动态生效。(调用一个refresh命令即可) 默认值:“” yarn.resourcemanager.nodemanagers.heartbeat-interval-ms 参数解释:NodeManager心跳间隔 默认值:1000(毫秒) 一般需要修改的地方在下面的配置中加粗了。这个配置文件是Yarn资源调度最核心的配置,下面的是一个实例配置。有一个需要注意的配置技巧,分配的内存和CPU一定要配套,需要根据你的服务器的情况,计算最小分配内存,分配CPU等。这个如果计算不好的话,可能会造成Hadoop跑任务资源分配的时候,CPU资源用尽了,但内存还剩很多。但对于Hadoop来讲,只要CPU或内存有一个占满了,后面的任务就不能分配了,所以设置不好会造成CPU和内存资源的浪费。 另外一个需要注意的地方yarn.nodemanager.webapp.address节点复制到每台Hadoop服务器上记得把节点值的IP地址改成本机。这个地方忘了改,可能会出现NodeManager启动不了的问题。 vim yarn-site.xml <configuration> <property> <name>yarn.nodemanager.webapp.address</name> <value>172.172.0.11:8042</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>data1:8031</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>data1:8030</value> </property> <property> <name>yarn.resourcemanager.scheduler.class</name> <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>data1:8032</value> </property> <property> <name>yarn.nodemanager.local-dirs</name> <value>{hadoop.tmp.dir}/nodemanager/local


    yarn.nodemanager.address
    0.0.0.0:8034


    yarn.nodemanager.remote-app-log-dir
    hadoop.tmp.dir/nodemanager/remote</value></property><property><name>yarn.nodemanager.logdirs</name><value>{hadoop.tmp.dir}/nodemanager/remote</value> </property> <property> <name>yarn.nodemanager.log-dirs</name> <value>{hadoop.tmp.dir}/nodemanager/logs


    yarn.nodemanager.aux-services
    mapreduce_shuffle


    yarn.nodemanager.aux-services.mapreduce.shuffle.class
    org.apache.hadoop.mapred.ShuffleHandler


    mapred.job.queue.name
    ${user.name}


    yarn.nodemanager.resource.memory-mb
    116888


    yarn.scheduler.minimum-allocation-mb
    5120


    yarn.scheduler.maximum-allocation-mb
    36688


    yarn.scheduler.maximum-allocation-vcores
    8


    yarn.nodemanager.resource.cpu-vcores
    50


    yarn.scheduler.minimum-allocation-vcores
    2


    yarn.nm.liveness-monitor.expiry-interval-ms
    700000


    yarn.nodemanager.health-checker.interval-ms
    800000


    yarn.nm.liveness-monitor.expiry-interval-ms
    900000


    yarn.resourcemanager.container.liveness-monitor.interval-ms
    666000


    yarn.nodemanager.localizer.cache.cleanup.interval-ms
    688000


    5)编辑capacity-scheduler.xml文件
    在上面讲的yarn-site.xml 配置文件中,我们配置的调度器用的是容量调度器,就是这个节点指定的配置yarn.resourcemanager.scheduler.class,容量调度器是Hadoop默认的,另外还有公平调度器,我们可以分别讲一下,看看它们有什么区别。
    公平调度
    公平共享调度器的核心概念是,随着时间推移平均分配工作,这样每个作业都能平均地共享到资源。结果是只需较少时间执行的作业能够访问 CPU,那些需要更长时间执行的作业中结束得迟。这样的方式可以在 Hadoop 作业之间形成交互,而且可以让 Hadoop 集群对提交的多种类型作业作出更大的响应。公平调度器是由Facebook开发出来的。
    Hadoop的实现会创建一组池,将作业放在其中供调度器选择。每个池会分配一组共享以平衡池中作业的资源(更多的共享意味着作业执行所需的资源更多)。默认情况下,所有池的共享相等,但可以进行配置,根据作业类型提供更多或更少的共享。如果需要的话,还可以限制同时活动的作业数,以尽量减少拥堵,让工作及时完成。
    为了保证公平,每个用户被分配一个池。在这样的方式下,如果一个用户提交很多作业,那么他分配的集群资源与其他用户一样多(与他提交的工作数无关)。无论分配到池的共享有多少,如果系统未加载,那么作业收到的共享不会被使用(在可用作业之间分配)。
    调度器实现会追踪系统中每个作业的计算时间。调度器还会定期检查作业接收到的计算时间和在理想的调度器中应该收到的计算时间的差距。会使用该结果来确定任务的亏空。调度器作业接着会保证亏空最多的任务最先执行。
    在 mapred-site.xml 文件中配置公平共享。该文件会定义对公平共享调度器行为的管理。一个 XML 文件(即 mapred.fairscheduler.allocation.file 属性)定义了每个池的共享的分配。为了优化作业大小,您可以设置 mapread.fairscheduler.sizebasedweight 将共享分配给作业作为其大小的函数。还有一个类似的属性可以通过调整作业的权重让更小的作业在 5 分钟之后运行得更快 (mapred.fairscheduler.weightadjuster)。您还可以用很多其他的属性来调优节点上的工作负载(例如某个 TaskTracker 能管理的 maps 和 reduces 数目)并确定是否执行抢占。
    容量调度器
    容量调度器的原理与公平调度器有些相似,但也有一些区别。首先,容量调度是用于大型集群,它们有多个独立用户和目标应用程序。由于这个原因,容量调度能提供更大的控制和能力,提供用户之间最小容量保证并在用户之间共享多余的容量。容量调度是由 Yahoo! 开发出来的。
    在容量调度中,创建的是队列而不是池,每个队列的 map 和 reduce 插槽数都可以配置。每个队列都会分配一个保证容量(集群的总容量是每个队列容量之和)。
    队列处于监控之下;如果某个队列未使用分配的容量,那么这些多余的容量会被临时分配到其他队列中。由于队列可以表示一个人或大型组织,那么所有的可用容量都可以由其他用户重新分配使用。
    与公平调度另一个区别是可以调整队列中作业的优先级。一般来说,具有高优先级的作业访问资源比低优先级作业更快。Hadoop 路线图包含了对抢占的支持(临时替换出低优先级作业,让高优先级作业先执行),但该功能尚未实现。
    另一个区别是对队列进行严格的访问控制(假设队列绑定到一个人或组织)。这些访问控制是按照每个队列进行定义的。对于将作业提交到队列的能力和查看修改队列中作业的能力都有严格限制。
    可在多个 Hadoop 配置文件中配置容量调度器。队列是在 hadoop-site.xml 中定义,在 capacity-scheduler.xml 中配置。可以在 mapred-queue-acls.xml 中配置 ACL。单个的队列属性包括容量百分比(集群中所有的队列容量少于或等于 100)、最大容量(队列多余容量使用的限制)以及队列是否支持优先级。更重要的是,可以在运行时调整队列优先级,从而可以在集群使用过程中改变或避免中断的情况。
    我们的实例用的容量调度器,我们看下配置参数:
    mapred.capacity-scheduler.queue..capacity:
    设置调度器中各个queue的容量,这里指的是占用的集群的slots的百分比,需要注意的是,所有queue的该配置项加起来必须小于等于100,否则会导致JobTracker启动失败。
    mapred.capacity-scheduler.queue..maximum-capacity:
    设置调度器中各个queue最大可以占有的容量,默认为-1表示最大可以占有集群100%的资源,和设置为100的效果是一样的。
    mapred.capacity-scheduler.queue..minimum-user-limit-percent:
    当queue中多个用户出现slots竞争的时候,限制每个用户的slots资源的百分比。举个例子,当minimum-user-limit-percent设置为25%时候,如果queue中有多余4个用户同时提交job,那么调度器保证每个用户占有的slots不超过queue中slots数的25%,默认为100表示不对用户作限制。
    mapred.capacity-scheduler.queue..user-limit-factor:
    设置queue中用户可占用queue容量的系数,默认为1表示,queue中每个用户最多只能占有queue的容量(即mapred.capacity-scheduler.queue..capacity),因此,需要注意的是,如果queue中只有一个用户提交job,且希望用户在集群不繁忙时候可扩展到mapred.capacity-scheduler.queue..maximum-capacity指定的slots数,则必须相应调大user-limit-factor这个系数。
    mapred.capacity-scheduler.queue..supports-priority:
    设置调度器中各个queue是否支持job优先级,不用过多解释。
    mapred.capacity-scheduler.maximum-system-jobs:
    设置调度器中各个queue中合起来共计可初始化后并发执行的job数,需要注意的是,各个queue会按照自己占有集群slots资源的比例(即mapred.capacity-scheduler.queue..capacity)决定每个queue最多同时并发执行的job数!举个例子,假设maximum-system-jobs为20个,而queue1占集群10%资源,那么意味着queue1最多可同时并发运行2个job,如果碰巧是运行时间比较长的job的话,将直接导致其他新提交的job被JobTracker阻塞不能进行初始化!
    mapred.capacity-scheduler.queue..maximum-initialized-active-tasks:
    设置queue中所有并发运行job包含的task数的上限值,如果超过此限制,则新提交到该queue中的job会被排队缓存到磁盘上。
    mapred.capacity-scheduler.queue..maximum-initialized-active-tasks-per-user:
    设置queue中每个特定用户并发运行job包含的task数的上限值,如果超过此限制,则该用户新提交到该queue中的job会被排队缓存到磁盘上。
    mapred.capacity-scheduler.queue..init-accept-jobs-factor:
    设置每个queue中可容纳接收的job总数(maximum-system-jobs * queue-capacity)的系数,举个例子,如果maximum-system-jobs为20,queue-capacity为10%,init-accept-jobs-factor为10,则当queue中job总数达到10*(20*10%)=20时,新的job将被JobTracker拒绝提交。
    我们下面的配置实例是配置了hadoop和spark两个队列,hadoop队列分配了92%的资源,参见yarn.scheduler.capacity.root.hadoop.capacity配置,spark队列分配了8%的资源,参见yarn.scheduler.capacity.root.spark.capacity配置:
    vim capacity-scheduler.xml


    yarn.scheduler.capacity.maximum-applications
    10000


    yarn.scheduler.capacity.maximum-am-resource-percent
    0.1


    yarn.scheduler.capacity.resource-calculator
    org.apache.hadoop.yarn.util.resource.DominantResourceCalculator


    yarn.scheduler.capacity.node-locality-delay
    -1


    yarn.scheduler.capacity.root.queues
    hadoop,spark


    yarn.scheduler.capacity.root.hadoop.capacity
    92


    yarn.scheduler.capacity.root.hadoop.user-limit-factor
    1

    yarn.scheduler.capacity.root.hadoop.maximum-capacity
    -1

    yarn.scheduler.capacity.root.hadoop.state
    RUNNING

    yarn.scheduler.capacity.root.hadoop.acl_submit_applications
    hadoop


    yarn.scheduler.capacity.root.hadoop.acl_administer_queue
    hadoop hadoop



    yarn.scheduler.capacity.root.spark.capacity
    8


    yarn.scheduler.capacity.root.spark.user-limit-factor
    1


    yarn.scheduler.capacity.root.spark.maximum-capacity
    -1


    yarn.scheduler.capacity.root.spark.state
    RUNNING


    yarn.scheduler.capacity.root.spark.acl_submit_applications
    hadoop


    yarn.scheduler.capacity.root.spark.acl_administer_queue
    hadoop hadoop



    以上对Hadoop的配置文件都配好了,然把这台服务器Hadoop整个目录复制到其它机器上就可以了。记得有个地方需要修改下yarn-site.xml里yarn.nodemanager.webapp.address每台Hadoop服务器上把IP地址改成本机。这个地方忘了改,可能会出现NodeManager启动不了的问题。
    scp -r /home/hadoop/software/hadoop2 hadoop@data2:/home/hadoop/software/
    scp -r /home/hadoop/software/hadoop2 hadoop@data3:/home/hadoop/software/
    scp -r /home/hadoop/software/hadoop2 hadoop@data4:/home/hadoop/software/
    scp -r /home/hadoop/software/hadoop2 hadoop@data5:/home/hadoop/software/
    另外还有个地方需要优化下,默认情况下Hadoop跑多个reduce可能报错:
    Failed on local exception: java.io.IOException: Couldn’t set up IO streams; Host Details : local hos
    解决办法:集群所有节点增加如下配置
    #在文件中增加
    sudo vi /etc/security/limits.conf
    hadoop soft nproc 100000
    hadoop hard nproc 100000
    重启整个集群每个节点,重启Hadoop集群即可。
    到现在环境安装一些准备就绪,下面就开始对Hadoop的HDFS分布式文件系统格式化,就像我们买了新电脑磁盘需要格式化之后才能用一样。由于我们的实例采用的NameNodeHA双节点模式,它是依靠zookeeper来实现的,所有我们实现需要先安装好zookeeper才行。每台服务器上启动zookeeper服务:
    /home/hadoop/software/zookeeper-3.4.6/bin/zkServer.sh restart
    在NameNode1上data1服务器上初始化zookeeper:
    hdfs zkfc –formatZK
    分别在5台Hadoop集群上启动journalnode服务,执行命令
    hadoop-daemon.sh start journalnode
    在NameNode1上data1服务器上格式化HDFS:
    hdfs namenode -format
    然后启动这台机器上的NameNode节点服务:
    hadoop-daemon.sh start namenode
    在第二个NameNode上data2执行:
    hdfs namenode -bootstrapStandby
    hadoop-daemon.sh start namenode
    最后我们启动Hadoop集群:
    start-all.sh
    启动集群过程如下:
    This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
    Starting namenodes on [datanode1 datanode2]
    datanode2: starting namenode, logging to /home/hadoop/software/hadoop2/logs/hadoop-hadoop-namenode-datanode2.out
    datanode1: starting namenode, logging to /home/hadoop/software/hadoop2/logs/hadoop-hadoop-namenode-datanode1.out
    datanode2: Java HotSpot™ 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
    datanode2: Java HotSpot™ 64-Bit Server VM warning: CMSFullGCsBeforeCompaction is deprecated and will likely be removed in a future release.
    datanode1: Java HotSpot™ 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
    datanode1: Java HotSpot™ 64-Bit Server VM warning: CMSFullGCsBeforeCompaction is deprecated and will likely be removed in a future release.
    172.172.0.12: starting datanode, logging to /home/hadoop/software/hadoop2/logs/hadoop-hadoop-datanode-datanode2.out
    172.172.0.11: starting datanode, logging to /home/hadoop/software/hadoop2/logs/hadoop-hadoop-datanode-datanode1.out
    172.172.0.14: starting datanode, logging to /home/hadoop/software/hadoop2/logs/hadoop-hadoop-datanode-datanode4.out
    172.172.0.13: starting datanode, logging to /home/hadoop/software/hadoop2/logs/hadoop-hadoop-datanode-datanode3.out
    172.172.0.15: starting datanode, logging to /home/hadoop/software/hadoop2/logs/hadoop-hadoop-datanode-datanode5.out
    Starting journal nodes [172.172.0.11 172.172.0.12 172.172.0.13 172.172.0.14 172.172.0.15]
    172.172.0.14: starting journalnode, logging to /home/hadoop/software/hadoop2/logs/hadoop-hadoop-journalnode-datanode4.out
    172.172.0.11: starting journalnode, logging to /home/hadoop/software/hadoop2/logs/hadoop-hadoop-journalnode-datanode1.out
    172.172.0.13: starting journalnode, logging to /home/hadoop/software/hadoop2/logs/hadoop-hadoop-journalnode-datanode3.out
    172.172.0.15: starting journalnode, logging to /home/hadoop/software/hadoop2/logs/hadoop-hadoop-journalnode-datanode5.out
    172.172.0.12: starting journalnode, logging to /home/hadoop/software/hadoop2/logs/hadoop-hadoop-journalnode-datanode2.out
    Starting ZK Failover Controllers on NN hosts [datanode1 datanode2]
    datanode1: starting zkfc, logging to /home/hadoop/software/hadoop2/logs/hadoop-hadoop-zkfc-datanode1.out
    datanode2: starting zkfc, logging to /home/hadoop/software/hadoop2/logs/hadoop-hadoop-zkfc-datanode2.out
    starting yarn daemons
    starting resourcemanager, logging to /home/hadoop/software/hadoop2/logs/yarn-hadoop-resourcemanager-datanode1.out
    172.172.0.15: starting nodemanager, logging to /home/hadoop/software/hadoop2/logs/yarn-hadoop-nodemanager-datanode5.out
    172.172.0.14: starting nodemanager, logging to /home/hadoop/software/hadoop2/logs/yarn-hadoop-nodemanager-datanode4.out
    172.172.0.12: starting nodemanager, logging to /home/hadoop/software/hadoop2/logs/yarn-hadoop-nodemanager-datanode2.out
    172.172.0.13: starting nodemanager, logging to /home/hadoop/software/hadoop2/logs/yarn-hadoop-nodemanager-datanode3.out
    172.172.0.11: starting nodemanager, logging to /home/hadoop/software/hadoop2/logs/yarn-hadoop-nodemanager-datanode1.out
    如果是停止集群的话用这个命令stop-all.sh
    停止集群过程如下:
    This script is Deprecated. Instead use stop-dfs.sh and stop-yarn.sh
    Stopping namenodes on [datanode1 datanode2]
    datanode1: stopping namenode
    datanode2: stopping namenode
    172.172.0.12: stopping datanode
    172.172.0.11: stopping datanode
    172.172.0.15: stopping datanode
    172.172.0.13: stopping datanode
    172.172.0.14: stopping datanode
    Stopping journal nodes [172.172.0.11 172.172.0.12 172.172.0.13 172.172.0.14 172.172.0.15]
    172.172.0.11: stopping journalnode
    172.172.0.13: stopping journalnode
    172.172.0.12: stopping journalnode
    172.172.0.15: stopping journalnode
    172.172.0.14: stopping journalnode
    Stopping ZK Failover Controllers on NN hosts [datanode1 datanode2]
    datanode2: stopping zkfc
    datanode1: stopping zkfc
    stopping yarn daemons
    stopping resourcemanager
    172.172.0.13: stopping nodemanager
    172.172.0.12: stopping nodemanager
    172.172.0.15: stopping nodemanager
    172.172.0.14: stopping nodemanager
    172.172.0.11: stopping nodemanager
    no proxyserver to stop
    启动成功后每个节点上会看到对应Hadoop进程,NameNode1主节点上看到的进程如下:
    5504 ResourceManager
    4912 NameNode
    5235 JournalNode
    5028 DataNode
    5415 DFSZKFailoverController
    90 QuorumPeerMain
    5628 NodeManager
    ResourceManager就是Yarn资源调度的进程。NameNode是HDFS的NameNode主节点。
    JournalNode是JournalNode节点。DataNode是HDFS的DataNode从节点和数据节点。DFSZKFailoverController是Hadoop中HDFS NameNode HA实现的中心组件,它负责整体的故障转移控制等。它是一个守护进程,通main()方法启动,继承自ZKFailoverController。QuorumPeerMain是zookeeper的进程。NodeManager是Yarn在每台服务器上的节点管理器,是运行在单个节点上的代理,它管理Hadoop集群中单个计算节点,功能包括与ResourceManager保持通信,管理Container的生命周期、监控每个Container的资源使用(内存、CPU等)情况、追踪节点健康状况、管理日志和不同应用程序用到的附属服务等。
    NameNode2主节点2上的进程如下:
    27232 NameNode
    165 QuorumPeerMain
    27526 DFSZKFailoverController
    27408 JournalNode
    27313 DataNode
    27638 NodeManager
    会少很多进程,因为做主节点的HA,也会有一个NameNode进程,如果没有,说明这个节点的NameNode挂了,我们需要重启它。并需要查看挂掉的原因。
    下面是其中一台DataNode上的进程,没有NameNode进程了:
    114 QuorumPeerMain
    17415 JournalNode
    17320 DataNode
    17517 NodeManager
    除了我们能看到集群每个节点的进程,并且根据进程就能判断哪个集群节点是不是有问题。但不是很方便,需要每台服务器逐个来看。Hadoop提供了Web界面,非常方便查看集群的状况。一个是Yarn的Web界面,在ResourceManager进程在的哪台机器上访问,也就是Yarn的主进程,访问地址是http://namenodeip:8088/,端口是8088,当然这个是默认端,可以通过配置文件来改,不过一般不和其它端口冲突的话,是不需要的改的。看另一个是两个NameNode的Web界面,端口是50070,能非常方便查看HDFS集群状态,总空间、使用空间、剩余空间,每台服务器节点情况一目了然。访问地址是:http://namenodeip:50070/
    我们来看下这两个界面:
    Yarn的Web界面如图3.1所示:
    图3.1 Yarn的Web界面截图

    图3.1 Yarn的Web界面截图

    NameNode的Web界面如图3.2所示:
    图3.2 NameNode的Web界面截图

    图3.2 NameNode的Web界面截图

    三.Hadoop常用操作

    Hadoop操作命令主要分Hadoop集群启动维护、HDFS文件操作命令、Yarn资源调度相关命令,我们分别来讲一下。
    1.Hadoop集群启动维护
    #整体启动Hadoop集群:
    start-all.sh
    #整体停止Hadoop集群:
    stop-all.sh
    #单独启动namenode服务:
    hadoop-daemon.sh start namenode
    #单独启动datanode服务:
    hadoop-daemon.sh start datanode
    #在某台机器上单独启动nodemanager服务:
    yarn-daemon.sh start nodemanager
    #单独启动historyserver
    mr-jobhistory-daemon.sh start historyserver
    2.HDFS文件操作命令
    操作使用hadoop dfs或者 hadoop fs都可以,建了简化操作时间,建议使用hadoop fs。
    1)列出HDFS下的文件
    hadoop fs -ls /
    hadoop fs -ls /ods/kc/dim/ods_kc_dim_product_tab/
    2) 查看文件的尾部的记录
    hadoop fs -tail /ods/kc/dim/ods_kc_dim_product_tab/product.txt
    3)上传本地文件到hadoop的hdfs上
    hadoop fs -put product.txt /ods/kc/dim/ods_kc_dim_product_tab/
    4)把hadoop上的文件下载到本地系统中
    hadoop fs -get /ods/kc/dim/ods_kc_dim_product_tab/product.txt product.txt
    5)删除文件和删除目录
    hadoop fs -rm /ods/kc/dim/ods_kc_dim_product_tab/product.txt
    hadoop fs -rmr /ods/kc/dim/ods_kc_dim_product_tab/
    6)查看文件
    #谨慎使用,尤其当文件内容太长的话。
    hadoop fs -cat /ods/kc/dim/ods_kc_dim_product_tab/product.txt
    7)建立目录
    hadoop fs -mkdir /ods/kc/dim/ods_kc_dim_product_tab/(目录/目录名)
    只能一级一级的建目录,建完一级才能建下一级。如果-mkdir –p价格-p参数会自动把没有文件夹都创建上。
    8)本集群内复制文件
    hadoop fs -cp 源路径 路径
    9)跨集群对拷,适合做集群数据迁移使用
    hadoop distcp hdfs://master1/ods/ hdfs://master2/ods/
    10)通过Hadoop命令把多个文件的内容合并起来
    #hadoop fs -getmerge 位于hdfs中的原文件(里面有多个文件) 合并后的文件名(本地)
    例如:
    hadoop fs -getmerge /ods/kc/dim/ods_kc_dim_product_tab/* all.txt
    3.Yarn资源调度相关命令
    1)application
    使用语法:yarn application [options] #打印报告,申请和杀死任务
    -appStates #与-list一起使用,可根据输入的逗号分隔的应用程序状态列表来过滤应用程序。有效的应用程序状态可以是以下之一:ALL,NEW,NEW_SAVING,SUBMITTED,ACCEPTED,RUNNING,FINISHED,FAILED,KILLED
    -appTypes #与-list一起使用,可以根据输入的逗号分隔的应用程序类型列表来过滤应用程序。
    -list #列出RM中的应用程序。支持使用-appTypes来根据应用程序类型过滤应用程序,并支持使用-appStates来根据应用程序状态过滤应用程序。
    -kill #终止应用程序。
    -status #打印应用程序的状态。
    2)applicationattempt
    使用语法:yarn applicationattempt [options] #打印应用程序尝试的报告
    -help #帮助
    -list #获取到应用程序尝试的列表,其返回值ApplicationAttempt-Id 等于
    -status #打印应用程序尝试的状态。
    3)classpath
    使用语法:yarn classpath #打印需要得到Hadoop的jar和所需要的lib包路径
    4)container
    使用语法:yarn container [options] #打印container(s)的报告
    -help #帮助
    -list #应用程序尝试的Containers列表
    -status #打印Container的状态
    5)jar
    使用语法:yarn jar [mainClass] args… #运行jar文件,用户可以将写好的YARN代码打包成jar文件,用这个命令去运行它。
    6)logs
    使用语法:yarn logs -applicationId [options] #转存container的日志。
    -applicationId #指定应用程序ID,应用程序的ID可以在yarn.resourcemanager.webapp.address配置的路径查看(即:ID)
    -appOwner #应用的所有者(如果没有指定就是当前用户)应用程序的ID可以在yarn.resourcemanager.webapp.address配置的路径查看(即:User)
    -containerId #Container Id
    -help #帮助
    -nodeAddress #节点地址的格式:nodename:port (端口是配置文件中:yarn.nodemanager.webapp.address参数指定)
    7)node
    使用语法:yarn node [options] #打印节点报告
    -all #所有的节点,不管是什么状态的。
    -list #列出所有RUNNING状态的节点。支持-states选项过滤指定的状态,节点的状态包含:NEW,RUNNING,UNHEALTHY,DECOMMISSIONED,LOST,REBOOTED。支持–all显示所有的节点。
    -states #和-list配合使用,用逗号分隔节点状态,只显示这些状态的节点信息。
    -status #打印指定节点的状态。
    8)queue
    使用语法:yarn queue [options] #打印队列信息
    -help #帮助
    -status # 打印队列的状态
    9)daemonlog
    使用语法:
    yarn daemonlog -getlevel host:httpport
    yarn daemonlog -setlevel host:httpport
    -getlevel host:httpport #打印运行在host:port的守护进程的日志级别。这个命令内部会连接http://host:port/logLevel?log=
    -setlevel host:httpport #设置运行在host:port的守护进程的日志级别。这个命令内部会连接http://host:port/logLevel?log=
    10)nodemanager
    使用语法:yarn nodemanager #启动nodemanager
    11)proxyserver
    使用语法:yarn proxyserver #启动web proxy server
    12)resourcemanager
    使用语法:yarn resourcemanager [-format-state-store] #启动ResourceManager
    -format-state-store # RMStateStore的格式. 如果过去的应用程序不再需要,则清理RMStateStore, RMStateStore仅仅在ResourceManager没有运行的时候,才运行RMStateStore
    13)rmadmin
    使用语法: #运行Resourcemanager管理客户端
    yarn rmadmin [-refreshQueues]
    [-refreshNodes]
    [-refreshUserToGroupsMapping]
    [-refreshSuperUserGroupsConfiguration]
    [-refreshAdminAcls]
    [-refreshServiceAcl]
    [-getGroups [username]]
    [-transitionToActive [–forceactive] [–forcemanual] ]
    [-transitionToStandby [–forcemanual] ]
    [-failover [–forcefence] [–forceactive] ]
    [-getServiceState ]
    [-checkHealth ]
    [-help [cmd]]
    -refreshQueues #重载队列的ACL,状态和调度器特定的属性,ResourceManager将重载mapred-queues配置文件
    -refreshNodes #动态刷新dfs.hosts和dfs.hosts.exclude配置,无需重启NameNode。
    #dfs.hosts:列出了允许连入NameNode的datanode清单(IP或者机器名)
    #dfs.hosts.exclude:列出了禁止连入NameNode的datanode清单(IP或者机器名)
    #重新读取hosts和exclude文件,更新允许连到Namenode的或那些需要退出或入编的Datanode的集合。
    -refreshUserToGroupsMappings #刷新用户到组的映射。
    -refreshSuperUserGroupsConfiguration #刷新用户组的配置
    -refreshAdminAcls #刷新ResourceManager的ACL管理
    -refreshServiceAcl #ResourceManager重载服务级别的授权文件。
    -getGroups [username] #获取指定用户所属的组。
    -transitionToActive [–forceactive] [–forcemanual] #尝试将目标服务转为 Active 状态。如果使用了–forceactive选项,不需要核对非Active节点。如果采用了自动故障转移,这个命令不能使用。虽然你可以重写–forcemanual选项,你需要谨慎。
    -transitionToStandby [–forcemanual] #将服务转为 Standby 状态. 如果采用了自动故障转移,这个命令不能使用。虽然你可以重写–forcemanual选项,你需要谨慎。
    -failover [–forceactive] #启动从serviceId1 到 serviceId2的故障转移。如果使用了-forceactive选项,即使服务没有准备,也会尝试故障转移到目标服务。如果采用了自动故障转移,这个命令不能使用。
    -getServiceState #返回服务的状态。(注:ResourceManager不是HA的时候,时不能运行该命令的)
    -checkHealth #请求服务器执行健康检查,如果检查失败,RMAdmin将用一个非零标示退出。(注:ResourceManager不是HA的时候,时不能运行该命令的)
    -help [cmd] #显示指定命令的帮助,如果没有指定,则显示命令的帮助。
    14)scmadmin
    使用语法:yarn scmadmin [options] #运行共享缓存管理客户端
    -help #查看帮助
    -runCleanerTask #运行清理任务
    15)sharedcachemanager
    使用语法:yarn sharedcachemanager #启动共享缓存管理器
    16)timelineserver
    使用语法:yarn timelineserver #启动timelineserver。

    总结

    Hadoop平台搭建好了,里面本身是没有数据的,所以下一步的工作就是建设数据仓库,而数据库是以Hive为主流的。有关Hive的更多内容请点击下方链接阅读
    Hive数据仓库实战
    此文章有对应的配套视频,其它更多精彩文章请大家下载充电了么app,可获取千万免费好课和文章,配套新书教材请看陈敬雷新书:《分布式机器学习实战》(人工智能科学与技术丛书)

    【新书介绍】
    《分布式机器学习实战》(人工智能科学与技术丛书)【陈敬雷编著】【清华大学出版社】
    新书特色:深入浅出,逐步讲解分布式机器学习的框架及应用配套个性化推荐算法系统、人脸识别、对话机器人等实战项目

    【新书介绍视频】
    分布式机器学习实战(人工智能科学与技术丛书)新书【陈敬雷】
    视频特色:重点对新书进行介绍,最新前沿技术热点剖析,技术职业规划建议!听完此课你对人工智能领域将有一个崭新的技术视野!职业发展也将有更加清晰的认识!

    【精品课程】
    《分布式机器学习实战》大数据人工智能AI专家级精品课程

    【免费体验视频】:
    人工智能百万年薪成长路线/从Python到最新热点技术

    从Python编程零基础小白入门到人工智能高级实战系列课

    视频特色: 本系列专家级精品课有对应的配套书籍《分布式机器学习实战》,精品课和书籍可以互补式学习,彼此相互补充,大大提高了学习效率。本系列课和书籍是以分布式机器学习为主线,并对其依赖的大数据技术做了详细介绍,之后对目前主流的分布式机器学习框架和算法进行重点讲解,本系列课和书籍侧重实战,最后讲几个工业级的系统实战项目给大家。 课程核心内容有互联网公司大数据和人工智能那些事、大数据算法系统架构、大数据基础、Python编程、Java编程、Scala编程、Docker容器、Mahout分布式机器学习平台、Spark分布式机器学习平台、分布式深度学习框架和神经网络算法、自然语言处理算法、工业级完整系统实战(推荐算法系统实战、人脸识别实战、对话机器人实战)、就业/面试技巧/职业生涯规划/职业晋升指导等内容。

    【充电了么公司介绍】

    充电了么App是专注上班族职业培训充电学习的在线教育平台。

    专注工作职业技能提升和学习,提高工作效率,带来经济效益!今天你充电了么?

    充电了么官网
    http://www.chongdianleme.com/

    充电了么App官网下载地址
    https://a.app.qq.com/o/simple.jsp?pkgname=com.charged.app

    功能特色如下:

    【全行业职位】 - 专注职场上班族职业技能提升

    覆盖所有行业和职位,不管你是上班族,高管,还是创业都有你要学习的视频和文章。其中大数据智能AI、区块链、深度学习是互联网一线工业级的实战经验。

    除了专业技能学习,还有通用职场技能,比如企业管理、股权激励和设计、职业生涯规划、社交礼仪、沟通技巧、演讲技巧、开会技巧、发邮件技巧、工作压力如何放松、人脉关系等等,全方位提高你的专业水平和整体素质。

    【牛人课堂】 - 学习牛人的工作经验

    1.智能个性化引擎:

    海量视频课程,覆盖所有行业、所有职位,通过不同行业职位的技能词偏好挖掘分析,智能匹配你目前职位最感兴趣的技能学习课程。

    2.听课全网搜索

    输入关键词搜索海量视频课程,应有尽有,总有适合你的课程。

    3.听课播放详情

    视频播放详情,除了播放当前视频,更有相关视频课程和文章阅读,对某个技能知识点强化,让你轻松成为某个领域的资深专家。

    【精品阅读】 - 技能文章兴趣阅读

    1.个性化阅读引擎:

    千万级文章阅读,覆盖所有行业、所有职位,通过不同行业职位的技能词偏好挖掘分析,智能匹配你目前职位最感兴趣的技能学习文章。

    2.阅读全网搜索

    输入关键词搜索海量文章阅读,应有尽有,总有你感兴趣的技能学习文章。

    【机器人老师】 - 个人提升趣味学习

    基于搜索引擎和智能深度学习训练,为您打造更懂你的机器人老师,用自然语言和机器人老师聊天学习,寓教于乐,高效学习,快乐人生。

    【精短课程】 - 高效学习知识

    海量精短牛人课程,满足你的时间碎片化学习,快速提高某个技能知识点。

    展开全文
  • 「分享数据大咖实践经验 网罗职场大佬成长秘籍」大数据时代这个词被提出已有10年了吧,越来越多的企业已经完成了大数据平台搭建。随着移动互联网和物联网的爆发,大数据价值在越来越多的场景中被挖掘,随着大家都...
  • 大数据平台搭建 | Hive

    2021-02-27 02:04:48
    大数据平台搭建 | Hadoop 集群搭建(一) 1、 简介 基于Hive3.1.2版本 Hive下载地址 Hive的运行依赖与Hadoop3.X -依赖JDK 1.8环境 2、架构 本质就是存储了Hdfs文件和表、数据库之间的映射关系(元数据), 然后提供了...
  • Spark、Hadoop大数据平台搭建,推荐使用VMWare虚拟机安装。首先,需要依次安装以下应用:Spark,Scala,Hadoop,Java,Zookeeper。
  • 大数据平台搭建,正常情况下集群机器是不能上网的,需要搭建本地yum源
  • 关于从0到1搭建大数据平台,之前的一篇博文《如何从0到1搭建大数据平台》已经给大家介绍过了,接下来我们会分步讲解搭建大数据平台的具体注意事项。一、“大”数据​海量的数据当你需要搭建大数据平台的时候一定是...
  • Ambari大数据平台搭建利器【大讲台】 10年一线开发及项目管理经验,6年...
  • 实现对数据的挖掘和分析,大数据平台是随着大数据技术的发展而逐渐被企业所关注的一个技术,而今天我们就一起来了解一下,大数据平台搭建都有哪些架构层次。 大数据平台搭建都有哪些架构层次 1、数据传输层 Sqoop...
  • 大数据平台搭建之zookeeper一:说明1、环境:hadoop 2.6.0 、zookeeper 3.4.62、完全分布式,共有3个节点:master、slave1、slave23、采用的方式是先配置master,然后再将zookeeper文件拷贝到其他slave中的方式。...
  • CDH 7.1.4 大数据平台搭建-新手指南环境介绍笔记本硬件软件及版本环境准备虚拟系统安装挂载离线安装ISO文件安装httpd搭建http服务器下载CM和CDH安装包安装createrepo软件打包CM文件配置hostname和hostshostnamehosts...
  • 此时,大数据平台搭建就是企业面临的问题,搭建大数据平台有哪些思路?怎么样的搭建路径可以让企业少走弯路?什么样的架构是业内标准?通过什么手段来分析和展示已有的数据?或许这些问题会萦绕在您的心头,那么...
  • 【2019】CDH6.x企业级大数据平台搭建 10年一线开发及项目管理经验,...
  • 智慧警务实战应用平台开发公安大数据平台搭建 “大数据分析技术”随着时代的发展和进步,以前所未有的速度在前进。警务实战平台是公安机关智慧警务工作的重要组成部分,但大数据的快速发展也带来了一个值得深思的...
  • 大数据平台搭建手册

    2017-12-12 14:16:20
    JDK、Hadoop、Hive、Spark、Hbase等系统集群安装环境配置、详细安装步骤、及配置文件修改。
  • 基于ambari安装大数据平台,已通过测试,按照文档步骤可以完成安装。
  • 大数据平台搭建(hadoop+spark) 一.基本信息 1. 服务器基本信息 主机名ip地址安装服务 spark-master 172.16.200.81 jdk、hadoop、spark、scala spark-slave01 172.16.200.82 jdk、hadoop、...
  • 【2019】CDH6.x企业级大数据平台搭建

    千人学习 2019-01-30 15:47:47
    本课程主要讲解在实际项目开发中,企业构建大数据平台的方案及实战。详细阐述企业级大数据平台的架构设计、机器选型、集群规划、技术选型、资源规划等技术方案。实战演练基于Cloudera Manager(CDH6)安装部署、监控...
  • CDH 大数据平台搭建

    2019-09-21 05:57:27
    Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称“CDH”),基于Web的用户界面,支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper、Sqoop,简化了大数据平台的安装、...
  • HDP 大数据平台搭建

    2019-09-21 05:57:22
    一、概述 Apache Ambari是一个基于Web的支持Apache Hadoop集群的供应、管理和监控的开源工具,Ambari已支持大多数Hadoop组件,...提供Web UI进行可视化的集群管理,简化了大数据平台的安装、使用难度。 二、安...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,321
精华内容 1,328
关键字:

大数据平台搭建