实验一Hadoop平台的安装

  • 实验目的

了解Linux操作系统基本操作、网络配置和Hadoop平台安装配置方法,理解大数据平台的运行基础。

  • 实验内容
  1. 安装至少3台虚拟机的一个集群
  2. 配置集群网络
  3. 在集群中安装Hadoop并配置
  4. 成功启动Hadoop
  5. 测试HDFS命令

(1) 在HDFS根目录中创建一个Files目录

(2) 在Linux中创建两个文件(或在Windows中创建文件并传至Linux节点),将其上传至HDFS中的/Files目录

(3) 在HDFS中执行ls命令查看/Files目录中的内容

  • 实验步骤
  1. Centos的安装
  2. 网络配置
  3. 安装jdk和hadoop

四、实验结果

      我用的wifi,把wifi共享给VMnet1

IP地址自动变成192.168.137.1

为了避免后面ping网站时被防火墙阻拦,所以先直接关了

虚拟机网络模式选择仅主机模式

cd /etc/sysconfig/network-scripts进入对应目录

ll命令查看网卡名  vi ifcfg-ens33进入编辑

修改BOOTPROTO为static  表示使用静态IP

修改ONBOOT为yes 表示开机启动配置

增加IPADDR=192.168.137.2   实际地址须与GATEWAY在同一网段

增加NETMASK=255.255.255.0   代表不划分子网

增加GATEWAY=192.168.137.1   即刚才设置共享网络后的IP地址

修改DNS

vi /etc/resolv.conf进行编辑,这里的DNS我用的61.139.2.69,114.114.114.114和8.8.8.8在我的虚拟机上都ping不通。之前用的183.221.253.100,这个ip虽然能ping通,但是在ping www.baidu.com或者www.sina.com等用域名的网站时ping不通,如果ping他们对应的ip地址则可以ping通,所以最后换成61.139.2.69,ping网站就可以直接ping通了

配置完后用service network restart重启网络服务

再克隆两个当前虚拟机作为从节点,要选择完全克隆,克隆之后要去vi ifcfg-ens33编辑ipaddr,每个节点的ip是不同的,我node2节点的ip为192.168.137.3,node3节点的ip为192.168.137.4

修改主机名

vi /etc/hostname,把原本有的内容全部删除,写入node1

hostname显示主机名,这样就修改好了

还要修改host映射文件

命令:vi /etc/hosts

编辑主机和ip地址的映射,只留下面的内容

安装ifconfig

先搜索命令ifconfig命令的名称是什么

命令:yum search ifconfig

然后再安装

命令:yum intstall net-tools

安装后可以通过ifconfig查看虚拟机的网络信息

尝试ssh登录

命令:ssh root@192.168.137.3 远程登录我的node2,登陆成功,这个时候还不能免密登录,需要输入密码

再登录一下我的node3节点,IP地址为192.168.137.4,与前面的映射相对应

命令:exit 退出ssh

网络配置完成

开始设置SSH免密登录

命令:vi /etc/ssh/sshd_config

增加这两条配置即可

生成密钥对

1.命令:ssh-keygen -t rsa 生成key,不用输入密码,一直回车,生成密钥对放在 ~/.ssh 目录(ls -al可查看)

2.将主节点上的公钥发到其他所有节点(包括主节点自己)

id_rsa.pub是公钥文件,将公钥文件内容复制到authorized_keys文件,并复制到其他节点的~/.ssh目录

命令:cd ~/.ssh 进入到.ssh目录

命令:cat id_rsa.pub>> authorized_keys

命令:scp -r authorized_keys root@node2:~/.ssh/authorized_keys   将公钥文件复制到其他节点,节点名以具体设置的名称为准

命令:scp -r authorized_keys root@node3:~/.ssh/authorized_keys

3.检查ssh

命令:ssh node1(检查自己)

命令:ssh node2(检查其他节点)

命令:ssh node3

此时登录不需要密码,完成免密登录

下载安装JDK

我宿主机原本的jdk版本是17,所以linux我也安装的jdk17。但是建议不要装太高版本,后面实验可能会不支持,而且太高版本jdk会导致使用jps命令时,与yarn相关的resourcemanager等不显示

再宿主机上同时下载jdk-17-linux-x64.tar.gz和jdk-17-windows-x64.exe,虚拟机和宿主机要安装相同版本的JDK

再使用putty传输压缩文件,putty设置如下,192.168.137.2是node1的ip,port选择22,连接类型为ssh,在default settings输入ip后,注意点save保存,这样不用每次都输入。

使用putty连接时可能会出现remote side unexpected closed network-connection错误或者是使用xshell传输文件时出现Connection closed by foreign host. Disconnected from remote host错误

这时需要vi /etc/ssh/sshd_config ,找到如下两行,我的ClientAliveInterval (ClientAliveInterval 参数数值是秒 , 是指超时时间 , 这里设置的是一分钟)之前默认设置的是0,所以连接失败,这里的CLientAliveCountMax我没有修改。修改之后就可以连接上了。

压缩文件都上传到了root下

解压文件时尽量使用tab辅助补齐,自己有可能拼错

命令:tar -zxvf jdk-17.0.11_linux-x64_bin.tar.gz

命令:mv jdk-17.0.11 /home/ 将解压后的目录移动至指定目录

配置环境变量

命令:vi /etc/profile

在profile文件下面追加写入下面信息:

export JAVA_HOME=/home/jdk-17.0.11    JDK实际的安装目录

命令:source /etc/profile   使配置文件生效,一定要先使用这个命令

命令:java -version   若能显示版本则JDK安装配置完成,否则检查前面的步骤是否正确,这里正确显示java version

下载安装Hadoop

在宿主Windows中下载了,通过PuTTY上传到Linux

文件解压

  1. 命令:tar -zxvf hadoop-3.1.2.tar.gz
  2. 命令:mkdir /home/hadoop

然后再将解压后的目录移动至想要放置的位置, mv hadoop-3.1.2 /home/hadoop/hadoop-3.1.2

在/home/hadoop目录下创建数据存放的文件夹,tmp、dfs、dfs/data、dfs/name

命令:cd /home/hadoop

mkdir tmp   mkdir dfs   mkdir dfs/data  mkdir dfs/name

配置hadoop-env.sh

Vi /home/hadoop/hadoop-3.1.2/etc/hadoop/hadoop-env.sh,添加这一行

配置core-site.xml

Vi /home/hadoop/hadoop-3.1.2/etc/hadoop/core-site.xml 编辑如下内容

配置hdfs-site.xml

Vi /home/hadoop/hadoop-3.1.2/etc/hadoop/hdfs-site.xml 编辑如下内容

配置mapred-site.xml

Vi /home/hadoop/hadoop-3.1.2/etc/hadoop/mapred-site.xml 编辑如下内容

配置yarn-site.xml

Vi /home/hadoop/hadoop-3.1.2/etc/hadoop/yarn-site.xml 编辑如下内容

配置yarn-env.sh的JAVA_HOME

Vi /home/hadoop/hadoop-3.1.2/etc/hadoop/yarn-env.sh

配置Hadoop命令环境变量

命令:vi /etc/profile

在profile文件下面追加写入下面信息:

执行命令:source /etc/profile   环境变量即生效

配置workers,删除默认的localhost

命令:vi //home/hadoop/hadoop-3.1.2/etc/hadoop/workers

配置了works的节点才会有DataNode守护进程,主机名以实际名称为准,也可以为IP地址。

将JDK、profile和Hadoop复制到各个节点对应位置上,通过scp传送,

直接拷贝即可,不要更改任何配置文件,所有节点上的配置文件都是一样的

scp -r /home/jdk1.8.0_211 node2:/home/

scp -r /home/jdk1.8.0_211 node3:/home/

scp -r /etc/profile node2:/etc/

scp -r /etc/profile node3:/etc/

scp -r /home/hadoop node2:/home/

scp -r /home/hadoop node3:/home/

(1)初始化,在主节点输入命令:bin/hdfs namenode -format

   注意不要随意执行format

(2)全部启动sbin/start-all.sh,也可以分开sbin/start-dfs.sh、sbin/start-yarn.sh,停止服务,输入命令,sbin/stop-all.sh

  提示:there is no HDFS_NAMENODE_USER defined,则添加用户

   vi sbin/start-dfs.sh

   vi sbin/stop-dfs.sh

   在顶部空白处添加内容:

提示:ERROR: there is no YARN_RESOURCEMANAGER_USER defined.,则添加用户

    vi sbin/start-yarn.sh

    vi sbin/stop-yarn.sh

关闭防火墙

命令:systemctl stop firewalld.service      停止firewall

命令:systemctl disable firewalld.service   禁止firewall开机启动

三个节点都要关闭,不然启用Hadoop进行操作时会报错

  • 11
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_73931224

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值