当前位置: 首页 > news >正文

云计算实验1——CentOS中hadoop的安装

本文是对“云计算”课程学习中 hadoop安装实验 的实验步骤记录。若有错误,欢迎交流指正。
实验环境:3台CentOS 7虚拟机,均已配置Java 1.7.0_79
实验目的:安装hadoop(版本2.6.5)

目录

  • 1 虚拟机准备
  • 2 配置SSH无密码登录
    • 2.1 配置hosts
    • 2.2 配置SSH无密码登录
  • 3 hadoop的安装
    • 3.1 解压安装hadoop
    • 3.2 修改配置文件
      • 3.2.1 hadoop-env.sh
      • 3.2.2 core-site.xml
      • 3.2.3 hdfs-site.xml
      • 3.2.4 配置masters和slaves
    • 3.3 将hadoop复制到其他节点
    • 3.4 配置环境变量
    • 3.5 hadoop初始化
  • 4 启动hadoop进行测试
    • 4.1 启动hadoop
    • 4.2 浏览器测试
    • 4.3 上传文件测试

1 虚拟机准备

首先创建三台虚拟机,虚拟机网络配置为桥接模式,并根据自己PC的网络信息,在CentOS中分别配置各自的IP地址,使其和PC位于相同网段。
在这里插入图片描述

在这里插入图片描述
在windows中,使用ssh连接到三台虚拟机。
在这里插入图片描述

2 配置SSH无密码登录

2.1 配置hosts

首先使用以下命令修改三台机器的名字,我这里命名为node1、node2、node3。

hostnamectl set-hostname 主机名

然后配置hosts,三台机器均执行:vi /etc/hosts,添加三台机器对应的IP。注意IP和主机名之间使用tab键隔开。
在这里插入图片描述
配置好后,通过机器名称互相ping,测试可以联通。
在这里插入图片描述

2.2 配置SSH无密码登录

首先生成ssh密钥。在三台机器中执行此命令:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_rsa

在这里插入图片描述
接下来分别将每台机器的公钥记录下来,并将node2和node3的公钥拷贝到node1中。
node1:

cd ~/.ssh
cat id_rsa.pub >> authorized_keys

node2:

cd ~/.ssh
cat id_rsa.pub >> authorized_keys1
scp authorized_keys1 root@node1:~/.ssh/

在这里插入图片描述
node3:

cd ~/.ssh
cat id_rsa.pub >> authorized_keys2
scp authorized_keys2 root@node1:~/.ssh/

在node1中,将node2和node3的公钥添加进authorized_keys中。
node1:

cat authorized_keys1 >> authorized_keys
cat authorized_keys2 >> authorized_keys

在node1中,将合并好的authorized_keys分发到node2和node3中。

scp authorized_keys root@node2:~/.ssh/
scp authorized_keys root@node3:~/.ssh/

在这里插入图片描述
在node2中进行测试,可以无密码登录node1。使用exit退出ssh会话。
在这里插入图片描述

3 hadoop的安装

以下命令均在node1中执行。node1中配置好hadoop后,将其拷贝到node2和node3即可。

3.1 解压安装hadoop

首先准备hadoop的安装包,放置到/usr目录中。
在这里插入图片描述
由于虚拟机此前配置过hadoop,所以首先删除原机已经有的hadoop

cd /usr
rm -rf hadoop

然后解压hadoop,并重命名

tar -xzvf hadoop-2.6.5.tar.gz
mv hadoop-2.6.5 /usr/hadoop

在这里插入图片描述
创建运行时需要的文件夹

mkdir /usr/hadoop/tmp 
mkdir /usr/hadoop/hdfs 
mkdir /usr/hadoop/hdfs/data 
mkdir /usr/hadoop/hdfs/name

3.2 修改配置文件

3.2.1 hadoop-env.sh

vi /usr/hadoop/etc/hadoop/hadoop-env.sh

找到如下内容:export JAVA_HOME=${JAVA_HOME}
将这行内容修改为:export JAVA_HOME=/usr/java/jdk1.7.0_79
在这里插入图片描述

3.2.2 core-site.xml

vi /usr/hadoop/etc/hadoop/core-site.xml

configuration标签之间加入以下内容

<property><name>hadoop.tmp.dir</name><value>/usr/hadoop/cloud</value>
</property>
<property><name>fs.defaultFS</name><value>hdfs://node1:8020</value>
</property>

3.2.3 hdfs-site.xml

vi /usr/hadoop/etc/hadoop/hdfs-site.xml

configuration标签之间加入以下内容

<property><name>dfs.namenode.secondary.http-address</name><value>node2:50090</value>
</property>
<property><name>dfs.namenode.secondary.https-address</name><value>node2:50091</value>
</property>

3.2.4 配置masters和slaves

cd /usr/hadoop/etc/hadoop/

使用vi命令修改masters和slaves两个文件的内容:

vi slaves

slaves中,删除localhosts,添加node2、node3

vi masters

masters中,添加node1

3.3 将hadoop复制到其他节点

在node1中执行以下命令,将配置好的hadoop复制到node2和node3

scp -r /usr/hadoop root@node2:/usr/
scp -r /usr/hadoop root@node3:/usr/

3.4 配置环境变量

以下命令在所有机器中均需执行

vi /etc/profile

添加以下内容

export HADOOP_HOME=/usr/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

在这里插入图片描述
执行以下命令使配置生效

source /etc/profile

3.5 hadoop初始化

在node1中执行以下命令

cd /usr/hadoop/bin
./hdfs namenode -format

在这里插入图片描述

4 启动hadoop进行测试

4.1 启动hadoop

在node1中执行命令,启动hadoop

cd /usr/hadoop/sbin
./start-dfs.sh

在这里插入图片描述
检查各节点状态,在各节点中分别执行命令jps
各节点应有的进程如下表所示

节点进程
node1ResourceManager、NameNode、Jps
node2DataNode、SecondaryNameNode、Jps
node3DataNode、Jps

4.2 浏览器测试

在node1虚拟机中,启动浏览器,地址栏输入node1:50070在这里插入图片描述
选择datanodes,能看到node2和node3的信息。
在这里插入图片描述
若看不到其他datanode的信息,可排查防火墙状态。在学习过程中,可以直接关闭CentOS防火墙。

systemctl stop firewalld     # 本次停止
systemctl disable firewalld  # 停用防火墙服务

4.3 上传文件测试

向HDFS新建一个测试文件夹

hdfs dfs -mkdir /test

选择browse the file system
在这里插入图片描述
可以看到刚才新建的目录
在这里插入图片描述
再创建一个测试文件并上传

echo hello > hello.txt
hdfs dfs -put hello.txt /test

在test目录中可以看到上传的文件
在这里插入图片描述


实验至此结束,感谢阅读本文。
文中所有图片均添加水印,严禁任何方式盗用或转载本文及文中图片。

http://www.dtcms.com/a/402998.html

相关文章:

  • 使用 Captura 和 FFmpeg 配置免费高效的录屏环境
  • FFmpeg安装(Windows)
  • 电子商务网站建设与管理英文网站开发方式演进
  • Jenkins运维之路(共享库集成流水线发布)
  • 论文精读:mmDrive: Fine-grained Fatigue Driving Detection Using mmWave Radar
  • 网站多媒体加载卡顿?视频压缩 + 音频优化,加载速度提升 75% 的实操方法
  • 关于Modbus CRC16生成算法的一些理解
  • Springboot整合Netty的启动方式(二)
  • 17.15 ChatPPT深度拆解:GLM-4多模态引擎如何实现23.6%成本优势碾压竞品?
  • 计算机系毕设代做网站自已建网站卖东西要多少钱
  • Nginx反向代理与缓存功能
  • clickhouse-backup备份
  • JavaWeb--day10--SpringBootWeb案例(二)
  • 专业网站建设找哪家好厦门帮忙建设网站
  • 化工材料 技术支持 东莞网站建设域名分析网站
  • 避坑指南:Java 中字段的命名 “陷阱”—success和isSuccess
  • 从 ZooKeeper 到 ELK:分布式中间件与日志分析系统全解析
  • 专业视频修复软件,简单操作效果好
  • 微信小程序开发小白入门指南
  • 商标设计网站是哪个烟台网站公司
  • 卖狗做网站什么关键词最好成都做网站
  • 自然语言处理——情感分析 <上>
  • 网站开发 一眼网站开发人员名片
  • uniapp手机端调试基座版本号为4.76, 版本号相同,跳过基座更新
  • vue核心原理实现
  • 在docker中容器使用iptables限制IP访问端口
  • iOS 26 耗电检测实战攻略,如何测电量掉速、定位高耗能模块与优化策略(适用于 uni-app 原生 App)
  • uniapp+<script setup lang=“ts“>解析后端返回的图片流并将二维码展示在页面中
  • 1- 十大排序算法(选择排序、冒泡排序、插入排序)
  • uniapp x 鸿蒙开发之调试证书签名配置