第三节搭建HDFS框架
完全分布式系统需要用到Java来编写,所以需要先安装JDK;在不确定虚拟机中有无java环境的时候可以使用命令java -version来查看。
如果没有配置路径的情况下上图也成立,所以需要使用rpm -qa | grep java
q--表示查询,a--表示所有,|--管道输出符过滤 ,grep java --是否含有java
好了,没有,我们开始安装。
首先上传一个jdk文件解压后配置路径即可
先建立一个文件夹software直接解压到此文件夹中。由于文件拓展名是tar所以用tar解压 后边的参数z --表示解压缩;x--表示解包;v--表示进度;f--表示后边连接的是哪一个。最后一个一定是f 。 -C 表示解压到指定文件夹中。
解压完成后进入到jdk文件中。。
其中bin目录包含java程序中的所有可用命令,
然后就开始配置环境变量:
ls -a表示当前目录下的隐藏文件
1、在root用户下打开、/etc/profile文件。(全局系统变量)
添加如图上四行export表示导出的意思,表示配置文件中的环境变量可以导出到系统其它脚本中使用。
2、重启或者使用命令source /etc/profile。
3、克隆虚拟机(分别命名为Slave01,和Slave02)由于是克隆出来的所以这三台虚拟机配置是一模一样的,需要分别为其改名,还有分别配置网关
sudo vi /etc/sysconfig/network
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
sudo vi /etc/udev/rules.d/70-persistent-net.rules
更改完成后需要重启即可
4、在主机hosts中添加新克隆的两台虚拟机
查看主机与虚拟机之间是否通
scp 复制命令
****************************************|||||*******************************
接下来就是重头戏,HDFS完全分布式集群的搭建
1、设置免密登录
(1)ssh-keygen
直接回车
查看各个节点生成的公钥文件
免密登录测试即可
2、上传hadoop-2.8.1.tar.gz文件、
解压到software文件中
hadoop文件中有bin目录和sbin目录其中bin目录里包含整个hadoop集群中的系统管理命令;sbin目录包含集群中各个服务的命令后缀是cmd是windows中启动hadoop的命令sh是Linux启动hadoop命令
3、配置三个文件
(1)hadoop-env.sh
(2)core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://Master:9000</value>
</property>
</configuration>
(3)hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/yz/dfsdate/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/yz/dfsdate/data</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>Slave01:50090</value>
</property>
</configuration>
4、将hadoop2.8.1文件复制给剩下两台虚拟机在software目录下使用命令:scp -r hadoop-2.8.1/ Slave01:$PWD
scp -r hadoop-2.8.1/ Slave02:$PWD
5、部署从属节点在hadoop目录下的slaves文件中添加如下内容:
6、将slaves文件复制给其他虚拟机
7、配置hadoop环境变量(想在任何路径下使用hadoop命令)
sudo vi /etc/profile
分别复制给其他虚拟机后同时重新加载profile文件生效
8、最后实现主节点格式化在主节点使用命令hadoop namenode -format
~目录会自动生成存储源数据dfsdate目录
在dfsdate目录下有fsimage_00000000000000这是保存内存中所存储的hdfs集群中源数据的镜像文件fsimage_00000000000000.md5保证文件的正确性
9、启动hdfs集群节点