hadoop集群搭建

使用Docker在本地搭建Hadoop分布式集群

删除回忆录丶 提交于 2019-12-05 10:54:12
学习Hadoop集群环境搭建是Hadoop入门必经之路。搭建分布式集群通常有两个办法: 要么找多台机器来部署(常常找不到机器) 或者在本地开多个虚拟机(开销很大,对宿主机器性能要求高,光是安装多个虚拟机系统就得搞半天……)。 那么,问题来了! 有没有更有可行性的办法? 提到虚拟化, Docker 最近很是火热!不妨拿来在本地做虚拟化,搭建Hadoop的伪分布式集群环境。虽然有点大材小用,但是学习学习,练练手也是极好的。 文章比较长,建议先倒杯水,听我慢慢到来…… 先说一下我的思路吧: 先使用Docker构建一个Hadoop运行环境的镜像 然后使用这个镜像分别启动3个容器:1个Master节点,两个Slave节点 在Master节点上配置Slave节点信息 在Master上启动Hadoop 使用Docker搭建Hadoop环境 什么是 Docker? Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。 Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。Redhat 已经在其 RHEL6.5 中集中支持

Hadoop 2.2.0集群搭建

妖精的绣舞 提交于 2019-12-05 10:37:30
一、环境说明 1、虚拟机平台:VMware10 2、Linux版本:ubuntu-12.04.3-desktop-i386 3、JDK:jdk1.7.0_51 4、Hadoop版本:2.2.0 5、集群节点:3个,分别是hadoopMaster,hadoopSlave1,hadoopSlave2 注明:文中fyzwjd是虚拟机用户名。 二、准备工作 1、安装虚拟机平台,并新建一个Ubuntu虚拟机,记为hadoopMaster。 2、在hadoopMaster上安装JDK。 Jdk一般有两个版本:Open JDK、SunJDK,建议使用Sun JDK。安装步骤如下: 先去 Oracle下载Linux下的JDK压缩包,http://www.oracle.com/technetwork/java/javase/downloads/index.html,下好后直接解压。 进入在存放jdk文件夹的当前目录,将解压好的jdk1.7.0_51文件夹用最高权限复移动到/usr/lib/jvm目录里,此时即使没有jvm目录也可以执行如下命令,jvm文件夹将得到创建。 [plain] view plain copy sudo mv jdk1.7.0_51 /usr/lib/jvm/ 接下来需要设置环境变量,进入当前用户名的主文件夹,修改.profile文件。注意,该文件是 当前用户的配置文件

Hadoop 集群cluster搭建

北战南征 提交于 2019-12-05 09:13:03
Hadoop集群cluster环境的搭建,可以参考官方文档: http://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/ClusterSetup.html 2015-12 搭建Hadoop cluster环境于公司云环境,这里云环境中,每台机器有两个IP,一个是云环境内其本身的IP,另一个是我们访问云端服务器使用的IP。而Hadoop的配置主要使用的是其本身的IP。 hosts如下: 192.168.0.8 hadoop1 192.168.0.16 hadoop2 192.168.0.12 hadoop3 192.168.0.15 hadoop4 其中hadoop1位master,其余为slave。hadoop1中配置namenode和resourcemanager,其他作为slave配置datanode和nodemanager。 搭建过程如下: 首先暗转Java,下载hadoop安装包。 安装ssh和rsync。 $ sudo apt-get install ssh $ sudo apt-get install rsync 使用ssh-keygen命令生成密钥并配置这四台服务器,使得他们可以两两无密码ssh访问。因为在hadoop启动停止等操作时,会由master通过ssh方式访问各个slave

阿里云ECS服务器部署HADOOP集群(二):HBase完全分布式集群搭建(使用外置ZooKeeper)

本秂侑毒 提交于 2019-12-05 08:43:31
本篇将在 阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建 的基础上搭建,多添加了一个 datanode 节点 。 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里云ECS服务器:master, slave1, slave2 操作系统: CentOS 7.3 Hadoop: hadoop-2.7.3.tar.gz Java: jdk-8u77-linux-x64.tar.gz ZooKeeper: zookeeper-3.4.14.tar.gz 1.2 各节点角色分配 master: NameNode、SecondaryNameNode、QuorumPeerMain slave1: DataNode、QuorumPeerMain slave2: DataNode、QuorumPeerMain 2 ZooKeeper 下载 下载 zookeeper-3.4.14.tar.gz 并在合适的位置解压缩,笔者这里解压缩的路径为: /usr/local/ 将解压得到的目录改名为 zookeeper 。 cd /usr/local mv zookeeper-3.4.14 zookeeper 3 添加 ZooKeeper 环境变量 在"/etc/profile"中添加内容: 1 export ZOOKEEPER_HOME=/usr/local

阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建

徘徊边缘 提交于 2019-12-05 08:43:23
本篇将在 阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建 的基础上搭建,多添加了一个 datanode 节点 。 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里云ECS服务器:master, slave1, slave2 操作系统: CentOS 7.3 Hadoop: hadoop-2.7.3.tar.gz Java: jdk-8u77-linux-x64.tar.gz HBase: hbase-1.2.6-bin.tar.gz ZooKeeper: zookeeper-3.4.14.tar.gz 1.2 各节点角色分配 master: NameNode、SecondaryNameNode、HMaster、QuorumPeerMain slave1: DataNode、HMaster(候补节点)、HRegionServer、QuorumPeerMain slave2: DataNode、HRegionServer、QuorumPeerMain 2 HBase 下载 下载 hbase-1.2.6-bin.tar.gz 并在合适的位置解压缩,笔者这里解压缩的路径为: /usr/local 将解压得到的目录改名为 hbase 1 cd /usr/local 2 mv hbase-1.2.6/ hbase/ 3 添加 HBase 环境变量 在"

Hadoop

纵饮孤独 提交于 2019-12-05 06:39:58
  MapReduce: 能够将某个处理任务分割成任务单元 , 然后并行运行在集群中的各节点上 , 并且最后能搜集各节点上的结果做二次处理 , 直至得到最终结果的并行处理框架 ;     MapReduce 既是一种编程模型,也是一种与之关联的、用于处理和产生大数据集的实现。用户要特化一个 map 程序去处理 key/value 对,并产生中间 key/value 对的集合,以及一个 reduce 程序去合并有着相同 key 的所有中间 key/value 对。     计算过程就是输入一组 key/value 对,再生成输出一组 key/value 对。 MapReduce 库的使用者用两个函数来表示这个过程: map 和 reduce 。     map 由使用者编写,使用一个输入 key/value 对,生成一组中间 key/value 对。 MapReduce 库将有着相同中间 key I 的中间 value 都组合在一起,再传给 reduce 函数。     reduce 也由使用者编写,它接受一个中间 key I 和一组与 I 对应的 value 。它将这些 value 合并为一个可能更小的 value 集合。通常每个 reduce 调用只产生 0 或 1 个输出 value 。中间 value 是通过一个迭代器提供给 reduce 函数的

hadoop__WebUI只显示一个datanode

ぐ巨炮叔叔 提交于 2019-12-05 05:31:40
问题: hadoop集群不管怎么启动在hadoop管理界面都看到只有一个datanode 原因: 我hadoop集群搭建了三台机器,一台master,2台slave,slave1,slave2。slave1中间出了问题,被我删除之后,又从slave2复制了一台重新命名为slave1(这是在hadoop格式化之后复制的,VERSION的信息就一起过去了), 导致datanode的VERSION里面有2个id是一样的,datanodeUuid和storageID,因此在master:50070上死活只看到一个datanode。 解决方法: 手动删除slave1的VERSION文件,路径是 /usr/local/src/hadoop-2.6.1/tmp/dfs/data/current/VERSION 删除之后,重启hdfs集群。在slave1上jps一下,发现又报另外一个错误: rror occurred during initialization of VM java.lang.Error: Properties init: Could not determine current working directory. at java.lang.System.initProperties(Native Method) at java.lang.System

配置Hive

前提是你 提交于 2019-12-04 20:34:16
Hive是基于Hadoop构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据。其在Hadoop的架构体系中承担了一个SQL解析的过程,它提供了对外的入口来获取用户的指令然后对指令进行分析,解析出一个MapReduce程序组成可执行计划,并按照该计划生成对应的MapReduce任务提交给Hadoop集群处理,获取最终的结果。元数据——如表模式——存储在名为metastore的数据库中。 系统环境 1 2 3 192.168.186.128 hadoop-master 192.168.186.129 hadoop-slave MySQL安装在master机器上,hive服务器也安装在master上 Hive下载 下载源码包,最新版本可自行去官网下载 1 2 3 4 [hadoop@hadoop-master ~]$ wget http://mirrors.cnnic.cn/apache/hive/hive-1.2.1/apache-hive-1.2.1-bin.tar.gz [hadoop@hadoop-master ~]$ tar -zxf apache-hive-1.2.1-bin.tar.gz [hadoop@hadoop-master ~]$ ls apache-hive-1.2.1-bin apache-hive-1.2

flink on yarn 部署

社会主义新天地 提交于 2019-12-04 16:26:23
一、部署说明 flink是apache一款大数据实时计算应用,在生产环境中,用来实时计算应用产生的日志,数据等,满足预警,入库等需求 二、系统环境 系统版本:centos 7.2 java版本: jdk 1.8.0_161 zookeeper版本: zookeeper-3.4.9 hadoop版本: Hadoop-2.8.3.tar.gz flink版本: flink-1.4.0 四个机器,其中192.168.3.60作为flink 的master,也就是jobmanager,其它三个机器作为taskmanager 三、准备部署 1、关闭selinux sed ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/selinux/config 2、关闭防火墙 1234 firewall-cmd --state #查看防火墙状态systemctl stop firewalld.service #停用firewallsystemctl disable firewalld.service #禁止防火墙开机启动init 6 #重启主机,然后再输入第一条命令查看防火墙状态 3、安装jdk1.8 由于centos7.2自带jdk,但是是sun公司的jdk,一般我们都是用自己的jdk包,所以先卸载 12 rpm -qa | grep java | xargs

Hadoop2.2集群 ssh免密码登陆

醉酒当歌 提交于 2019-12-04 13:01:57
我搭建的7台机器,master,slaves1,node1,node2,node3,node4,node5 用户名是:hadoop,系统用的是centos6.5 64位 1、在master和各节点下的 /home/hadoop/.ssh 文件下执行了 ssh-keygen -t rsa 会产生文件: id_ras is_ras.pub 两个文件 2、 复制所有的 slave 服务器的公钥到 master 的 .ssh 目录下 在slave1机器上:scp ~/.ssh/id_rsa.pub hadoop@master:~/.ssh/slave1.pub node1机器上: scp ~/.ssh/id_rsa.pub hadoop@master:~/.ssh/node1.pub 其他的节点一次类推。 3、 在 master 服务器把所有服务器的公钥加入到用于认证的公钥文件: [hadoop@master ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys [hadoop@master ~]cat ~/.ssh/slave1.pub >> ~/.ssh/authorized_keys 4、 对 authorized_keys 进行授权: [hadoop@master ~]chmod 600 ~/.ssh/authorized_keys