前言
HADOOP产生背景
(1)HADOOP最早起源于Nutch。Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,但随着抓取网页数量的增加,遇到了严重的可扩展性问题——如何解决数十亿网页的存储和索引问题。
(2)2003年、2004年谷歌发表的两篇论文为该问题提供了可行的解决方案。
——分布式文件系统(GFS),可用于处理海量网页的存储
——分布式计算框架MAPREDUCE,可用于处理海量网页的索引计算问题。
(3)Nutch的开发人员完成了相应的开源实现HDFS和MAPREDUCE,并从Nutch中剥离成为独立项目HADOOP,到2008年1月,HADOOP成为Apache顶级项目,迎来了它的快速发展期。
HDFS搭建——五步曲
1、HDFS伪分布式搭建步骤:
(1)配置免密登录node01- >node01
①ssh-keygen -t csa
②ssh-copy-id -i ~/.ssh/id rsa.pub root@node1
(2)配置JDK
①export JAVA_ HOME=/opt/software/ jdk/jdk1.8.0_ 151
②export PATH=$PATH:$JAVA_ HOME/bin
(3)修改hdfs-site.xml配置文件
(4)修改core-site.xml配置文件
(5)修改slaves配置文件
修改为node01
(6)格式化NameNode(创建目录以及文件) hdfs namenode -format
(7)启动HDFS start-dfs.sh
(8)操作HDFS文件系统
①创建目录 hdfs dfs -mkdir -p /user/root
②上传文件 hdfs dfs -D dfs.bocksze-104858576 -put
2、HDFS完全分布式搭建步骤:
(1)时间同步
①各个节点安装ntp命令yum install ntp
②上网查找最新的时间服务器 ntp1.aliyun. com
③同步时间ntpdate ntp1.aliyun. com
(2)配置免密登录
node01- >node01 node01- >node02 node01- >node03 node01- >node04
①所有节点执行 ssh-keygen -t rsa -P '' -f ~/ .ssh/id_ rsa
②在node01 节点执行,将node01 的公钥加入到其他节点的白名单中
ssh-copy-id -i ~/ .ssh/id_ rsa. pub root@node01
ssh-copy-id -i ~/ .ssh/id_ rsa. pub root@node02
ssh-copy-id -i ~/ .ssh/id_ rsa. pub root@node03
ssh-copy-id -i ~/ .ssh/id_ rsa. pub root@node04
(3)所有节点配置JDK
(4)修改hdfs-site.xml配置文件
(5)修改core-site. xml配置文件
(6)修改slaves配置文件
修改为node02 node03 node04
将配置好的安装包分发到其他节点上
scp -r hadoop-2.6.5 root@node02: /opt/ software/ hadoop/
(7)将所有的HDFS相关的进程关闭
(8)格式化NameNode(创建目录以及文件)在node01节点执行
①hdfs namenode. - format
(9)启动HDFS start-dfs.sh
(10)操作HDFS文件系统
①创建目录hdfs dfs -mkdir -p /user/root
②上传文件hdfs dfs -D dfs. blocksize=1048576 -put
3、HDFS HA完全分布式搭建步骤:
集群规划:
(1)配置免密登录
node01- >node01 node01- >node02 node01 - >node03 node01 - >node04
node02- >node01
①在node02节点执行,将node01 的公钥加入到其他节点的白名单中ssh-copy-id -i ~/ .ssh/id_
rsa . pub root@node01
(2)所有节点配置JDK
(3)修改hdfs-site.xml配置文件
(4)修改core-site. xml配置文件
(5)修改slaves配置文件
①修改为node02 node03 node04
(6)将配置好的HDFS安装包拷贝到node02 node03 node04
(7)格式化NameNode(创建目录以及文件)
①在node01. node02、 node03 分别执行如下命令
1) hadoop-daemon.sh start journalnode
②随机选择- 台NameNode执行:
1)hdfs amende -format
2) hadoop-daemon.sh start namenode
③另外一台NameNode节点执行:
1) hdfs namenode - bootstrapStandby,
(8) hdfs zkfc -formatZK
(9)关闭所有节点上的进程 stop-dfs. sh
(10)启动 HDFS start-dfs.sh
(11)操作 HDFS文件系统
①创建目录hdfs dfs -mkdir -p /user/root
②上传文件hdfs dfs -D dfs. blocksize=1048576 -put
4.搭建zookeeper集群:
(1)解压
(2)修改conf目录下的z00_ samp1e. CfE的名称,改为zo0.cfg
①mv z00_ samp1e.cfg zo0.Cfg
(3)修改zoo.cfg
①dataDir=/var/zfg/ zookeeper
②server. 1=node02: 2888:3888
③server. 2=node03: 2888:3888
④server. 3=node04: 2888:3888
(4)在dataDic目录下创建一个myxid文件,在这个文件中写上当前节点ID号
(5)将配置好的zookeeper安装包拷贝到node03 node04
(6)拷贝完毕后,在各自节点上创建myid号,ID号要依次递增
5、使用eclipse视图操作HDFS :
(1)配置Hadoop的环境变量
①和配置JDK类似
②备份eclipse ,将hadoop的插件放入eclipse的plugins下
③重启eclipse
结言
听阿里讲完HDFS五部曲确实让小编的触动挺大的,对此大家有何看法可以写在评论区。
网友评论