Hadoop3.0快速入门

学习步骤:

三大组件的基本理论和实际操作Hadoop3的使用,实际开发流程结合具体问题,提供排查思路

开发技术栈:

Linux基础操作、Sehll脚本基础JavaSE、Idea操作MySQL

Hadoop简介

Hadoop是一个适合海量数据存储与计算的平台。是基于Google的GoogleFS、Map Reduce、BigTable实现的。

分布式存储介绍

分布式计算介绍

移动数据:数据 -> 计算程序移动计算:计算程序 -> 数据分布式计算:各个节点局部计算 -> 第二阶段汇总程序

Hadoop三大核心组件

HDFS(分布式存储系统)

架构分析:

HDFS负责海量数据的分布式存储。支持主从架构,主节点支持多个NameNode,从节点支持多个DataNode。NameNode负责接收用户请求,维护目录系统的目录结构。DataNode主要负责存储数据。

MapReduce(分布式计算框架)

架构分析:

MapReduce是一个编程模型,主要负责海量数据计算,主要由两个阶段组成:Map和Reduce。Map阶段是一个独立的程序,会在很多个节点上同时执行,每个节点处理一部分数据。Reduce节点也是一个独立的程序,在这先把Reduce理解为一个单独的聚合程序即可。

Yarn(资源管理与调度)

架构分析:

主要负责集权资源的管理和调度,支持主从架构,主节点最多可以有2个,从节点可以有多个。主节点(ResourceManager)进程主要负责集群资源的分配和管理。从节点(NodeManager)主要负责单节点资源管理。

大数据生态圈

Hadoop安装部署

Hadoop发行版介绍

官方版本:Apache Hadoop,开源,集群安装维护比较麻烦第三方发行版:Cloudera Hadoop(CDH),商业收费,使用Cloudera Manager安装维护比较方便第三方发行版:HortonWorks(HDP),开源,使用Ambari安装维护比较方便。

伪分布式集群安装部署(使用1台Linux虚拟机安装伪分布式集群)

1. 静态IP设置

192.168.56.101

2. 主机名设置(临时、永久)

cent7-1

3. hosts文件修改(配置IP与主机名映射关系)

cent7-1 localhost

4. 关闭防火墙(临时、永久)

systemctl status firewalld.service

systemctl stop firewalld

systemctl status firewalld.service

5. ssh免密登录

ssh-keygen -t rsa

cd /root

cd .ssh/

cat id_rsa

cat id_rsa.pub >> authorized_keys

ssh cent7-1

6. JDK1.8安装

tar -zxvf jdk-8u191-linux-x64.tar.gz

vi /etc/profile

source /etc/profile

# profile配置内容

export JAVA_HOME=/home/jdk8

export PATH=.:$JAVA_HOME/bin:$PATH

7. Hadoop伪分布式安装

# 解压Hadoop

tar -zxvf hadoop-3.2.4.tar.gz

# 进入配置文件目录

cd /home/hadoop-3.2.4/etc/hadoop

vi core-site.xml

vi hdfs-site.xml

配置core-site.xml

fs.defaultFS

hdfs://cent7-1:9000

true

hadoop.tmp.dir

/home/hadoop_repo

配置hdfs-site.xml

dfs.replication

1

配置hdfs-site.xml

mapreduce.framework.name

yarn

配置yarn-site.xml

yarn.nodemanager.aux-services

mapreduce_shuffle

yarn.nodemanager.env-whitelist

JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME

配置 hadoop-env.sh

export JAVA_HOME=/home/jdk8

export HADOOP_LOG_DIR=/home/hadoop_repo/logs/hadoop

初始化hdfs

# 在Hadoop的目录下执行以下命令,

bin/hdfs namenode -format

看到以下内容说明执行成功!注意:hdfs格式化只能执行一次,如果失败需要删除文件夹后再进行格式化。

启动

[root@cent7-1 hadoop-3.2.4]# sbin/start-all.sh

Starting namenodes on [cent7-1]

ERROR: Attempting to operate on hdfs namenode as root

ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.

Starting datanodes

ERROR: Attempting to operate on hdfs datanode as root

ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation.

Starting secondary namenodes [cent7-1]

ERROR: Attempting to operate on hdfs secondarynamenode as root

ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.

Starting resourcemanager

ERROR: Attempting to operate on yarn resourcemanager as root

ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting operation.

Starting nodemanagers

ERROR: Attempting to operate on yarn nodemanager as root

ERROR: but there is no YARN_NODEMANAGER_USER defined. Aborting operation.

# 提示缺少hdfs、yarn的用户信息

配置start-dfs.sh、stop-dfs.sh

vi sbin/start-dfs.sh

vi sbin/stop-dfs.sh

#增加配置

HDFS_DATANODE_USER=root

HADOOP_SECURE_DN_USER=hdfs

HDFS_NAMENODE_USER=root

HDFS_SECONDARYNAMENODE_USER=root

配置

vi sbin/start-yarn.sh

vi sbin/stop-yarn.sh

#增加配置

YARN_RESOURCEMANAGER_USER=root

HADOOP_SECURE_DN_USER=yarn

YARN_NODEMANAGER_USER=root

再次启动

[root@cent7-1 hadoop-3.2.4]# sbin/start-all.sh

WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER. Using value of HADOOP_SECURE_DN_USER.

Starting namenodes on [cent7-1]

上一次登录:三 8月 30 19:05:12 CST 2023从 192.168.56.1pts/1 上

Starting datanodes

上一次登录:三 8月 30 21:02:51 CST 2023pts/0 上

localhost: Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.

Starting secondary namenodes [cent7-1]

上一次登录:三 8月 30 21:02:56 CST 2023pts/0 上

Starting resourcemanager

上一次登录:三 8月 30 21:03:49 CST 2023从 192.168.56.1pts/3 上

Starting nodemanagers

上一次登录:三 8月 30 21:04:13 CST 2023pts/0 上

[root@cent7-1 hadoop-3.2.4]# jps

10146 NameNode

10386 DataNode

10883 SecondaryNameNode

11833 ResourceManager

12954 Jps

12155 NodeManager

# 展示除了jps外的五个Hadoop组件进程表示启动成功

浏览器确认启动成功

访问HDFS:http://192.168.56.101:9870/ 访问Hadoop:http://192.168.56.101:8088/

停止

sbin/stop-all.sh

分布式集群安装部署(使用3台Linux虚拟机安装分布式集群)

客户端节点安装介绍

HIVE安装部署

mysql安装部署

yum install mysql

hive下载与部署

apache-hive-hive-3.1.3安装包下载_开源镜像站-阿里云 (aliyun.com) source /etc/profile

export HIVE_HOME=/home/hive

export PATH=$HIVE_HOME/bin:$PATH

配置hive/conf/hive-site.xml文件

javax.jdo.option.ConnectionURL

jdbc:mysql://cent7-1:3306/hive?createDatabaseIfNotExist=true&useSSL=false

javax.jdo.option.ConnectionDriverName

com.mysql.jdbc.Driver

javax.jdo.option.ConnectionUserName

hdp

javax.jdo.option.ConnectionPassword

admin

hive.server2.authentication

CUSTOM

hive.server2.custom.authentication.class

com.ylw.CustomHiveServer2Auth

hive.server2.custom.authentication.file

/home/hive/user.pwd.conf

hive.jdbc_passwd.auth.root

admin

hive.metastore.port

9083

Hive metastore listener port

hive.server2.thrift.port

10000

Port number of HiveServer2 Thrift interface when hive.server2.transport.mode is 'binary'.

hive.server2.thrift.max.worker.threads

200

hive.metastore.local

false

controls whether to connect to remote metastore server or open a new metastore server in Hive Client JVM

hive.server2.transport.mode

binary

Expects one of [binary, http].

Transport mode of HiveServer2.

启动与停止hive

nohup hive --server metastore &

nohup hive --service hiveserver2 &

jps

#看到是否有两个runJar ,如果有说明启动成功

# 查看端口占用

netstat -anop |grep 10000

ps -aux|grep hive

文章链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: