Hadoop学习笔记-1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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上运行。

Hadoop学习笔记-1_hadoop

需要配置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

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

3.3 Full distributed Mode

Hadoop学习笔记-1_hadoop_02

3.3.1 安装java

3.3.2 创建用户

3.3.3 安装hadoop

有用的命令scp

scp

3.3.4 配置免密登陆的ssh

3.3.5 格式化

3.3.6 启动进程

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


以上是关于Hadoop学习笔记-1的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop权威指南学习笔记二

大数据学习笔记~Hadoop基础篇

Hadoop 系统性学习笔记系列

Hadoop学习笔记 Hadoop文件系统二

hadoop学习笔记:02.卸载和安装jdk

学习笔记Hadoop—— Hadoop基础操作