hadoop大数据contos7集群安装基础过程

本人是一个数据新手,看了许多这个安装集群的文章但是都是直接讲成功后的例子不太详细讲解,对于新手极不友好,照着上面做报错了就一直卡在那个位置,这是我安装centos7的步骤和一些报错以及解决方法可能不是很详细,希望对各位有所帮助!!有问题的话可以评论看看学习学习

准备工作安装(下载):
vmware虚拟机
Xmanager Enterprise 4(xshell,xftp)这里面包括xshell和xftp
xshell是后面用来连接虚拟机操作的,不好直接在虚拟机上面进行集群操作
xftp用来连接Windows与linux进行互传文件
下载映像光盘CentOS-7-x86_64-Everything-2009.iso
我这里使用的是jdk_1.8.0_131
hadoop_2.7.2.tar.gz
需要这些包的可以找我要

打开vmware - 文件 - 新建虚拟机 弹出下面的对话框选择典型下一步
在这里插入图片描述
选择稍后安装操作系统下一步(先跳过安装操作系统)
在这里插入图片描述

选择下载需安装的linux版本我这里是安装centos7所以选择centos 64位的版本
在这里插入图片描述
选择修改名称和安装的位置下一步

在这里插入图片描述
磁盘的容量这里我使用的默认大小然后下一步
在这里插入图片描述
点击自定义硬件进入硬件的配置弹窗
在这里设置下载的映像光盘iso文件
在这里插入图片描述
点击完成
然后打开创建的虚拟机

修改主机名

vi /etc/sysconfig/network
#修改:
HOSTNAME=Master001

重启reboot

设置虚拟机的静态ip(在centos7以下的一些版本还会修改物理地址)

vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改:

ONBOOT=yes
BOOTPROTO=static
插入:
IPADDR=192.168.153.61
NETMASK=255.255.255.0
GATEWAY=192.168.153.2
DNS1=192.168.153.2

设置hosts名字解析

vi  /etc/hosts

插入:

192.168.153.61 Master001

将名字解析成ip
centos7基础就配置完成了

下面需要将虚拟机的网络与windows系统(外网)互通
打开虚拟机 - 设置 - 网络适配器 - 自定义 - vmnet8(NAT模式)
在这里插入图片描述

点击编辑 - 虚拟网络编辑器 - 点更改设置 - 选择nat模式 - 修改ip与子网掩码
在这里插入图片描述
在windows系统 - 设置 - 网络和internet - 更改适配器选项
找到vmnet8 右击属性,找到internet协议版本4(TCP/IPv4)双击,配置一个ip、子网掩码和dns

在这里插入图片描述
然后先将虚拟机的防火墙关闭(有些电脑没有关闭防火墙会导致ping不通)这里使用的是centos7的系统防火墙命令与其他的有些区别

systemctl stop firewalld #关闭防火墙
systemctl start firewalld #开启防火墙
systemctl restart firewalld #重启防火墙
systemctl status firewalld #查看防火墙

在运行框(ctrl+r)输入cmd
ping虚拟机配置的ip ping通

ping 192.168.153.61

完成 windows有网在虚拟机上也能访问互联网

连接上xshell
1取名
2填写ip
3填写用户名密码这里使用root用户登录
完成后确定
在这里插入图片描述
创建普通用户
useradd bob

设置用户密码
passwd bob
连续输入2次

登录普通用户(是root用户登录会省去很多麻烦但不安全创建普通用户目的就是防止误操作导致系统崩溃)
su bob

在/opt下新建目录sotfware,module

mkdir  /opt/software  /opt/module

点击这个xftp按钮或者在Xmanager Enterprise 4找到xftp打开
在这里插入图片描述
将下载的hadoop与jdk的包上传到software/目录下在这里插入图片描述
解压移动到module/目录下

tar -zxvf  hadoop-2.7.2.tar.gz -C  ../module

tar -zxvf  jdk-linux-x64.tar.gz -C ../module

安装jdk和hadoop
用root用户命令打开/etc/profile文件配置jdk环境

sudo vi /etc/profile

在末尾添加

#JAVA_HOME
exportJAVA_HOME=/opt/module/jdk1.8.0_131
exportPATH=$PATH:$JAVA_HOME/bin

在末尾添加

#HADOOP_HOME
exportHADOOP_HOME=/opt/module/hadoop-2.7.2
exportPATH=$PATH:$HADOOP_HOME/bin
exportPATH=$PATH:$HADOOP_HOME/sbin

使文件生效

source /etc/profile

查看是否安装成功

java -version
hadoop version

进入hadoop目录

cd /opt/module/hadoop-2.7.2/etc/hadoop/

配置:vi hadoop-env.sh
Linux系统中获取JDK的安装路径:

echo $JAVA_HOME

这里获取的路径为/opt/module/jdk1.8.0_131

修改JAVA_HOME路径为:

export JAVA_HOME=/opt/module/jdk1.8.0_131

配置:vi core-site.xml

<!--指定HDFS中NameNode的地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://Master001:9000</value>
</property>
<!--指定Hadoop运行时产生文件的存储目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>

配置hdfs-site.xml文件
这里配置的辅助节点是将secondarynamenode放到其他节点上,namenode启动时会加载之前的增删改操作,secondarynamenode的作用是帮助namenode合并操作文件和日志文件,所以它也保存有这些操作所以怕放在一起namenode挂了,就没有之前的操作了。

vi hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!--指定Hadoop辅助名称节点主机配置-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave002:50090</value>
</property>

配置yarn-env.sh

vi yarn-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_131

配置yarn-site.xml

vi yarn-site.xml
#添加
<!--Reducer获取数据的方式-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--指定YARN的ResourceManager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>Slave001</value>
</property>

配置mapred-env.sh

vi mapred-env.sh
#添加
export JAVA_HOME=/opt/module/jdk1.8.0_144

配置mapred-site.xml

cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
#添加
<!--指定MR运行在Yarn上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

配置集群
将刚刚配置好的虚拟机克隆2台出来
右击虚拟机(需关闭)–管理–克隆(选择创建完整克隆)

连接xshell
修改主机名

vi /etc/sysconfig/network

HOSTNAME=Slave001

修改ip

vi /etc/sysconfig/network-scripts/ifcfg scripts/ifcfg-eth33

IPADDR=192.168.153.65

重启后生效reboot

修改配置文件
设置hosts名字解析

vi  /etc/hosts
#添加
192.168.153.61 Master001
192.168.153.64 Slave001
192.168.153.65 Slave002

在slaves文件中添加主机名(所有节点)
该文件在hadoop目录下

cd /opt/module/hadoop-2.7.2/etc/hadoop/
vi slaves
#添加
Master001
Slave001
Slave002

将每个主机的hosts与slaves修改后
分别在Master001客户端ping Slave001、Slave002 、Sl ave003 、192.168.153.1和www.baidu.com,如果均能ping通,表示内网、外网连接和名字解析均无问题。

设置ssh无密码登录
这个启动hdfs和yarn服务的时候需要在每一台电脑上启动对应的服务,这里设置免密通过群起来启动服务

在Master001中
#输入 后点击两次回车 生成密钥

ssh-keygen -t rsa  -P ‘ ‘

进入到~下.ssh/的目录
ssh-copy-id 主机名 远程拷贝到其他主机
会生成一个名为authorized_keys文件内容是公钥

在Slave001中也生成一次密钥拷贝给其他主机
yarn启动是在Slave001中

启动集群
在第一次启动集群时需格式化namenode

cd /opt/module/hadoop-2.7.2/
bin/hdfs namenode -format

将namenode与datannode的clusterID格式相同
不要频繁的格式化namenode只有第一次格式化namenode,它的clusterID才会改变后面格式化只会改变datanode的clusterID
namenode的clusterID在/opt/module/hadoop-2.7.2/tmp/dfs/name/current下的VERSION中查看
报错需datanode与namenode的clusterID不同的话将/opt/module/hadoop-2.7.2/tmp/dfs/的data与name文件删除重新格式化就可以了

cd /opt/module/hadoop-2.7.2/tmp/dfs/
rm -rf data 
rm -rf name 
cd /opt/module/hadoop-2.7.2/
bin/hdfs namenode -format

启动 hdfs
在Master001中启动

start-dfs.sh

jps查看启动的服务进程namenode只有一个在Master001中其他节点只有datanode进程
在这里插入图片描述
启动yarn
在Slave001中启动

start-yarn.sh

jps查看进程resourcemanager只有一个在Master001中其他节点只有nodemanager进程
在这里插入图片描述
启动成功后
在浏览器中输入192.168.153.61:50070或输入Master001:50070
在这里启动完成后页面不出现的情况
linux防火墙没有关,要将所有节点的防火墙都关闭
输入Master001:50070不出现的情况是解析ip与主机名那里没设置好导致不识别主机名
查看认证web页面
在这里插入图片描述
查看yarn认证页面
输入192.168.153.64:8088Slave001:8088
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐