好程序员大数据学习路线分享hadoop的知识总结

大数据学习路线分享hadoop的知识总结,Hadoop的背景:原生公司是apache, cdh的cloudar公司,hortworks公司提供hdp。

其中apache的发行版本大致有1.x ,2.x,和3.x

1、由于海量数据的诞生,同时没有海量数据的存储和处理。来源google公司的gfs,mapreduce ,bigdata。

2、Hadoop的创始人是Doug cutting(据官网说,是他孩子当时玩的玩具是大象)

3、代码起源luence ----->nutch(mapreduce,ndfs)到hadoop

Hadoop1.x和2.x,3.x的区别是:

1、x和2.x最大的区别是2.x将资源管理单独提取出来使用yarn模块。2.x和3.x区别差不多。

大数据的应用:日志采集,推荐。

hadoop官方的对hadoop的解释:

The Apache? Hadoop? project develops open-source software for reliable, scalable, distributed computing.

hadoop框架允许使用简单模型来分布式处理集群中海量数据集

hadoop框架设计从单台服务器扩展成千上万台服务器,每一个都能提供本地的存储和计算。

hadoop框架设计本身就可以检测和处理应用层的失败(容错),而不是依赖硬件,因为集群中每一个都有可能失败。

hadoop包括四个模块:

common : 通用工具类支持其他hadoop的模块

hdfs (hadoop distribut file system): hadoop是分布式文件系统,提供高吞吐来处理应用数据

yarn : 作业调度和资源管理的框架

mapredcue : 基于yarn来并行处理海量数据集的系统

Hadoop分为单机版,伪分布式,全分布式。

单机版运行在单个jvm中,经常用于debug

伪分布式是运行在单机上多个虚拟机上的。

全分布式就是hadoop,运行在成千上万的集群上的。

集群的搭建需要先安装jdk,配置环境变量。

把hadoop解压安装到/usr/local下,

tar -zxvf /homo/hadoop-2.9.1.tar.gz -C /usr/local

Bin:操作hdfs 和mapreduce的可执行命令

Sbin:启停hadoop相关服务的可执行命令

Etc:hadoop相关配置文件目录

Lib ,libexec:相关执行或扩展库

Share:源码,文档和测试案例

然后配置环境变量。

Vi /etc/profile

export HADOOP_HOME=/usr/local/hadoop-2.7.1/

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:

Source /etc/profile //使配置生效

vi ./etc/hadoop/hadoop-env.sh 告诉hadoop的jdk目录

export JAVA_HOME=/usr/local/jdk1.8.0_152/

配置ssh免密登录:在hadoop上免密登录到其他的机器上。

1、在hadoop01上生成公司密钥对().

ssh-keygen -t rsa

2、将hadoop01的公钥拷贝到想免登陆的服务器中(hadoop02).

ssh-copy-id hadoop02

3、hadoop01给hadoop02发出请求信息,hadoop02接到去authorithd_keys找对应的ip和用户名,

能找到则用其对应公钥加密一个随机字符串(找不到则输入密码),然后将加密的随机字符串返回给hadoop01,hadoop01

接到加密后的字符然后用自己的私钥解密,然后再发给HAdoop02,hadoop02判断和加密之前的是否一样,

一样则通过登录,如果不一样则拒绝。

如果window中用私钥登录。需要从登录服务器中拉去对应用户的私钥(服务器中用户的家目录下的.ssh下的id_rsa)

放到windon中的某个目录,然后使用xshell进行私钥登录。

安装Zookeeper:

zookeeper安装:

1、上传并解压

tar -zxvf zookeeper-3.4.10.tar.gz -C /usr/local

vi /etc/profile

source /etc/profile

2、配置zookeeper的配置文件

cp zoo_sample.cfg zoo.cfg

vi zoo.cfg

# the directory where the snapshot is stored.

# do not use /tmp for storage, /tmp here is just

# example sakes.

dataDir=/usr/local/zookeeper-3.4.10/zkdata

#Add

server.1=hadoop01:2888:3888

server.2=hadoop02:2888:3888

server.3=hadoop03:2888:3888

3、创建数据目录zkdata

4、在zkdata下生成myid文件

5、分发zookeeper

scp -r zookeeper-3.4.10 root@hadoop02:$PWD

scp -r zookeeper-3.4.10 root@hadoop03:$PWD

6、到hadoop02、03机器上分别修改myid号

7、启动zookeeper进程

$ZOOKEEPER_HOME/bin/zkServer.sh start

$ZOOKEEPER_HOME/bin/zkServer.sh status

8、配置zookeeper的环境变量

vi $ZOOKEEER_HOME/bin/zkEnv.sh

9、客户端的测试

bin/zkCli.sh

help

在机器上规划模块的分配

hadoop01 192.168.137.81 datanode nodemanager zookeeper qjounalnode namenode resourcemanager zkfc

hadoop02 192.168.137.82 datanode nodemanager zookeeper qjounalnode namenode resourcemanager zkfc

hadoop03 192.168.137.83 datanode nodemanager zookeeper qjounalnode

然后配置hdfs-site,xml文件,core-site.xml 和yarn.xml,mapreduce-site.xml文件。

启动命令:start-all.sh 全启动(是启动hdfs和yarn的模块的所有服务)

停止命令:stop-all.sh 全停止(停止hdfs和yarn的模块的所有服务)

Start-dfs.sh hdfs的模块启动

Stop-dfs.sh hdfs的模块的停止

启动命令:start-all.sh 全启动(是启动hdfs和yarn的模块的所有服务)

停止命令:stop-all.sh 全停止(停止hdfs和yarn的模块的所有服务)

Start-dfs.sh hdfs的模块启动

Stop-dfs.sh hdfs的模块的停止

Start-yarn.sh yarn的模块启动

Stop-yarn.sh yarn的模块的停止

单个启动:

hadoop-daemon.sh start/stop namenode :启动单个namenode

hadoop-daemons.sh start/stop namenode :启动多个namenode

hadoop-daemon.sh start/stop datanode :启动单个datanode

hadoop-daemons.sh start/stop datanode :启动多个datanode

hadoop-daemon.sh start/stop secondarynamenode :启动单个secondarynamenode

hadoop-daemons.sh start/stop secondarynamenode :启动多个secondarynamenode

yarn-daemon.sh start/stop resourcemanager

如果是第一次启动集群的话,一定要严格遵循一下流程:

1、启动zookeeper集群(自己实现一个批量启动zk的脚本)

2、启动qjounalnode(在3台机器上都要启动)

/usr/local/hadoop-2.7.1/sbin/hadoop-daemon.sh start journalnode

3、格式化hdfs

hdfs namenode -format

4、单机启动namenode

hadoop-daemon.sh start namenode

5、数据同步

1、scp -r /usr/local/hadoopdata/dfs /

2、hdfs namenode -bootstrapStandby (在hadoop02上进行数据同步,就是把namenode复制到第二台机器上去)

6、格式化zkfc

hdfs zkfc -formatZK

7、启动hdfs集群

start-dfs.sh

8、启动yarn集群

start-yarn.sh

这样集群就搭建好了。(注意配置文件的注释不要写错没有空格)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190829A09B7400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券