hadoop3.1.1伪分布式安装
平台&软件 | 说明 |
宿主机操作系统 | Windows |
虚拟机操作系统 | CentOS 7 |
虚拟机软件 | Windows: VMWare |
SSH⼯具 | Windows: MobaXterm / FinalShel/Xftp |
软件包上传路径 | /root/softwares |
软件安装路径 | /usr/local |
JDK | X64:jdk-8u191-linux-x64.tar.gz |
Hadoop | X64:hadoop-3.1.1.tar.gz |
用户 | root |
首先准备工作:hadoop安装包和Java安装包和Xftp都以上传至QQ群里直接下载即可。
注:上传软件到虚拟机时建议使用Xftp,如果是直接复制粘贴(即从Windows复制到虚拟机里)容易造成安装包不能完全复制过去,如果不会使用Xftp建议百度。
1.1.1 安装JAVA
1.卸载之前的JDK
# 卸载之前的原因,主要是需要保证安装的JDK版本的正确性。
[root@shulin ~]# rpm -qa | grep jdk # 如果有,请卸载
[root@shulin ~]# rpm -e xxxxxxxx --nodeps # 将查询到的内置jdk强制卸载
2.上传JDK安装包到指定的路径
-
使⽤Xftp或者FinalShell直接上传即可,上传到 /root/softwares 下
3.解压JDK到指定安装路径
[root@shulin ~]# cd /root/softwares && tar -zxvf jdk-8u191-linux-x64.tar.gz -
C /usr/local
4.配置环境变量
[root@shulin local]# vim /etc/profile
...上述内容省略,在末尾添加即可...
# Java Environment
export JAVA_HOME=/usr/local/jdk1.8.0_191 #这里是当前java安装的路径
export PATH=$PATH:$JAVA_HOME/bin
5.使环境变量立马生效
[root@shulin local]# source /etc/profile
6.验证JDK是否配置完成
[root@shulin local]# java -version
1.2.1 安装hadoop
1.上传hadoop到指定路径
使⽤Xftp或者FinalShell上传到 /root/softwares 下即可
2.解压安装
[root@shulin ~]# cd /root/softwares && tar -zxvf hadoop-3.1.1.tar.gz -C
/usr/local
3.配置环境变量
[root@shulin ~]# vim /etc/profile
...上述内容省略,在最下⽅添加即可...
# Hadoop Environment
export HADOOP_HOME=/usr/local/hadoop-3.1.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
4.使得环境变量立马生效
[root@shulin ~]# source /etc/profile
5.验证是否配置成功
[root@shulin ~]# hadoop version
1.3.1 搭建环境准备
1.总览
1. 确保防⽕墙是关闭状态。
2. 确保NAT模式和静态IP的确定 (192.168.184.12)
3. 确保/etc/hosts⽂件⾥, ip和hostname的映射关系
4. 确保免密登陆localhost有效
5. jdk和hadoop的环境变量配置
2.防火墙关闭
[root@shulin ~]# systemctl stop firewalld #正常情况执行前两步即可,不懂的可以百度一下
[root@shulin ~]# systemctl disable firewalld
[root@shulin ~]# systemctl stop NetworkManager
[root@shulin ~]# systemctl disable NetworkManager
#最好也把selinux关闭掉,这是linux系统的⼀个安全机制,进⼊⽂件中将SELINUX设置为disabled
[root@shulin ~]# vi /etc/selinux/config
.........
SELINUX=disabled
.........
3.修改hosts映射
# 进⼊hosts⽂件,配置⼀下ip和hostname
[root@shulin ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.184.12 shulin # 添加本机的静态IP和本机的主机名之间的映射关系
4.确保ssh对localhost的免密登陆认证有效
# 1. 使⽤rsa加密技术,⽣成公钥和私钥。⼀路回⻋即可
[root@shulin ~]# ssh-keygen -t rsa
# 2. 进⼊~/.ssh⽬录下,使⽤ssh-copy-id命令
[root@shulin .ssh]# ssh-copy-id root@shulin
# 3. 进⾏验证,去掉第⼀次的询问(yes/no)
[hadoop@shulin .ssh]# ssh localhost
5.确保JDk与hadoop已经安装完成,并且已经配置好环境变量再往下执行
1.3.2 配置文件修改
配置文件均在usr/local/hadoop/hadoop-3.1.1/etc/hadoop目录下,用cd 命令进入即可。即在hadoop目录下vim core-site.xml 配置下面
1.core-site.xml
<configuration>
<!-- 设置namenode节点 -->
<!-- 注意: hadoop1.x时代默认端⼝9000 hadoop2.x时代默认端⼝8020 hadoop3.x时代默认端⼝ 9820 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://shulin:9820</value>
</property>
<!-- hdfs的基础路径,被其他属性所依赖的⼀个基础路径 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop-3.1.1/tmp</value>
</property>
</configuration>
2.hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- secondarynamenode守护进程的http地址:主机名和端⼝号。参考守护进程布局 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>shulin:9868</value>
</property>
<!-- namenode守护进程的http地址:主机名和端⼝号。参考守护进程布局 -->
<property>
<name>dfs.namenode.http-address</name>
<value>shulin:9870</value>
</property>
</configuration>
3.hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_191
# Hadoop3中,需要添加如下配置,设置启动集群⻆⾊的⽤户是谁
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
1.3.3 格式化集群
我们在core-site.xml中配置过hadoop.tmp.dir的路径,在集群格式化的时候需要保证在这个路径不存在!如果之前存在数据,先将其删除,再进行格式化!
hdfs namenode -format
1.3.4 启动集群
[root@shulin hadoop]# start-dfs.sh
Starting namenodes on [shulin]
Starting datanodes
Starting secondary namenodes [shulin]
[root@shulin hadoop]# jps
11090 Jps
10595 NameNode
10938 SecondaryNameNode
10763 DataNode
1.3.5 在火狐浏览器中查看
在电脑的浏览器中输⼊虚拟机的IP地址,如果做过了主机名映射,可以直接使⽤主机名
http://192.168.184.12:9870