详细全面的HDFS安装流程和环境配置文档,欢迎收藏
1. 环境准备
注意:以下步骤均以root权限操作
1.1 虚拟机准备
克隆三台虚拟机(linux01、linux02、linux03),
修改虚拟机的网络配置
vi /etc/sysconfig/network-scripts/ifcfg-eth0
配置好对应主机的网络IP
vi /etc/udev/rules.d/70-persistent-net.rules
永久修改主机名
vi /etc/sysconfig/network
配置域名映射
vi /etc/hosts
[root@linux01 /]# cat /etc/hosts
192.168.133.3 linux01
192.168.133.4 linux02
192.168.133.5 linux03
192.168.133.6 linux04
192.168.133.7 linux05
关闭防火墙
service iptables stop
查看防火墙状态
service iptables status
iptables: Firewall is not running.
1)linux01、linux02、linux03的主机对应内存分别是:10G、2G、2G
2)在linux01的/opt目录上创建apps和software目录
1.2 SSH免密登录
配置linux01对linux01、linux02、linux03三台主机的免密登陆。
(1)生成公钥和私钥:
[root@linux01 .ssh]$ ssh-keygen -t rsa
然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
(2)将公钥拷贝到要免密登录的目标机器上
[root@linux01 .ssh]$ ssh-copy-id linux01
[root@linux01 .ssh]$ ssh-copy-id linux02
[root@linux01 .ssh]$ ssh-copy-id linux03
1.3 安装JDK(三台)
1)在linux01的/opt目录下创建apps和software文件夹
[root@linux01 opt]# mkdir apps
[root@linux01 opt]# mkdir software
2)用SecureCRT将jdk-8u144-linux-x64.tar.gz导入到linux01的/opt/software目录下
3)在Linux系统下的opt目录中查看软件包是否导入成功
[root@linux01 software]$ ls
jdk-8u144-linux-x64.tar.gz
4)解压JDK到/opt/apps目录下
[root@linux01 software]$ tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/apps/
5)配置JDK环境变量
(1)先获取JDK路径
[root@linux01 jdk1.8.0_144]$ pwd
/opt/apps/jdk1.8.0_144
(2)打开/etc/profile文件
[root@linux01 software]$ vi /etc/profile
在profile文件末尾添加JDK路径
#JAVA_HOME
export JAVA_HOME=/opt/apps/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
(3)保存后退出
:wq
(4)让修改后的文件生效
[root@linux01 jdk1.8.0_144]$ source /etc/profile
6)测试JDK是否安装成功
[root@linux01 jdk1.8.0_144]# java -version
java version "1.8.0_144"
7)将linux01中的JDK和环境变量分发到linux02、linux03两台主机
[root@linux01 opt]# xsync /opt/apps/
[root@linux01 opt]# xsync /etc/profile
分别在linux02、linux03上source一下
[root@linux02 ~]$ source /etc/profile
[root@linux03 ~]# source /etc/profile
1.4 关闭SELINUX
安全增强型Linux(Security-Enhanced Linux)简称SELinux,它是一个 Linux
内核模块,也是Linux的一个安全子系统。
SELinux的结构及配置非常复杂,所以为了避免出现各种错误,建议关闭,有如下两种关闭方法:
(1)临时关闭:
[root@linux01 ~]# setenforce 0
但是这种方式只对当次启动有效,重启机器后会失效,建议使用第二种方式。
(2)永久关闭
修改配置文件/etc/selinux/config
[root@linux01 ~]# vim /etc/selinux/config
vi /etc/selinux/config
将SELINUX=enforcing 改为SELINUX=disabled
SELINUX=disabled
(3)同步/etc/selinux/config配置文件
[root@linux01 ~]# xsync /etc/selinux/config
(4)重启linux01、linux02、linux03主机
[root@linux01 ~]# reboot
[root@linux02 ~]# reboot
[root@linux03 ~]# reboot
2 HDFS安装
2.1 上传hadoop安装包
rz hadoop-2.8.5.tar.gz
2.2 解压hadoop安装包到指定目录下
tar -zxf hadoop-2.8.5.tar.gz -C /opt/apps/
2.3 修改hadoop配置文件
2.3.1 修改hadoop-env.sh
vi /opt/bigdata/hadoop-2.8.5/etc/hadoop/hadoop-env.sh
配置jdk所在目录
# The java implementation to use.
export JAVA_HOME=/opt/bigdata/jdk1.8.0_141/
2.3.2 修改hdfs-site.xml
vi /opt/bigdata/hadoop-2.8.5/etc/hadoop/hdfs-site.xml
<!-- 配置namenode 机器的位置-->
<property>
<name>dfs.namenode.rpc-address</name>
<value>linux01:9000</value>
</property>
<!-- 配置namenode的元数据存储目录-->
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hdpdata/name/</value>
</property>
<!-- 配置datanode的数据存储目录 -->
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hdpdata/data/</value>
</property>
<!-- 配置secondary namenode机器的位置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>linux02:50090</value>
</property>
2.3.2 修改core-site.xml
hdfs dfs -df 查看文件系统的存储情况 默认操作的是linux本地文件系统,修改这个配置文件目的是操作hdfs集群分布式文件系统
vi /opt/bigdata/hadoop-2.8.5/etc/hadoop/core-site.xml
<!-- 将 hdfs dfs 客户端的操作的默认本地文件系统改成操作hdfs分布式文件系统-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://linux01:9000/</value>
</property>
2.3.3 将修改好的hadoop文件夹同步到各节点
for i in 2 3;do scp -r hadoop-2.8.5 linux0$i:$PWD;done
也可以一个一个同步
scp -r /opt/apps/hadoop-2.8.5 linux02:$PWD
scp -r /opt/apps/hadoop-2.8.5 linux03:$PWD
3 HDFS集群启动
3.1 初始化namenode
[root@linux02 bin]# pwd
/opt/bigdata/hadoop-2.8.5/bin
在上面目录中启动输入一下代码
./hdfs namenode -format
初始化完可以进入根目录下的opt/hdpdata中看到创建的name目录
3.2 启动namenode
[root@linux01 sbin]# pwd
/opt/bigdata/hadoop-2.8.5/sbin
在当前目录下执行
./hadoop-daemon.sh start namenode
3.2 各个节点启动datanode
sbin/hadoop-daemon.sh start namenode
3.3 启动完访问hadoop的web页面
http://linux01:50070
4 HDFS集群批量启动
4.1 配置slaves 文件
hdfs在启动的时候读取slaves文件,我们在这个文件中配置的要启动的datanode
vi /opt/bigdata/hadoop-2.8.5/etc/hadoop/slaves
[root@linux01 hadoop]# cat slaves
linux01
linux02
linux03
4.2 配置系统的环境变量
为了操作hdfs的命令方便
根目录下 运行一下代码,将hadoop位置配置到环境变量中
vi /etc/profile
export JAVA_HOME=/usr/apps/jdk1.8.0_141/
export HADOOP_HOME=/usr/apps/hadoop-2.8.5
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
那我们可以 在任意的目录中数据 bin sbin下的任意的命令
4.3 执行start-dfs.sh
可以在任意目录下 执行 start-dfs.sh ,就可以一键启动hadoop集群
stop-dfs.sh ,可以关闭hadoop集群
以上步骤就是安装hadoop集群的详细步骤,喜欢请收藏并关注我~
下一章更新常用的hdfs命令