Hadoop学习笔记-1

一. 基本操作

1. Ubuntu从桌面模式切换到文本模式

快捷键:Ctrl+Alt+F6

2. Ubuntu从文本模式切换到桌面模式

快捷键:Ctrl+Alt+F7

二. 基本概念

1. 大数据的容量单位换算(单位byte)

1024B=1K
1024K=1M
1024M=1G
1024G=1T
1024T=1P
1024P=1E
1024E=1Z
1024Z=1Y
1024Y=1N
1024N=1D

2. 大数据不支持OLAP。OLAP必须借助集群的数据仓库。

3. 大数据的4V特征

- Volume: 体量大,TB级

- Velocity: 速度快

- Variaty: 多样式

- Value: 价值密度低

4. Hadoop的四个模块

- Hadoop common

- Hadoop Distributed File System(HDFS)

- Hadoop Mapreduce

- Hadoop YARN

Hadoop是前端,前端将任务分发给后端的HDFS,Mapreduce及YARN模块进行处理。

三. Hadoop的安装

1. 安装JDK

- 配置环境变量JAVA_HOME

- 配置环境变量PATH

2. tar解压hadoop安装包

- 配置环境变量HADOOP_HOME

- 配置环境变量PATH

3. 配置Hadoop

3.1 Standalone | local

没有守护进程,所有程序运行在同一JVM中,有利于test和debug。
使用本地真机的文件系统。不启动相关进程。

3.2 Pseudo distributed Mode

配置文件:

${HADOOP_HOME}/etc/hadoop/*-site.xml

注:可以把${HADOOP_HOME}/etc/hadoop/做成符号链接,指向不同模式的配置目录。或者通过hdfs --config configdir来指定配置目录。

可以看到的文件有
core-site.xml

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost</value>
  </property>
</configuration>

hdfs-site.xml

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

mapred-site.xml(可参考)mapred-site.xml.template

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>

yarn-site.xml

<configuration>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>localhost</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
</configuration>

基本概念
HDFS = NameNode + SecondaryNameNode + DataNode
YARN = ResourceManager + NodeManager
一共需要启动5个进程。ResourceManager一般在NameNode上运行。NodeManager则一般放在DataNode上运行。
Node的概念

需要配置SSH密钥登陆。
NameNode所在主机需要SSH免密登陆到DataNode主机上。

在Ubuntu上查询并安装SSH

  • 查询
sudo apt-cache search ssh | grep ssh
  • 安装(含服务端和客户端)
sudo apt-get install ssh
  • 生成密钥对
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

注意伪分布式是只在本地Hi。

  • 格式化文件系统
$ hdfs namenode -format
  • 启动进程
$ start-dfs.sh
$ start-yarn.sh
或者
$ start-all.sh
  • 启动的进程
数据节点上
NameNode
SecondaryNameNode
DataNode
DataManager
名称节点上
NameNode
SecondaryNameNode
DataNode
ResourceManager
DataManager
  • 停止进程
$ stop-yarn.sh
$ stop-dfs.sh
或者
$ stop-all.sh #已过时
  • 配置目录的指定方式

~ 默认方式(指定目录)

${hadoop_home}/etc/hadoop/*.xml

~ 在命令行参数中给出

$ start-dfs.sh --config /path/to/hadoop command

~ 设置环境变量

HADOOP_CONF_DIR=/path/to/hadoop
  • 测试一下
# 文件系统的根全称 hdfs://localhost/
# 本地文件系统的根是 file:///
$ hadoop fs -mkdir -p /user/$USER

$ hadoop fs -ls -R /
或者
# 这里的localhost可以使用其他hostname或IP指向其他主机
$ hadoop fs -ls -R hdfs://localhost/

$ hadoop fs -ls file:///
或者
$ hadoop fs -ls file:/

hadoop默认以/user/$USER作为当前目录
$ hadoop fs  # 直接回车,获得帮助
$ hadoop fs -help put # 获得具体命令的帮助
$ hadoop fs -put hello.txt . 

注:文件/目录信息都存储在/tmp/hadoop-$USER/dfs/下。
目录信息在namenode中,文件内容在datanode中。

  • 查看log
    通过日志文件查看日志
${hadoop_home}/logs/

通过web方式查看日志

# NameNode
http://localhost:50070

# ResourceManager
http://localhost:8088

# HistoryServer
http://localhost:19888

注:目录没有副本(Replication),但文件有副本。hadoop默认的Block size为128M。

3.3 Full distributed Mode

3.3.1 安装java
3.3.2 创建用户
3.3.3 安装hadoop

有用的命令scp

scp root@node1:/etc/hosts root@node2
3.3.4 配置免密登陆的ssh
3.3.5 格式化
3.3.6 启动进程

完全分布式比为分布式就多了个slaves配置。
slaves是个纯文本的配置文件。在伪分布配置时就一行“localhost”。每个主机一行。
start-dfs.sh只需在NameNode上启动即可。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hadoop是一个开源的分布式计算框架,可用于大数据的存储和处理。它采用了分布式文件系统(HDFS)和分布式计算框架(MapReduce),能够将大数据分割成小的数据块,并在集群中的多台计算机上并行处理这些数据块。 HDFS是Hadoop的分布式文件系统,它将大文件切分为多个数据块,并将这些数据块存储在集群中的多个计算机上。HDFS使用主从架构,其中NameNode负责管理文件系统的元数据,而多个DataNode负责实际存储数据。HDFS具有高容错性,能够自动复制数据块以保证数据的可靠性。 MapReduce是Hadoop的分布式计算框架,它通过将计算任务划分为多个Map和Reduce阶段来进行并行计算。Map阶段将输入数据切分为多个独立的小任务,并在集群中的多个计算机上并行执行。Reduce阶段将Map阶段的输出合并并进行聚合计算。MapReduce具有自动并行化、容错性和可扩展性等优点,能够高效地处理大规模数据集。 在学习Hadoop时,首先要了解Hadoop的核心组件,包括HDFS和MapReduce。然后,需要学习Hadoop的架构和工作原理,理解Hadoop如何实现分布式存储和计算。接下来,需要学习Hadoop的安装和配置,包括在单机和集群环境下的安装和配置过程。此外,还需要学习Hadoop的命令行工具和管理工具,以及Hadoop的API和编程模型。 在实际使用Hadoop时,需要掌握Hadoop的常用操作和管理技巧,如如何上传和下载文件、如何执行MapReduce作业、如何监控和管理Hadoop集群等。同时,需要学习Hadoop的优化技术和调优方法,以提高Hadoop集群的性能和效率。 总之,对于Hadoop学习,除了理解其基础知识和工作原理外,还需要熟悉其常用操作和管理技巧,以及灵活运用Hadoop来解决实际的大数据问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值