Hadoop集群安装及其配置(三台虚拟机)
利安装配置前准备——安装虚拟机
首先我们要准备三台虚拟机,分别为第一台主机Cat、第二台Dog、第三台Pig。
这里接上提前我写好的虚拟机安装配置
的文章:Centos7虚拟机的安装配置——这是文莉吖,点击这个链接进入。
还需准备第三方链接工具Xshell
,点击这个链接进入官网下载,Xshell官网地址。
利用cat查看配置文件
这里开始呢我们会着重讲主机Hadoop安装配置的过程,其他两台虚拟机有修改地方的过程也有包揽其中。
> cat 文件名 //cat查看文件的语法
找不到文件时可以利用find命令查找
命令 | 描述 |
---|---|
Find / -name 目标名 | 全盘搜索,也可以指定目录搜索(有大小写区分) |
Find / -iname 目标名 | 不区分大小写 |
Find / -name *目标名* (区分大小写)Find / -iname *目标名* (不区分大小写) | 匹配包含目标文件的相关文件 |
Find /-用户名 目标名 | 查找属于用户名为目标文件名的文件 |
Find 搜索目录 -type d | 查找某个目录下的所有目录 |
在第一台主机Cat上创建3个目录分别为:
> mkdir -p /export/data //放置相关的数据文件
> mkdir -p /export/servers //软件的安装目录
> mkdir -p /export/software //放置软件包
查看是否创建:
> cd /export/
> ls
修改主机名称
命令:
> hostname 新的主机名 //临时修改
> hostnamectl set-hostname 新的主机名 //永久修
> hostname //查看主机名
> vi /etc/sysconfig/network //三台虚拟机都要修改,这里我们的主机名为Cat
提示:sudo hostname 新名称(只是临时修改主机名,重启后还会变为旧主机名)
> sudo vim /etc/hostname //永久修改主机名
进入这个页面后按i
进行编写,每一个文件编写好后都需要按Esc
,然后:wq
保存且推出。(wq一定要小写)
配置IP映射
首先我们要配好虚拟机和Windows上的网络设置,没弄好的话虚拟机就无法ping通网络。按图片的步骤来。
我们先设置虚拟机上的网络配置,如图。
然后我们再设置Windows上的网络配置,如图。
下面接着修改虚拟机中的网络配置文件/etc/hosts
> vi /etc/hosts //三虚拟机都要设置相同的内容
如果不知道虚拟机的IP地址就在命令行里输入ifconfig查看IP地址,图片中IP地址后面紧跟着的是三台虚拟机IP地址对应的主机名。
按i
进行编写,每一个文件编写好后都需要按Esc
,然后:wq
保存且推出。
配置网卡设备的mac地址
如何查看MAC地址
鼠标选中对应的想要查看虚拟机——设置——网络适配器——高级
配置静态IP地址:
> vi /etc/sysconfig/network-scripts/ifcfg-ens33 (每台虚拟机都要改为相同的内容)
BOOTPROTO改为static
,IPADDR改为对应虚拟机的IP地址(这里我们配置的是Cat的IP地址)
按i
进行编写,每一个文件编写好后都需要按Esc
,然后:wq
保存且推出。
网络配置好后 检验
> reboot //重启
> ifconfig //查看ip
这里我们可以看见Cat的IP地址为192.168.72.128
> ping www.baidu.com 检查是否能连外网(Ctrl+z停止)
Ctrl+Z停止ping
Xshell的安装与配置
文章首页我们说了要进入Xshell官网地址下载Xshell6,连接前我们得把需要进行连接的虚拟机打开,才能能进行连接。
Xshell安装好后,进行连接,如下图操作。
然后设置用户和密码,如图一定要记得勾上记住用户和密码。
点击确定后,我们就成功连接了。在第三方工具中来配置虚拟机会快上很多,虚拟机里不能复制粘贴,第三方工具中是可以的。扩展,当我们需要把Windows上的软件安装到虚拟机时,也可以用上第三方软件Xftp6
,它是与Xshell6配套的第三方连接工具,连接方法都差不多,进入Xftp6官网安装Xftp6后,只需在Xftp6里找到要上传至虚拟机上安装包,将它拖到虚拟机里想要存放的路径里即可。
ssh的配置
通过配置ssh服务来实现远程登录和免密登录
> rpm -qa | grep ssh 检查是否安装ssh
> ps -e | grep sshd
若没有安装ssh 输入yum install openssh-server
配置免密登录:
ssh-keygen -t rsa
(三台虚拟机都要输入这个命令)- 拷贝公钥到同一台虚拟机
ssh-copy-id Bear
(三台虚拟机都输入这个命令,不需要修改任何字母) - 复制放置公钥的文件给其他虚拟机
> scp /root/.ssh/authorized_keys Dog:/root/.ssh
> scp /root/.ssh/authorized_keys Pig:/root/.ssh
- 测试是否成功
cd .ssh
后输入命令ssh+主机名
(每台都要测试,都要能免密登上)
JDK的安装配置
JDK的安装
Hadoop集群的使用依赖于Java环境,因此需要先安装并配置JDK
以下命令是下载一个rz的插件,下载好后在命令行里输入rz便会跳出一个界面框,选择你要从Windows传入虚拟机的文件(这里指的JDK)
如果没有安装详细步骤 :
> yum install lrzszcd -y //下载rz
> cd /export/software
> rz //输入后会跳出此电脑界面
传入JDK后进行解压命名
> cd /export/software //上传JDK到/export/software路径下,并解压
> tar -zxvf jdk-8u162-linux-x64.tar.gz -C /export/servers/ //进行解压
> mv jdk1.8.0_162 jdk //对jdk重命名
> cd /export/servers/ //查看jdk
配置JDK环境变量
vi /etc/profile
添加如下内容:
export JAVA_HOME=/export/servers/jdk //这儿写虚拟机中jdk安装的路径,我的在/export/servers下面
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
点击i
进入输入模式,在最后面添加,java路径是之前安装的路径(这个路径在后面安装Hadoop集群时候会用到),可以根据安装的进行修改
编辑完成,按键盘上的"esc
“退出编辑模式,然后输入”:wq
" 保存并退出( : 别忘记)
编辑保存好后
> source /etc/profile //重启使/etc/profile文件生效
jdk的环境验证
> java -version
Hadoop安装及配置
Hadoop安装
将Hadoop安装包上传到/export/software目录
> cd /export/software
完整路径:cd /export/servers/hadoop/etc/hadoop/
详细步骤:
> rz -E //上传Hadoop安装包
> ls
> tar -zxvf hadoop-2.7.7.tar.gz -C
> /export/servers/ //解压
> cd /export/servers/
> ls
> mv hadoop-2.7.7 hadoop //重命名在这里插入代码片
配置Hadoop系统环境变量
vi /etc/profile
添加内容如下:
export HADOOP_HOME=/export/servers/Hadoop //同上这里写Hadoop的安装路径
export PATH=:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
> source /etc/profile //重启文件
> hadoop version //查看是否安装好
hadoop集群主要配置文件
修改Hadoop配置文件
修改Hadoop的配置文件必须进入到hadoop安装路径下etc文件夹中的hadoop下进行编写,否则会找不到这个文件,虚拟机会自动在其他路径下创建一个新的文件,写好后也无用。
修改hadoop-env.sh文件
vi hadoop-env.sh
具体操作步骤
> cd /export/servers/hadoop/etc/hadoop/ //在安装路径中找到hadoop下etc文件夹中的hadoop
> vi hadoop-env.sh
添加如下内容:
export JAVA_HOME=/export/servers/jdk //jdk的安装路径
修改core-site.xml文件
vi core-site.xml
添加内容如下:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://Cat:9000</value> #这里固定写主机名,我的是Cat
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/export/servers/hadoop/tmp</value> #这里的路径为虚拟机Hadoop里的tmp目录的路径,内容因自己虚拟机的路径而变
</property>
</configuration>
修改hdfs-site.xml文件
vi hdfs-site.xml
添加的内容如下:
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>Dog:50090</value> #这里改为第二台虚拟机的名字,我的是Dog
</property>
</configuration>
修改mapred-site.xml文件
这里我们首先需要拷贝下mapred-site.xml.template文件,命名为mapred-site.xml
> cp mapred-site.xml.template mapred-site.xml
然后再对cp的文件进行修改
vi mapred-site.xml
添加的内容如下:
<configuration>
<!--指定MapReduce运行时的框架,这里指定在Yarn上,默认时local-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
修改yarn-site.xml文件
vi yarn-site.xml
添加的内容如下:
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>Cat</value> #这里写主机名,其他内容不变
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
修改/etc/hosts文件
vi /etc/hosts
添加的内容如下(IP地址+主机名):
192.168.72.128 Cat
192.168.72.129 Dog
192.168.72.130 Pig
修改slaves文件
vi slaves
打开该配置文件,先删除里面的内容(默认localhost),然后配置如下内容:
Cat
Dog
Pig (内容为自己三台虚拟机的主机名)
步骤
>cd /export/servers/hadoop/etc/hadoop/
>vi slaves
将集群主节点的配置文件分发到其他子节点
> scp /etc/profile Dog:/etc/profile
> scp /etc/profile Pig:/etc/profile
> scp -r /export/ Dog:/
> scp -r /export/ Pig:/
在Dog虚拟机和Pig虚拟机上分别执行
> source /etc/profile //使分发的文件生效
格式化文件系统(在主节点上执行。即Cat这台虚拟机上执行)
> hdfs namenode -format
(格式化文件系统这个操作只能在第一次启动hdfs集群时来操作,后面不能再进行格式化)
启动和关闭Hadoop集群
启动和关闭Hadoop集群:包含HDFS集群和YARN两个集群框架
启动有两种方式:
- 单节点逐个启动
- 在Cat上启动namenode
> hadoop-daemon.sh start namenode
- 三台虚拟机上启动datanode
> hadoop-daemon.sh start datanode
- 在Cat和Dog上启动resourcemanager
> yarn-daemon.sh start resourcemanager
- 三台虚拟机上启动nodemanager
> yarn-daemon.sh start nodemanager
- 在Cat上启动namenode
> hadoop-daemon.sh start secondarynamenode
- 使用jps查看是否全部开启
Cat有5个,Dog有4个,Pig有3个
- 逐条关闭把start换为stop即可
- 使用脚本一键启动(在主机Cat上执行)
start-dfs.sh
或stop-dfs.sh
启动或关闭所有HDFS服务进程start-yarn.sh
或stop-yarn.sh
启动或关闭所有YARN服务进程start-all.sh
或stop-all.sh
指令,直接启动或关闭整个Hadoop集群服务
第一台主机Cat上显示的五个进程,jps查看
第二台虚拟机Dog上显示的四个进程,jps查看
第三台虚拟机Pig上显示的三个进程,jps查看
Hadoop集群测试
访问50070端口
在浏览器访问Cat:50070
或者192.168.72.128:50070
(格式为:主机名或IP地址+端口号)查看HDFS集群状态
虚拟机关闭防火墙
虚拟机关闭防火墙 (三台虚拟机都要关闭)
centos6版本的为:
> service iptables stop //关闭防火墙
> chkconfig iptables off //禁止开机启动
centos7版本的为:
> systemctl stop firewalld //关闭防火墙
> service start firewalld //开启防火墙
> systemctl disable firewalld //禁止开机启动防火墙
若在关闭防火墙命令会出现如下错误:
若安装了iptables-service,可以使用如下命令
> yum install -y iptables-services //安装iptables-service
> systemctl stop firewalld //关闭防火墙
> systemctl status firewalld //检查防火墙的状态
访问8088端口
去浏览器搜索Cat:8088
或者192.168.72.128:8088
(格式为:主机名或IP地址+端口号)可查看YARN集群管理页面
到这里就大功告成了,记得点个关注和赞哦!!!!!!mua