IT十八掌徐培成HADOOP笔记28068.docx

上传人:b****2 文档编号:1832543 上传时间:2023-05-01 格式:DOCX 页数:50 大小:35.57KB
下载 相关 举报
IT十八掌徐培成HADOOP笔记28068.docx_第1页
第1页 / 共50页
IT十八掌徐培成HADOOP笔记28068.docx_第2页
第2页 / 共50页
IT十八掌徐培成HADOOP笔记28068.docx_第3页
第3页 / 共50页
IT十八掌徐培成HADOOP笔记28068.docx_第4页
第4页 / 共50页
IT十八掌徐培成HADOOP笔记28068.docx_第5页
第5页 / 共50页
IT十八掌徐培成HADOOP笔记28068.docx_第6页
第6页 / 共50页
IT十八掌徐培成HADOOP笔记28068.docx_第7页
第7页 / 共50页
IT十八掌徐培成HADOOP笔记28068.docx_第8页
第8页 / 共50页
IT十八掌徐培成HADOOP笔记28068.docx_第9页
第9页 / 共50页
IT十八掌徐培成HADOOP笔记28068.docx_第10页
第10页 / 共50页
IT十八掌徐培成HADOOP笔记28068.docx_第11页
第11页 / 共50页
IT十八掌徐培成HADOOP笔记28068.docx_第12页
第12页 / 共50页
IT十八掌徐培成HADOOP笔记28068.docx_第13页
第13页 / 共50页
IT十八掌徐培成HADOOP笔记28068.docx_第14页
第14页 / 共50页
IT十八掌徐培成HADOOP笔记28068.docx_第15页
第15页 / 共50页
IT十八掌徐培成HADOOP笔记28068.docx_第16页
第16页 / 共50页
IT十八掌徐培成HADOOP笔记28068.docx_第17页
第17页 / 共50页
IT十八掌徐培成HADOOP笔记28068.docx_第18页
第18页 / 共50页
IT十八掌徐培成HADOOP笔记28068.docx_第19页
第19页 / 共50页
IT十八掌徐培成HADOOP笔记28068.docx_第20页
第20页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

IT十八掌徐培成HADOOP笔记28068.docx

《IT十八掌徐培成HADOOP笔记28068.docx》由会员分享,可在线阅读,更多相关《IT十八掌徐培成HADOOP笔记28068.docx(50页珍藏版)》请在冰点文库上搜索。

IT十八掌徐培成HADOOP笔记28068.docx

IT十八掌徐培成HADOOP笔记28068

Hadoop

本机集群机器:

211212215216四台对应s100s101s102s103s104

Ubuntu204-server-64-2-00100s100211node1

Ubuntu204-server-64-2-01101s101212node2

Ubuntu204-server-64-2-02102s102215node3

Ubuntu204-server-64-2-03103s103215node3

Ubuntu204-server-64-2-04104s104216node4

a)bigdate

海量数据:

1byte=8bit

1024B=1M2^10

1024M=1G2^10

1024G=1T2^10

1024T=1P2^10

1024P=1E2^10

1024E=1Z2^10

1024Z=1Y2^10

123123

1024Y=1N2^10

存储分布式存储

计算分布式计算

Hadoop(一头大象)Dougcutting

Hadoop可靠,可伸缩,分布式计算的开源软件。

HDFS

去IOE(IBM+oracle+EMC)

MapReduce

MR//映射和化简,编程模型

推荐

Bigdata4V

1)Volumn//题量大

2)Variaty//样式多

3)Velocity//速度快

4)Valueless//价值密度低

b)Hadoop的安装:

(安装ubuntu系统)

安装jdk

Ln–s/soft/jdk-xxxjdk

配置环境变量

JAVA_HOME=/soft/jdk

PATH=”…:

/soft/jdk/bin”

Source/etc/environment

Java–version

安装hadoop

Hadoop.tar.gz

Hadoopversion

配置环境变量

HADOOP_HOME

PATH

配置hadoop分三个模式:

1.standelone|local//独立/本地模式,使用的本地文件系统

Nothing

查看文件系统的方式:

查看文件系统hadoopfs–ls/

没有守护进程,所有程序运行在同一JVM中,利用test和debug.

2.PaeudodistributedMode//伪分布模式

3.Fullydistributedmode//完全分布式

配置SSH

1)安装ssh

$sudoapt-getinstallssh

2)生成密钥对

Ssh-keygen–trsa–P‘’–f~/.ssh/

Cd~/.ssh

3)导入公钥数据到授权库中

Cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys

4)登录到localhost

Sshlocalhost

5)格式化hdfs文件系统

Hadoopnamenode-format

6)启动所以进程

Start-all.sh

7)查看进程

Jps//5RMNMNNDN2NN

8)查看文件系统

Hadoopfs-ls

9)创建文件系统

Hadoopfs–mkdir–p/user/Ubuntu/data

Hadoopfs–ls–R/

c)Hadoop包含三个模块

1)Hadoopcommon:

支持其他模块的工具模块

2)HadoopDistributedFileSystem(HDFS)

分布式文件系统,提供了对应用程序数据的高吞吐量访问。

进程:

NameNode名称节点NN

DataNode数据节点DN

SecondaryNamenode辅助名称节点2ndNN

3)HadoopYARN:

作业调度与集群资源管理的框架。

进程

ResourceManager资源管理—RM

NodeManager节点管理器—NM

4)HadoopMapReduce:

基于yarn系统的对大数据集进行并行处理技术

配置hadoop

1)Standelone/local

 

d)完全分布式安装:

1)准备5台客户机

本人集群机器:

211212215216四台对应s100s101s102s103s104

ip主机名ip主机名

1.Ubuntu204-server-64-2-00100s100211node1

2.Ubuntu204-server-64-2-01101s101212node2

3.Ubuntu204-server-64-2-02102s102215node3

4.Ubuntu204-server-64-2-03103s103215node3

5.Ubuntu204-server-64-2-04104s104216node4

2)安装ssh

1)安装ssh

$sudoapt-getinstallssh

2)生成密钥对

ssh-keygen–trsa–P‘’–f~/.ssh/

cd~/.ssh

3)导入公钥数据到授权库中

cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys

scp/root/.ssh/*node2@:

/root/.ssh/

scp/root/.ssh/*node3@:

/root/.ssh/

scp/root/.ssh/*node2@:

/root/.ssh/

4)登录其他机器:

sshnode1

ifconfig

3)安装jdk

1.rpm-ivh/opt/jdk-7u79-linux-x64.rpm

2.ln–s/soft/jdk-xxxjdk

3.配置环境变量

4.JAVA_HOME=/soft/jdk

5.PATH=”…;/soft/jdk/bin”

6.source/etc/profile

7.java–version

4)安装hadoop

1.tar–zxvfhadoop-2.7.3.tar.gz

2.Hadoopversion

3.配置环境变量

4.HADOOP_HOME=/soft/hadoop-2.7.3

5.PATH=…:

$HADOOP_HOME/bin:

$HADOOP_HOME/sbin

6.配置hadoop

查看文件系统hadoopfs–ls/

配置文件/etc/hadoop/

core-site.xml

fs.default.name

hdfs:

//node1:

8020

Hdfs-site.xml

dfs.replication

3

Mapred-site.xml

mapreduce.framework.name

yarn

Yarn-site.xml

yarn.resourcemanager

localhost

yarn.nodemanager.aux-services

mapreduce_shuffle

 

5)配置文件

-rw-r--r--.1rootroot8616月610:

41core-site.xml

-rw-r--r--.1rootroot9506月610:

41hdfs-site.xml

-rw-r--r--.1rootroot8446月610:

41mapred-site.xml

-rw-r--r--.1rootroot7286月610:

43yarn-site.xml

-rw-r--r--.1rootroot126月610:

43slaves

 

/soft/hadoop/etc/hadoop/core-site.xml

fs.defaultFS=hdfs:

//node1/

/soft/hadoop/etc/hadoop/hdfs-site.xml

replication=3

dfs.namenode.secondary.http-address=node4:

50090

/soft/hadoop/etc/hadoop/mapred-site.xml

mapreduce.framework.name=yarn

soft/hadoop/etc/hadoop/yarn-site.xml

yarn.resourcemanager.hostname=node1

/soft/hadoop/etc/hadoop/slaves

node2

node3

在集群上分发以上三个文件

cd/soft/hadoop/etc/hadoop

xsynccore-site.xml

xsyncyarn-site.xml

xsyncslaves

6)首次启动hadoop

1)格式化文件系统

$>hadoopnamenode-format

2)启动所有进程

$>start-all.sh

3)查询进程

jsp

4)停止所有进程

Stop-all.sh

使用webui访问hadoophdfs

1)hdfshttp:

/node1:

50070

2)dataNodehttp:

//node2:

50075

3)2nnhttp:

//node4:

50090

删除hadoop临时目录数据:

默认:

/tmp/hadoop-roothadoop-root-datanode.pid(伪分布式产生)

 

e)几种脚本scprsyncxsyncxcall

1)scp

2)rsync远程同步工具主要备份和镜像支持链接,设备。

rsync–rvl/soft/*ubuntu@s101:

/soft

3)自定义脚本xsync,在集群上分发文件

循环复制文件到所以节点的相同目录下

rsync–rvl/home/Ubuntuubuntu@s101:

xsynchello.txt

[/usr/local/bin/xsync]

[root@node1bin]#vimxsync

#!

/bin/bash

pcount=$#

if((pcount<1));then

echonoargs;

exit;

fi

p1=$1;

#获取文件名称

fname=`basename$p1`

echofname=$fname;

#获取上级目录的绝对路径

pdir=`cd-P$(dirname$p1);pwd`

echopdir=$pdir;

#echo$p1;

cuser=`whoami`

for((host=2;host<5;host=host+1));do

echo----------node$host---------

#echo$pdir/$fname$cuser@node$host:

$pdir

scp$pdir/$fname$cuser@node$host:

$pdir

done

 

4)编写/usr/local/bin/xcall脚本,在所有主机上执行相同的命令

xcallrm–rf/soft/jdk

[/usr/local/bin/xcall]

[root@node1bin]#cd/usr/local/bin

[root@node1bin]#xcallls-l/soft/

[root@node1bin]#xcallrmhello.txt

[root@node1bin]#vimxcall

#!

/bin/bash

pcount=$#

if((pcount<1));then

echonoargs;

exit;

fi

echo--------localhost-------

$@

echo$@

for((host=2;host<5;host=host+1));do

echo----------node$host---------

#scp$pdir/$fname$cuser@node$host:

$pdir

sshnode$host$@

done

 

f)整理hadoop的所有类库和配置文件

解压缩hadoop-2.7.2.tar.gz到目录下

整理jar包

抽取所有配置文件

[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-common-2.7.3.jar/hdfs-default.xml

[mapred-default.xml]

hadoop-mapreduce-client-core-2.7.2.jar/mapred-default.xml

g)hadoopfs/使用:

hadoopfs–mkdir–p/user/Ubuntu/data

hadoopfs–puthello.txt/user/Ubuntu/data/

hdfsdfs-lsr/

hdfsdfs-cat/user/hello.txt

 

./hadoopfs-ls/

./hadoopfs–ls–R/

./hadoopfs-mkdirtest

./hadoopfs-put/opt/test.sh/user将本地文件存储至hadoop

./hadoopfs–get/user/t/ok.txt/home/t将hadoop上某个文件down至本地已有目录下

./hadoopfs-cat/user/test.sh

hadoopfs–rmr/user/t删除hadoop上指定文件夹(包含子目录等)

hadoopfs-touchz/user/new.txt在hadoop指定目录下新建一个空文件

hadoopfs–mv/user/test.txt/user/ok.txt(将test.txt重命名为ok.txt)

hadoopdfs–getmerge/user/home/t将hadoop指定目录下所有内容保存为一个文件,同时down至本地

hadoopjob–kill[job-id]将正在运行的hadoop作业kill掉

h)修改本地的临时目录hadoop.tmp.dir

1)修改hadoop.tmp.dir

[core-site.xml]

hadoop.tmp.dir

/soft/hadoop-root

2)分发core-site.xml

3)hadoopnamenode–format后重启hadoop

xcallmkdir/soft/hadoop-root

xcallrm–rf/soft/hadoop/logs

i)hadoop模块

1.common

2.hdfs

start-dfs.sh/stop-dfs.sh(先启动它)

nn

dn

2nn

3.yarn

start-yarn.sh/stop-dfs.sh

rn

nn

4.mapred

j)hadoop脚本分析

1.start-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_SIEZ=1000M,

CLASSPATH=…

3.sbin/start-dfs.sh–config$HADOOP_CONF_DIR启动hdfs

1.libexec/hdfs-config.sh

2.获取名称节点主机名

NAMENODES=hdfsgetconf–namenodes

3.启动名称节点

$HADOOP_prefix/sbin/hadoop-daemons.sh

--config$hadoop_conp_dir

--hostnames$namenodes

--script$bin/hdfsstartnamenode$nameStartOpt

4.启动datanode

$HADOOP_prefix/sbin/hadoop-daemons.sh

--config$hadoop_conp_dir

--script$bin/hdfsstartdatanode$nameStartOpt

5.启动2nn

$HADOOP_prefix/sbin/hadoop-daemons.sh

--config$hadoop_conp_dir

--hostnames$secondarynamenode

--script$bin/hdfsstartsecondarynamenode

4.libexec/hdfs-config.sh

libexec/hadoop-config.sh

5.sbin/hadoop-daemons.sh--启动守护进程脚本

1.libexec/hdfs-config.sh--执行配置脚本

2.slaves.sh--config$HADOOP_CONF_DIRcd$hadoop_prefic\;

$bin/hadoop-daemon.sh–config$hadoop_conf_dir“$@”

循环slaves文件,通过ssh方式登录远程主机,执行相应命令

[bin/hadoop-daemon.sh]

hadoop-config.sh

[bin/hdfs]

 

hdfsgetconf–namenodes

hdfsgetconf–secondaryNameNdoes

k)在各个机子上启动节点:

hadoop-daemon.shstartnamenode

hadoop-daemon.shstartsecondarynamenode

hadoop-daemon.shstartdatanode

hadoop-daemon.shstopdatanode

数据库四个特点:

aatomic原子性

cconsistent一致性

iisolation隔离性

ddurable永久性

l)常用命令:

格式化系统

hadoopnamenode–format

put===copyFormLocal

hadoopfs–put//hdfsdsf–put

hdfsdfs–put//

重命名

hdfsdfs–mv./sshd.txt./how.txt

下载

hdfsdfs–get./ssh.txt./kk.txt

hdfsdfs–copyToLocal

移动到hdfs

hdfsdfs–moveFromLocalhello.txt.

从hdfs移动到本地,没有实现。

删除文件

hdfsdfs–rmdir…

在hdfs上进行文件复制

hdfsdfs–cp/user/Ubuntu/hello.txt/user/hello2.txt

 

hadoop配置信息

namenode的本地目录配置成多个,则每个目录存放内容相同,可靠性。

【hdfs-site.xml】

dfs.namenode.name.dir=file:

///${hadoop.tmp.dir}/dfs/name1,file:

///${hadoop.tmp.dir}/dfs/name2

datanode也可以配置多个目录,不是副目录。

【hdfs-site.xml】

dfs.datanode.name.dir=file:

///${hadoop.tmp.dir}/dfs/name1,file:

///${hadoop.tmp.dir}/dfs/name2

hadoophdfs文件大小128M

磁盘的寻道时间=10ms

磁盘的IO速率:

100MB/s

10*100=ls*100M/s=100M

通过API访问hdfs

@Test

publicvoidwriteFile()throwsException{

Configurationconf=newConfiguration();

FileSystemfs=FileSystem.get(conf);

Pathpath=newPath("hdfs:

//node1:

8020/user/hello");

//数据输出流

FSDataOutputStreamdos=fs.create(path);

dos.write("helloworld!

!

!

".getBytes());

dos.close();

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2