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 + DataNodeYARN = ResourceManager + NodeManager一共需要启动5个进程。ResourceManager一般在NameNode上运行。NodeManager则一般放在DataNode上运行。
需要配置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
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的主要内容,如果未能解决你的问题,请参考以下文章