Centos7 搭建hadoop2.7.2、hbase伪分布式集群

官网地址:https://hadoop.apache.org/

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统( Distributed File System),其中一个组件是HDFS(Hadoop Distributed File System)。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFSMapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算 [1]。

优点

Hadoop是一个能够对大量数据进行分布式处理软件框架。 Hadoop 以一种可靠、高效、可伸缩的方式进行数据处理。

Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理

Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。

Hadoop 还是可伸缩的,能够处理 PB 级数据。

此外,Hadoop 依赖于社区服务,因此它的成本比较低,任何人都可以使用。

Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。它主要有以下几个优点 [3]:

1.高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖 [3]。

2.高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中 [3]。

3.高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快 [3]。

4.高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配 [3]。

5.低成本。与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,hadoop是开源的,项目的软件成本因此会大大降低 [3]。

Hadoop带有用Java语言编写的框架,因此运行在 Linux 生产平台上是非常理想的。Hadoop 上的应用程序也可以使用其他语言编写,比如 C++ [3]。

Hadoop大数据处理的意义

Hadoop得以在大数据处理应用中广泛应用得益于其自身在数据提取、变形和加载(ETL)方面上的天然优势。Hadoop的分布式架构,将大数据处理引擎尽可能的靠近存储,对例如像ETL这样的批处理操作相对合适,因为类似这样操作的批处理结果可以直接走向存储。Hadoop的MapReduce功能实现了将单个任务打碎,并将碎片任务(Map)发送到多个节点上,之后再以单个数据集的形式加载(Reduce)到数据仓库里 [3]。

构建案例:

前期准备

修改主机名

bash 复制代码
hostname   master
bash


或者
hostnamectl  set-hostname  master
bash

修改静态IP

bash 复制代码
vi /etc/sysconfig/network-scripts/ifcfg-ens33

##配置如下
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=327271d1-0f7c-488e-9896-7c245a2b7152
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.12.111
PREFIX=24
GATEWAY=192.168.12.2
DNS1=8.8.8.8
DNS2=114.114.114.114
# PEERDNS=no

关闭防火墙

bash 复制代码
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld

iptables -F

setenforce 0

修改IP映射

bash 复制代码
vi /etc/hosts
配置如下图

配置SSH免密码登录

01.检验是否已经安装SSH

bash 复制代码
rpm -qa | grep ssh

02.配置

bash 复制代码
# cd ~/.ssh/  #若无SSH目录,则需要先执行一次ssh localhost
# ssh-keygen  -t  rsa   #会有提示,直接按回车即可
# cat id_rsa.pub >> authorized_keys  #加入授权
# chmod 600 ./authorized_keys  #修改文件权限

03.验证

bash 复制代码
# ssh localhost

(完全分布式需要配置集群时间同步)

安装jdk

检查

bash 复制代码
rpm -qa | grep jdk

如果有预装的openjdk,删除它

bash 复制代码
rpm  -e  --nodeps 软件名

解压

bash 复制代码
tar -zxvf jdk-8u144-linux-x64.tar.gz

改名

bash 复制代码
mv jdk1.8.0_144/ jdk1.8

配置环境变量

bash 复制代码
vi /etc/profile

##末行配置如下
export JAVA_HOME=/opt/hadoop/jdk1.8
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=.:$PATH:$JAVA_HOME/bin

配置文件生效

bash 复制代码
source /etc/profile

验证

bash 复制代码
Java  -version

Hadoop2.7.2伪分布式安装

  1. 解压hadoop安装包
  2. 配置环境变量
  1. 修改hadoop配置文件
  2. hadoop-env.sh
  3. core-site.xml
  4. Hdfs-site.xml
  5. Mapred-site.xml
  6. Yarn-site.xml
  7. Slaves(完全分布式)

格式化集群(只在第一次启动时执行)

启动

查看web ui

IP:50070

命令

jps验证

查看分布式文件系统根目录

上传文件

配置hbase1.3.1伪分布式集群

(此时还没有安装zookeeper,我们用hbase自带zk)

  1. 解压安装包
  2. 配置环境变量

vi /etc/profile

配置如下:

修改配置文件

Hbase安装包下conf目录

启动

先启动hadoop集群

start-all.sh

启动hbase集群

start-hbase.sh

关闭

和启动顺序相反,把上边命令中的start换成stop

验证

查看webUi

主机IP:16010

Jps命令

HMaster

HRegionserver

HQuorumPeer #这是zookeeper进程

Hbase配置文件添加内容

Hbase-site.xml

Hbase shell操作

相关推荐
心灵宝贝2 小时前
如何在 Mac 上安装 MySQL 8.0.20.dmg(从下载到使用全流程)
数据库·mysql·macos
奋斗的牛马3 小时前
OFDM理解
网络·数据库·单片机·嵌入式硬件·fpga开发·信息与通信
原来是好奇心3 小时前
消息队列终极选型:RabbitMQ、RocketMQ、Kafka与ActiveMQ深度对比
分布式·kafka·rabbitmq·rocketmq·activemq·mq
忧郁的橙子.3 小时前
一、Rabbit MQ 初级
服务器·网络·数据库
杰杰7984 小时前
SQL 实战:用户访问 → 下单 → 支付全流程转化率分析
数据库·sql
爬山算法4 小时前
Redis(120)Redis的常见错误如何处理?
数据库·redis·缓存
野生技术架构师4 小时前
盘一盘Redis的底层数据结构
数据结构·数据库·redis
9ilk4 小时前
【仿RabbitMQ的发布订阅式消息队列】 ---- 功能测试联调
linux·服务器·c++·分布式·学习·rabbitmq
EelBarb4 小时前
sqlite数据库迁移至mysql
数据库·mysql·sqlite