Hadoop安装
hadoop安装
1. 安装jdk
a.复制jdk-xx.tar.gz 到~Downloads
b.解压
c. 移动到/soft ; 创建软连接ln -s /soft/jdk-xxx jdk
d.配置环境变量
[/etc/enviroment]
JAVA_HOME=/soft/jdk
PATH=".../soft/jdk/bin"
e. 刷新环境变量:$> source /etc/enviroment
f. 验证安装结果
$> java -version
2. 安装hadoop
a. 复制解压hadoop-xxx-tar.gz 到/soft/ ;创建软连接ln -s hadoop-xxx hadoop;
b. 增加环境变量,source生效
[/etc/enviroment]
HADOOP_HOME=/soft/hadoop
c. 重启系统,执行hadoop -version 确认安装结果
Hadoop 包含三个模块
1. Hadoop Common: 支持其他模块的基础模块
2. HDFS(Hadoop Distributed File System) 分布式文件系统,提供应用层数据的高吞吐量访问
[进程] 节点名称 功能
NameNode //名称节点 存放目录
DataNode //数据节点 存放数据
SecondaryNameNode //辅助名称节点 备份目录
启动脚本:start-dfs.sh/stop-dfs.sh
3. Hadoop YARN: 资源调度框架(作业调度和集群资源管理)
[进程]
ResourceManager // 资源管理器--RM
NodeManager //节点管理器--NM
start-yarn.sh/stop-yarn.sh
4. MapReduce : 基于yarn系统的对大数据集进行并行处理的技术
Hadoop 三种部署方式
1. Standalone/local
本地模式,安装后无需其他配置
查看文件系统的方式
hadoop fs -ls
查看java进程
jps
2. Pseudodistributed mode伪分布式:
单机运行所有服务(start-all.sh)
(name node, dataNode, 2namenode,RM 资源管理器,nameNode manager, )
配置文件:
[core-site.xml]
fs.defaultFS=hdfs://localhost:8020
[hdfs-site.xml]
dfs.replication=1
[mapred-site.xml]
mapreduce.framwork.name=yarn
[yarn-site.xml]
yarn.resourcemanager.hostname=localhost
3. Full distributed mode 完全分布式
不同节点运行不同服务,配置文件需要各个节点一样。
主机名:s100,s101,s102,s103,s104 为例
[core-site.xml]
fs.defaultFS=hdfs://s100:8020
[hdfs-site.xml]
dfs.replication=3
<name>dfs.namenode.secondary.http-address</name>
<value>s104</value>
[mapred-site.xml]
mapreduce.framwork.name=yarn
[yarn-site.xml]
yarn.resourcemanager.hostname=s100
yarn.nodemanager.aux-services=mapreduce_shuffle
[/soft/hadoop/etc/hadoop/slaves] #数据节点
s101
s103
s103
默认配置文件模板整理
[core-default.xml]
hadoop-common-2.7.2.jar/core-default.xml
[hdfs-default.xml]
hadoop-hdfs-2.7.2.jar/hdfs-default.xml
[yarn-default.xml]
hadoop-yarn-2.7.2.jar/yarn-default.xml
[mapred-default.xml]
hadoop-mapreduce-client-core-2.7.2.jar/mapred-default.xml
脚本分析
1.satart-all.sh
libexec/hadoop-config.sh -- 设置启动 变量
sbin/start-dfs.sh --config $HADOOP_CONF_DIR 启动hdfs
sbin/start-yarn.sh --config $HADOOP_CONF_DIR 启动yarn
2. libexec/hadoop-config.sh
各个模块的目录变量
COMMON_DIR
HADOOP_CONF_DIR=...
HEAP_SIZE=1000m
CLASS_PATH=...
3. sbin/start-dfs.sh --config $HADOOP_CONF_DIR
1) libexec/hdfs-config.sh
2) # 获得名称节点地址(主机名)
NAMENODES = hdfs getconf -namenodes
3) 启动名称节点
$HADOOP_PREFIX/sbin/hadoop-daemons.sh \
--config "$HADOOP_CONF_DIR" \
--hostnames "$NAMENODES" \
--script "$bin/hdfs" start namenode $nameStartOpt
4)启动dataNode
$HADOOP_PREFIX/sbin/hadoop-daemons.sh \
--config "$HADOOP_CONF_DIR" \
--script "$bin/hdfs" start datanode $nameStartOpt
5)启动2nn
"$HADOOP_PREFIX/sbin/hadoop-daemons.sh" \
--config "$HADOOP_CONF_DIR" \
--hostnames "$SECONDARY_NAMENODES" \
--script "$bin/hdfs" start secondarynamenode
4. libexec/hdfs-config.sh
libexec/hadoop-config.sh
5. sbin/hadoop-daemons.sh 启动守护进程脚本
1)libexec/hdfs-config.sh启动配置脚本
2)slaves.sh 启动数据节点
[bin/hadoop-daemon.sh]
常用命令
1. 格式化文件系统
hadoop namenode -format
2. put 向HDFS上传文件
hadoop fs -put <本地文件> <hdfs目录>
hdfs dfs -put <本地文件> <hdfs目录>
两种命令等价
3. 重命名文件 hdfs dfs -mv <原文件> <目的文件名>
4. 下载
hdfs dfs -get <fdfs 文件路径> <本地文件系统文件名>
hdfs dfs CopyToLocal <fdfs 文件路径> <本地文件系统文件名>
5. 移动到hdfs
hdfs dfs -moveFromeLocal <本地文件名>
6. 移动到本地
7. 删除文件
hdfs dfs -rm -r
8. 删除目录(空目录)
hdfs dfs -rmdir <xxx>
9. 在hdfs 上进行文件复制
hdfs dfs -cp /user/ubuntu/hello.txt /user/ubuntu/hello-back.txt
hadoop 配置信息
1. namenode 的本地目录配置成多个,则每个目录存放内容相同。【副本】
[hdfs-site.xml]
dfs.namenode.name.dir=file:///${hadoop.tmp.dir}/dfs/name1,file:///${hadoop.tmp.dir}/dfs/name2
2. datanode 也可以配置多个目录,不是副本。
[hdfs-site.xml]
dfs.datanode.data.dir=file:///${hadoop.tmp.dir}/dfs/data1,file:///${hadoop.tmp.dir}/dfs/data2
hadoop hdfs 文件块儿大小(128M)
磁盘寻道时间。10ms
磁盘IO速度:100MB/s
posted on 2020-10-09 15:06 zhangmingda 阅读(167) 评论(0) 编辑 收藏 举报