【分布式计算框架】Hadoop伪分布式安装

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 【分布式计算框架】Hadoop伪分布式安装

Hadoop伪分布式安装

一、实验目的

  • 安装Linux虚拟机(至少五台)
  • hadoop伪分布式安装

二、实验环境

  • centos 6.5

三、实验内容

基本任务1:安装Linux虚拟机(至少5台)

(1)BIOS设置(开启虚拟化)

(2)配置网络(/etc/sysconfig/network-scripts/ifcfg-eth0)

(3)关闭防火墙

(4)关闭selinux(/etc/selinux/config)
SELINUX=disabled        //将enforcing改为disabled

(5)删除/etc/udev/rules.d/70-persistent-net.rules //便于克隆,该文件也有网卡地址映射

rm -f /etc/udev/rules.d/70-persistent-net.rules

(6)拍摄快照,克隆新的虚拟机 ,启动新虚拟机,MAC地址就会改变

重复创建5台虚拟机

(7)重复第2步,配置4台虚拟机IP

(8)配置主机名(/etc/sysconfig/network)
hostname=20191909node0x   (要求:主机名=学号+序号)

(9)配置映射(/etc/hosts)
192.168.87.33 20191909node01 //初始机作备用
192.168.87.34 hxq20191909node02
192.168.87.35 hxq20191909node03
192.168.87.36 hxq20191909node04
192.168.87.37 hxq20191909node05
192.168.87.38 hxq20191909node06

(10)验证 在20191909node01上 ping 20191909node02 或 ping 192.168.87.34

(11)编辑 C:\WINDOWS\System32\drivers\etc\hosts //windows应用程序也可以访问主机名
192.168.87.33 20191909node01 
192.168.87.34 hxq20191909node02
192.168.87.35 hxq20191909node03
192.168.87.36 hxq20191909node04
192.168.87.37 hxq20191909node05
192.168.87.38 hxq20191909node06

(12) 最后结果

基本任务2:hadoop伪分布式安装

(本例在20191909node01上搭建伪分布式)

(1)安装java //可以通过xftp传输安装文件到/root/software/

1.1 解压

rpm -i jdk-7u67-linux-x64.rpm  //解压到/usr/java/jdk1.7.0_67

1.2 配置环境变量

vi + /etc/profile   //通过. /etc/profile  或  source /etc/profile使其生效

export JAVA_HOME=/usr/java/jdk1.7.0_67
PATH=$PATH:$JAVA_HOME/bin

//下面未配置
export HADOOP_HOME=/opt/sxt/hadoop-2.6.5
PATH=$PATH:$JAVA_HOME:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export HBASE_HOME=/opt/sxt/hbase-0.98.12.1-hadoop2
PATH=$PATH:$HBASE_HOME/bin

export ZOOKEEPER_HOME=/opt/sxt/zookeeper-3.4.6
PATH=$PATH:$ZOOKEEPER_HOME/bin

export HIVE_HOME=/opt/sxt/apache-hive-1.2.1-bin
PATH=$PATH:$HIVE_HOME/bin

(2)设置ssh免密钥登录

rw-r–r-- 1 root root 1202 Nov 1 2019 authorized_keys

-rw------- 1 root root 668 Nov 1 2019 id_dsa

-rw-r–r-- 1 root root 601 Nov 1 2019 id_dsa.pub

cd /root/.ssh/ //如果没有.ssh目录,可以登录localhost自动产生

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

cat id_dsa.pub >> authorized_keys           //将id_dsa.pub公钥文件追加到验证文件authorized_keys

// 设置.ssh目录权限 chmod 700 -R .ssh

//第二种方法:

ssh-keygen

ssh-copy-id -i id_rsa.pub node01

(3)安装Hadoop

3.1 传输安装文件到/root/software

3.2 建立解压目的目录

mkdir -p /opt/20191909

3.3 解压

tar xf hadoop-2.6.5.tar.gz -C /opt/20191909/

3.4. 配置环境变量 //sbin目录存放系统级别脚本,bin目录存放一般命令

vi + /etc/profile

export HADOOP_HOME=/opt/2019109/hadoop-2.6.5
PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

(4)修改配置文件

文件所在目录:/opt/20191909/hadoop-2.6.5/etc/hadoop

  1. 修改hadoop-env.sh,mapred-env.sh,yarn-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_67

  1. 修改core-site.xml
<configuration>
   <property>
      <name>fs.defaultFS</name>
      <value>hdfs://20191909node01:9000</value>
   </property>
</configuration>

  1. 修改hdfs-site.xml
<configuration>
   <property>
      <name>dfs.replication</name>
      <value>1</value>
   </property>
</configuration>

  1. slaves //从节点信息
    20191909node01

  2. 修改hdfs-site.xml,增加:
<configuration>
   <property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>20191909node01:50090</value>
   </property>
</configuration>

6.修改core-site.xml,增加:

 <property>
       <name>hadoop.tmp.dir</name>
       <value>/var/20191909/hadoop/pseudo</value>
 </property>

(5) 格式化

hdfs namenode -format

查看 /var/2019109/hadoop/pseudo/dfs/name/current/fsimage_…

cat VERSION clusterID(集群ID)

四、出现问题及解决方案

问题:

  • DataNode未启动

解决方案:

  • 恢复快照,重新配置环境

五、实验结果

(1)启动集群

start-dfs.sh //可以jps查看启动哪些进程

jps //命令

(2)通过浏览器查看信息

ss -nal 查看通讯端口

在火狐等浏览器输入20191909node01:50070,前提是要在windows下的c:/windows/system32/drivers/etc/hosts文件添加IP节点映射

(3)练习上传文件
  1. 创建路径
    hdfs dfs -mkdir -p /user/root

    hdfs dfs -ls /

  2. 上传文件
    cd ~/software
    ls -lh ./ //查看文件大小

hdfs dfs -put hadoop-2.6.5.tar.gz /user/root

在浏览器查看

该文件应该生成两个块,块大小默认128MB

查看/var/20191909/pseudo/data/…实际存储位置

  1. 在~/software目录里创建一个新文件

for i in seq 100000;do echo “hello jxxy$i” >> test.txt;done

查看新文件大小

ll -h //test.txt文件大小约为1.6M

设置块大小上传文件

hdfs dfs -D dfs.blocksize=1048576 -put test.txt

  1. 每次需要关闭集群
    stop-dfs.sh

六、实验思考题

安装linux时,如何配置网络?


在安装Linux时配置网络,通常需要编辑网络配置文件,比如 /etc/network/interfaces 或者 /etc/sysconfig/network-scripts/ifcfg-eth0,设置IP地址、子网掩码、网关等信息,然后重启网络服务使配置生效。


为什么要删除/etc/udev/rules.d/70-persistent-net.rules?


删除 /etc/udev/rules.d/70-persistent-net.rules 文件是因为这个文件会存储设备的 MAC 地址与接口名的映射关系,如果更换了网卡或者调整了网络配置,可能会导致网络接口名混乱,删除该文件可以让系统在下次启动时重新生成正确的映射关系。


为什么要设置ssh免密钥登录?如何设置?


设置SSH免密钥登录可以提高安全性并方便远程登录管理。具体设置方法包括:生成密钥对、将公钥添加到目标服务器的 ~/.ssh/authorized_keys 文件中,确保权限正确;然后就可以直接SSH登录而无需输入密码。


搭建hadoop时,为什么要配置hadoop.tmp.dir?


配置 hadoop.tmp.dir 参数是为了指定Hadoop在运行过程中存储临时数据的目录,一般情况下应该设置在一个独立的磁盘或者目录上,以避免对主要存储产生影响。


安装完全分布式,为什么要同步服务器时间?


同步服务器时间在完全分布式环境下非常重要,因为各个节点之间需要保持时间同步以确保协调运行。可以使用NTP服务来实现时间同步,配置主服务器为时间服务器,其他服务器与其同步即可。


启动过程中如果发现某个datanode出现问题,如何处理?


如果在启动过程中某个DataNode出现问题,可以先查看日志文件以确定具体问题,尝试重启DataNode服务或者进行故障排查处理。如果问题无法解决,可能需要考虑替换硬件或修复软件错误。


zookeeper的作用是什么?


Zookeeper的作用是提供分布式应用程序的协调服务,包括配置管理、命名服务、集群管理等功能。在Hadoop集群中,Zookeeper通常用于协调和管理Hadoop集群的各个组件,确保它们能够正确协同工作。


hadoop.tmp.dir` 参数是为了指定Hadoop在运行过程中存储临时数据的目录,一般情况下应该设置在一个独立的磁盘或者目录上,以避免对主要存储产生影响。


安装完全分布式,为什么要同步服务器时间?


同步服务器时间在完全分布式环境下非常重要,因为各个节点之间需要保持时间同步以确保协调运行。可以使用NTP服务来实现时间同步,配置主服务器为时间服务器,其他服务器与其同步即可。


启动过程中如果发现某个datanode出现问题,如何处理?


如果在启动过程中某个DataNode出现问题,可以先查看日志文件以确定具体问题,尝试重启DataNode服务或者进行故障排查处理。如果问题无法解决,可能需要考虑替换硬件或修复软件错误。


zookeeper的作用是什么?


Zookeeper的作用是提供分布式应用程序的协调服务,包括配置管理、命名服务、集群管理等功能。在Hadoop集群中,Zookeeper通常用于协调和管理Hadoop集群的各个组件,确保它们能够正确协同工作。

相关文章
|
26天前
|
Java 数据库
在Java中使用Seata框架实现分布式事务的详细步骤
通过以上步骤,利用 Seata 框架可以实现较为简单的分布式事务处理。在实际应用中,还需要根据具体业务需求进行更详细的配置和处理。同时,要注意处理各种异常情况,以确保分布式事务的正确执行。
|
26天前
|
消息中间件 Java Kafka
在Java中实现分布式事务的常用框架和方法
总之,选择合适的分布式事务框架和方法需要综合考虑业务需求、性能、复杂度等因素。不同的框架和方法都有其特点和适用场景,需要根据具体情况进行评估和选择。同时,随着技术的不断发展,分布式事务的解决方案也在不断更新和完善,以更好地满足业务的需求。你还可以进一步深入研究和了解这些框架和方法,以便在实际应用中更好地实现分布式事务管理。
|
2天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
15 2
|
25天前
|
存储 Java 关系型数据库
在Spring Boot中整合Seata框架实现分布式事务
可以在 Spring Boot 中成功整合 Seata 框架,实现分布式事务的管理和处理。在实际应用中,还需要根据具体的业务需求和技术架构进行进一步的优化和调整。同时,要注意处理各种可能出现的问题,以保障分布式事务的顺利执行。
45 6
|
25天前
|
数据库
如何在Seata框架中配置分布式事务的隔离级别?
总的来说,配置分布式事务的隔离级别是实现分布式事务管理的重要环节之一,需要认真对待和仔细调整,以满足业务的需求和性能要求。你还可以进一步深入研究和实践 Seata 框架的配置和使用,以更好地应对各种分布式事务场景的挑战。
28 6
|
23天前
|
消息中间件 运维 数据库
Seata框架和其他分布式事务框架有什么区别
Seata框架和其他分布式事务框架有什么区别
23 1
|
1月前
|
机器学习/深度学习 自然语言处理 并行计算
DeepSpeed分布式训练框架深度学习指南
【11月更文挑战第6天】随着深度学习模型规模的日益增大,训练这些模型所需的计算资源和时间成本也随之增加。传统的单机训练方式已难以应对大规模模型的训练需求。
132 3
|
分布式计算 Ubuntu Hadoop
Hadoop 的安装和使用(基于Linux~Ubuntu的虚拟机)
Hadoop 的安装和使用(基于Linux~Ubuntu的虚拟机)
1043 0
Hadoop 的安装和使用(基于Linux~Ubuntu的虚拟机)
|
2月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
184 6
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
78 2
下一篇
DataWorks