关键词:
前言
记录我在学习大数据技术中的学习笔记
目录
一、Hadoop介绍
Hadoop适合海量数据分布式存储和分布式计算
Hadoop的作者是Doug Cutting ,Hadoop这个作者的孩子给他的毛绒象玩具起的名字
二、Hadoop发行版介绍
Apache Hadoop:官方版本,开源
Cloudera Hadoop(CDH):商业版本,对官方版本做了一些优化,提供收费的技术支持,提供界面操作,方便集群运维管理
HortonWorks(HDP):开源,提供界面操作,方便运维管理
建议在实际工作中搭建大数据平台时选择CDH或者HDP,方便运维管理
三、Hadoop核心架构发展历史
Hadoop1.x
MapReduce(分布式计算),HDFS(分布式存储)
Hadoop2.x
MapReduce,Others,YARN(资源管理),HDFS
Hadoop3.x
MapReduce,Others,YARN,HDFS
四、Hadoop三大核心组件介绍
Hadoop主要包含三大组件:HDFS+MapReduce+YARN
HDFS负责海量数据的分布式存储
MapReduce是一个计算模型,负责海量数据的分布式计算
YARN主要负责集群资源的管理和调度
五、Hadoop集群安装部署
a、伪分布式集群安装部署
伪分布式集群安装:使用一台Linux机器【建议在后续学习阶段使用伪分布式集群】
1.下载hadoop安装包
这里我使用的是hadoop3.2.0这个版本,下面是官网下载链接
2.设置静态ip
vi /etc/sysconfig/network-scripts/ifcfg-ens33
3、修改主机名
零时设置
hostname 主机名
永久设置
vi /etc/hostname
4.关闭防火墙
零时关闭
systemctl stop firewalld
查看防火墙状态
systemctl status firewalld
永久关闭
systemctl disable firewalld
5.ssh 免密登录
ssh-keygen -t rsa
一直回车就行
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
登录时就不需要密码了
6.安装jdk
找到自己下载的jdk安装包,并通过Xshell上传至Linux中,解压jdk安装包
tar -zxvf jdk-8u202-linux-x64.tar.gz
重命名一下
mv jdk-8u202-linux-x64.tar.gz jdk1.8
配置环境
vi /etc/profile
在文件最后添加(后面的路径根据自己jdk所在位置)
xport JAVA_HOME=/data/soft/jdk1.8
export PATH=.:$JAVA_HOME/bin:$PATH
重新加载一下,使环境变量生效
source /etc/profile
测试是否配置成功
java -version
7. 上传Hadoop安装包
8.解压Hadoop安装包
tar -zxvf hadoop-3.2.0.tar.gz
9.配置环境变量
vi /etc/profile
在文件最后面添加
10.修改配置文件
cd /data/soft/hadoop-3.2.0/etc/hadoop
vi hadoop-env.sh
在文件末尾添加
export JAVA_HOME=/data/soft/jdk1.8
export HADOOP_LOG_DIR=/data/hadoop_repo/logs/hadoop
vi core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://主机名:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>存放日志的路径</value>
</property>
</configuration>
vi hedf-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>副本数</value>
</property>
</configuration>
vi mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>指定执行引擎</value>
</property>
</configuration>
vi yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>指定mapreduce计算框架</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
vi workers
将所有内容删除,改成自己的主机名
11.格式化hdfs
bin/hdfs namenode -format
12.修改启动脚本,添加用户信息
cd /data/soft/hadoop-3.2.0/sbin
vi start-dfs.sh
尽量加在文件上面点,因为后面的代码会使用到这些
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
vi stop-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
vi start-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
vi stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
13.启动集群
start-all.sh
14.查看集群是否启动成功
jps
看到这6个进程则为启动成功
hdfs 服务 端口号 : 9870
可以通过浏览器来进行访问
主机IP:9870
yarn 服务 端口号:8088
可以通过浏览器来访问
主机IP:8088
15. 配置windos中ip映射
在最后添加
16.停止集群
stop-all.sh
b、分布式集群安装
使用三台Linux机器
master(主节点)
NamNode ,Secondary namenode ,Resource Manager
slave(从节点1)
DataNode ,NodeManage
slave(从节点2)
DataNode ,NodeManager
1.准备三台机器
通过克隆之前的bigdatao2,来创建第三台机器
更改第三台机器的ip地址
第二台机器的配置
更改ip
vim /etc/sysconfig/network-scripts/ifcfg-ens33
更改主机名
零时设置
hostname 主机名
永久设置
vi /etc/hostname
主机名
防火墙
零时关闭
systemctl stop firewalld
查看防火墙状态
systemctl status firewalld
永久关闭
systemctl disable firewalld
免密登录
ssh-keygen -t rsa
一直回车
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
解压jdk
tar -zxvf jdk安装包名
配置环境变量
vi /etc/profile
export JAVA_HOME=/data/soft/jdk1.8
export .:$JAVA_HOME/bin:$PATH
第三台机器的配置和第二台机器的配置是一样的
2.修改三台机器中的hosts文件
vi /etc/hosts
192.168.10.100 bigdata01
192.168.10.101 bigdata02
192.168.10.102 bigdata03
192.168.10.103 bigdata04
192.168.10.104 bigdata05
三台机器都要修改,内容都是一样的
3.同步三台机器的时间
yum install -y netdate
ntpdata -u ntp.sjtu.edu.cn
添加到定时任务中
vi /etc/crontab
* * * * * root /usr/sbin/ntpdate -u ntp.sjtu.edu.cn
三台机器都要执行
4.主节点实现免密登录其他从节点
先拷贝到家目录下
到主节点
scp ~/.ssh/authorized_keys bigdata02:~/
scp ~/.ssh/authorized_keys bigdata03:~/
到从节点1
cat ~/authorized_keys >> ~/.ssh/authorized_keys
到从节点2
cat ~/authorized_keys >> ~/.ssh/authorized_keys
5.解压Hadoop安装包
tar -zxvf hadoop安装包名
6.修改Hadoop配置信息
/data/soft/hadoop-3.2.0/etc/hadoop
vi hadoop-env.sh
export JAVA_HOME=/data/soft/jdk1.8
export HADOOP_LOG_DIR=/data/hadoop_repo/logs/hadoop
vi core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://主节点主机名:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>日志目录</value>
</property>
</configuration>
vi hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>副本数</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>bigdata01:50090</value>
</property>
</configuration>
vi mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
vi yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>指定resourcemanager节点在那个机器上执行</value>
</property>
</configuration>
vi workers
bigdata02
bigdata03
修改启动脚本
vi start-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
stop-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
start-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
7.纷发Hadoop文件夹
scp -rq Hadoop文件名 bigdat02:/data/soft
scp -rq hadoop-3.2.0 bigdata03:/data/soft
8、格式化hdfs
hdfs namenode -format
9.启动集群
start-all.sh
10.关闭集群
stop-all.sh
c、Hadoop的客户端节点
在实际工作中不建议直接连接集群中的节点来操作集群,直接把集群中的节点暴露给普通开发人员是不安全的
建议在业务机器上安装Hadoop,这样就可以在业务机器上操作Hadoop机器了,此机器就称为Hadoop的客户端节点
大数据—hadoop(入门篇一)(代码片段)
...e基金会所开发的分布式系统基础架构主要解决,海量数据的存储和海量数据的分析计算问题广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈高可靠性:Hadoo 查看详情
学习笔记hadoop——hadoop基础操作——hadoop安全模式hadoop集群基本信息(代码片段)
...。安全模式主要是为了系统启动的时候检查各个DataNode上数据块的有效性,同时根据策略必要的复制或者删除部分数据块。运行期通过命令也可以进入安全模式。实际操作中 查看详情
学习笔记hadoop——hadoop基础操作(代码片段)
文章目录一、Hadoop安全模式1.1、HDFS启动日志分析1.2、Safemode进入方式二、Hadoop集群基本信息三、HDFS常用Shell操作3.1、HDFS文件系统3.2、常用Shell命令-appendToFile3.3、常用Shell命令-cat3.4、常用Shell命令-copyFromLocal|put3.5、常用Shell命令-cp3... 查看详情
python大数据分析学习基础篇——数据结构(代码片段)
一、函数部分1、闭包所谓闭包其实跟回调函数有有相通之处。闭包可以延长作用时间和作用域。defsay(word):defname(name):print(word,name)returnnamehi=say('你好')hi("小明")bye=say("再见")bye("小明")运行结果:... 查看详情
hadoop基础学习笔记
...志信息监控目录告警和日志信息监控实验一:查看大数据平台日志信息 实验任务一:查看大数据平台主机日志步骤一:查看内核及公共消息日志(/var/log/messages)。步骤二:查看计划任务日志/... 查看详情
大数据讲课笔记3.1hadoop安装准备(代码片段)
文章目录零、学习目标一、导入新课二、新课讲解(一)Hadoop集群拓扑1、集群拓扑2、角色分配(二)虚拟机安装(三)虚拟机克隆1、克隆类型(1)完整克隆(2)链接克隆2、克隆步骤(... 查看详情
hadoop学习笔记hdfs基础命令(代码片段)
HDFS基础命令lshdfsdfs-ls/ls-Rhdfsdfs-ls-R/mkdirhdfsdfs-mkdir-p/hao/okputhdfsdfs-put/root/a.txt/dir1moveFromLocalhdfsdfs-moveFromLocal/root/hao.txt/gethdfsdfs-get/dir2/dir22/a.txt./mvhdfsdfs-mv/dir1/a.txt/ 查看详情
python大数据分析学习基础篇——初识python(代码片段)
1、代码注释方法(1)在一行中,“#”后的语句不被执行,表示被注释。(2)如果要进行大段的注释,可以使用3个单引号(‘’‘)或者三个双引号(“”“)将注释内容包围。2、用缩进表... 查看详情
hadoop学习笔记之hadoop基础(代码片段)
一、虚拟机的防火墙开关1查看防火墙状态:systemctlstatusfirewalld2、关闭防火墙:systemctlstopfirewalld3、开机防火墙不启动:systemctldisablefirewalld二、查看虚拟机当前的ip地址第一种方法:ifconfig-a第二种方法:ipaddrwin... 查看详情
python大数据分析学习基础篇——spyder和numpy(代码片段)
...2、变量浏览变量是代码执行过程中暂时停留在内存中的数据 查看详情
计算机基础学习笔记:操作系统篇之硬件结构,cpucache基础概念(代码片段)
三、CPUCache的数据结构和读取过程本文知识来源小林Coding阅读整理思考,原文链接请见该篇文章Cache结构CPUCache是由很多个CacheLine组成的,CacheLine是CPU从内存读取数据的基本单位,而CacheLine是由各种**标志(Tag)... 查看详情
学习笔记尚硅谷hadoop大数据教程笔记
...、使用和编写代码不在我考虑的范围内。一、Hadoop入门大数据的特点:Volume(大量)Velocity(高速)Variety 查看详情
学习笔记尚硅谷hadoop大数据教程笔记
...、使用和编写代码不在我考虑的范围内。一、Hadoop入门大数据的特点:Volume(大量)Velocity(高速)Variety 查看详情
python大数据分析学习基础篇——异常与函数(代码片段)
...正常执行过程中出现的一些异常情况,如语法错误、数据除零错误、从未定义的变量上取值等;而try/finall语句则主要用于监控错误的环节。尽管作用不同,但是在编程实践中通常把他们结合在一起,Python中try/excep... 查看详情
学习笔记hadoop——hadoop基础操作——hdfs常用shell操作(代码片段)
三、HDFS常用Shell操作3.1、HDFS文件系统HDFSShell指的是可以使用类似shell的命令来直接和Hadoop分布式文件系统(HDFS)进行交互。使用命令:bin/hadoopfs<args>bin/hdfsdfs<args>参数中的路径使用scheme://authority/path的格式... 查看详情
尚硅谷大数据hadoop教程-笔记01入门(代码片段)
视频地址:尚硅谷大数据Hadoop教程(Hadoop3.x安装搭建到集群调优)尚硅谷大数据Hadoop教程-笔记01【入门】尚硅谷大数据Hadoop教程-笔记02【HDFS】尚硅谷大数据Hadoop教程-笔记03【MapReduce】尚硅谷大数据Hadoop教程-笔记04【Ya... 查看详情
夜斗大数据之java篇:迭代器(代码片段)
Java基础学习打卡:day03笔记:动力节点packagecom.hit.demo8;importjava.util.ArrayList;importjava.util.Collection;importjava.util.HashSet;importjava.util.Iterator;/**关于集合遍历/迭代专题**/publicclassCollectionTe 查看详情
夜斗大数据之java篇:迭代器(代码片段)
Java基础学习打卡:day03笔记:动力节点packagecom.hit.demo8;importjava.util.ArrayList;importjava.util.Collection;importjava.util.HashSet;importjava.util.Iterator;/**关于集合遍历/迭代专题**/publicclassCollectionTe 查看详情