从 Linux 安装到 Hadoop 环境搭建全过程

这篇具有很好参考价值的文章主要介绍了从 Linux 安装到 Hadoop 环境搭建全过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Hadoop 环境搭建

从 Linux 的最小化安装到 Hadoop 环境的搭建,尽可能详尽介绍每个步骤。

环境准备

首先需要将如下四个必要的文件下载到计算机(已经附上了下载地址,点击即可下载)。

  1. Vmware Workstation 16.x 【官方的下载地址】
  2. CentOS-7-x86_64-Minimal-2009【阿里云镜像站下载地址】
  3. openjdk-8u41-b04-linux-x64-14_jan_2020【开源下载地址】
  4. hadoop-2.7.1【官方下载地址】

安装 CentOS 7

在安装了 Vmware Workstation 16 后,接下来就可开始安装由阿里云镜像站提供的CentOS7。步骤如下:

  1. 文件 → 新建虚拟机,进入到【新建虚拟机向导】界面,选择自定义配置,如下所示:

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 点击下一步后,进入到【选择虚拟机硬件兼容性】界面。这里可以根据自己的情况选择是否需要向下兼容,我这里选择默认的 16.x,如下所示:

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 点击下一步后,进入到【安装客户机操作系统】界面。我们选择稍后安装操作系统,如下所示:

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 点击下一步后,进入到【选择客户机操作系统】界面。我们选择 Linux,并在版本的下拉框中选择 CentOS 7 64位,如下所示:

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 点击下一步后,进入到【命名虚拟机】界面。我这里考虑到后面要搭建两个子节点,故将其命名为 CentOS7x64-Master,如下所示:

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 点击下一步后,进入到【处理器配置】界面。这里需要根据硬件的条件来为虚拟机配置合适的处理器内核总数。

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 点击下一步后,进入到【虚拟机内存配置】界面。这里需要根据硬件的条件来为虚拟机配置合适的内存。

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 点击下一步后,进入到【网络类型配置】界面。这里选择默认的网络地址转换即可。需要注意的是,后续需要通过远程连接工具来登录这台主机,选择这个网络连接,需要真实机的 VMware Network Adapter VMnet8 网卡处于启用状态且要开启 VMware 相应的服务。

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 点击下一步后,进入到【选择I/O控制器类型】界面,采用推荐配置。

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 点击下一步后,进入到【选择磁盘类型】界面,采用推荐配置。

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 点击下一步后,进入到【选择磁盘】界面,选择创建新虚拟磁盘。

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 点击下一步后,进入到【指定磁盘容量】界面。这里需要根据硬件的条件来为虚拟机配置合适的磁盘总大小,我们采用建议的 20GB 已经够用。

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 点击下一步后,进入到【指定磁盘文件】界面。默认情况,这些文件都会在【命名虚拟机】界面中指定的位置中,采用默认的即可。

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 点击下一步后,配置已经全部完成,再次点击完成即可结束向导。

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 点击完成按钮后,会出现刚刚创建的虚拟机的选项卡,点击编辑虚拟机设置。

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 将光盘的连接选择【使用ISO映像文件】,通过【浏览】按钮找到从阿里云镜像中站中下载的 CentOS-7-x86_64-Minimal-2009.iso 文件。然后点击确定按钮关闭虚拟机设置窗口。

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 点击开启此虚拟机,快捷键 Ctrl + B。

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 开机之后,通过方向键 使得Install CentOS 7 菜单高亮选中,并按下回车键确认。

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 安装 CentOS 出现的第一个界面是欢迎页面,我们需要在整个安装期间选择一个语言。默认的语言是美式英文。

从 Linux 安装到 Hadoop 环境搭建全过程
在下方的输入框中输出 Chinese,后,就会过滤出中文语言。

从 Linux 安装到 Hadoop 环境搭建全过程

选择【中文】->【简体中文】后,点击【继续】按钮

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 在安装信息摘要页面中,需要需要配置的是系统的安装位置和网络主机名。点击出现警告图标的【安装位置】

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 根据需要来配置磁盘或者分区。我这里不做任何的修改,直接点击【完成】按钮。

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 回到安装信息摘要界面,点击网络和主机名。在安装之初,就设置好这些,避免开机之后还要设置网络信息。

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 接下来进度网络配置,我们需要在这里配置网卡信息和主机名信息,首先,点击以太网右侧的开关,以启动网卡。

从 Linux 安装到 Hadoop 环境搭建全过程

这个时候会自动出现 IP 的相关信息,可以看到它的IP地址是192.168.12.140,不难发现它是 12 网段的。如下所示:

从 Linux 安装到 Hadoop 环境搭建全过程

如果到了这里,并没有出现 ip 信息,检查真实机中和 VMware 相关的服务是否全部启动,以及 VMware 的网卡是否被启用。

这里的IP地址是通过DHCP自动获取的,不能保证每次开机它的IP是固定的,为了方便后面做集群的配置,这里可以对该网卡手动设置IP 。在配置网卡信息之前,记录下此时的网卡的子网掩码、默认路由和DNS信息。点击右下方的配置按钮,开始编辑网卡信息,在弹出的对话框中选择 【IPv4设置】选项卡。

从 Linux 安装到 Hadoop 环境搭建全过程

将方法设置为手动,并添加一个静态的IP地址,子网掩码、网关(默认路由)和DNS服务器的信息配置成和之前的一样即可。如下所示:

在配置 IP 地址的时候,需要注意的是,需要考虑到网段要和真实机保持一致,因为前面创建虚拟机时,采用了网络地址转换的连接方式,默认情况下,真实机使用的网卡是 VMware Network Adapter VMnet8 网卡,通过命令行使用 ipconfig 查看到它的IP是 192.168.12.1,这说明它是 12 网段。当然,在配置之前,我们也发现了它是12网段的。

从 Linux 安装到 Hadoop 环境搭建全过程

点击保存后,可以看到此时的IP地址已经修改为我们自定义的IP了,如下:

从 Linux 安装到 Hadoop 环境搭建全过程

接下来修改最底下的主机名处,将输入框中的主机名修改为方便好记的主机名,以便于后面通过 ssh 进行登录。因为我使用的 CentOS 7。而且是为了搭建 Hadoop 环境,结合我自定义的IP地址,我将其命名为 h150.c7。然后点击应用,就可以发现右下角的 localhost就会发生变化。最后,点击左上角的完成按钮,以完成配置。

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 接下来回到了安装信息摘要界面,点击右下角的开始安装按钮。

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 在安装过程中,我们可以设置一下 root 账号的密码。点击用户设置下方的 【ROOT密码】处,进入到为root账号配置密码的界面。

从 Linux 安装到 Hadoop 环境搭建全过程

因为密码过于简单,所以需要点击被要求点击两下完成按钮,以完成密码的设置。

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 回到安装界面,如果出现如下提示,点击【完成配置】按钮即可,出现这个界面可能是因为配置密码的时候,花的时间较长导致。

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 安装 CentOS的最后一个界面如下,点击重启以完成系统的安装。

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 重启之后,可以使用 Xshell 或者 SecureCRT 等远程工具进行登录了。

从 Linux 安装到 Hadoop 环境搭建全过程

配置 yum 源

刚安装的 CentOS 要做的第一件事就是将 yum 源配置为阿里云的镜像,以方便后面安装软件的时候提升响应速度。通过 curl 下载阿里云的 yum 源配置文件:

[root@h150 ~]# curl https://mirrors.aliyun.com/repo/Centos-7.repo >> CentOS-Base-Aliyun.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2523  100  2523    0     0  15413      0 --:--:-- --:--:-- --:--:-- 15478
[root@h150 ~]# 
[root@h150 ~]# mv CentOS-Base-Aliyun.repo /etc/yum.repos.d/
[root@h150 ~]# yum clean all
已加载插件:fastestmirror
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
正在清理软件源: base extras updates
[root@h150 ~]# 
[root@h150 ~]# yum makecache

在敲 yum makecache的时候,发现 tab 键不能自动补齐命令,这是因为缺少 bash-completion工具,正好通过 yum 来安装它。

yum -y install bash-completion

需要注意的是,这个工具安装好之后,不会立即生效,需要注销后重新登陆方可使用。

安装 JDK

虽然通过 yum 来安装 jdk 非常方便,但我依然选择手动安装。

  1. 下载安装包,并解压到指定位置。
[root@h150 ~]# curl -# https://download.java.net/openjdk/jdk8u41/ri/openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz >> java-se-8u41-ri.tar.gz
######################################################################## 100.0%
[root@h150 ~]# tar -zxf java-se-8u41-ri.tar.gz -C /opt/
[root@h150 ~]# vi /etc/profile
  1. /etc/profile 文件的最后配置 Java的环境变量,追加如下内容:
export JAVA_HOME=/opt/java-se-8u41-ri/
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

  1. 保存退出后使用 source 命令使 /etc/profile 文件生效,自此,jdk 安装完成。
[root@h150 ~]# source /etc/profile
[root@h150 ~]# java -version
openjdk version "1.8.0_41"
OpenJDK Runtime Environment (build 1.8.0_41-b04)
OpenJDK 64-Bit Server VM (build 25.40-b25, mixed mode)

安装 Hadoop (伪分布模式)

【单机模 式】:

不能使用 HDFS,只能使用 MapReduce,所以单机模式最主要的目的是在 本机调试 mapreduce 代码

【伪分布式模 式】:

用多个线程模拟多台真实机器,即用一台主机模拟真实的分布式环境。

【完全分布式模式】:

用多台机器(或启动多个虚拟机)来完成部署集群。

  1. 下载安装包,并解压到指定位置。
[root@h150 ~]# curl -# https://archive.apache.org/dist/hadoop/common/hadoop-2.7.1/hadoop-2.7.1.tar.gz >> hadoop-2.7.1.tar.gz
######################################################################## 100.0%
[root@h150 ~]# tar -zxf hadoop-2.7.1.tar.gz -C /opt/
  1. 通过 vi 修改 Hadoop 下 etc/hadoop/hadoop-env.sh 文件,找到 JAVA_HOMEHADOOP_CONF_DIR。此处的 JAVA_HOME 的值需要和 /etc/profile 中配置的 JAVA_HOME 的值保持一致。修改后结果如下:
# The only required environment variable is JAVA_HOME.  All others are
# optional.  When running a distributed configuration it is best to
# set JAVA_HOME in this file, so that it is correctly defined on
# remote nodes.

# The java implementation to use.
export JAVA_HOME=/opt/java-se-8u41-ri/

# The jsvc implementation to use. Jsvc is required to run secure datanodes
# that bind to privileged ports to provide authentication of data transfer
# protocol.  Jsvc is not required if SASL is configured for authentication of
# data transfer protocol using non-privileged ports.
#export JSVC_HOME=${JSVC_HOME}

export HADOOP_CONF_DIR=/opt/hadoop-2.7.1/etc/hadoop

​ 配置完成之后,使用 source 命令使其生效:

[root@h150 ~]# source /opt/hadoop-2.7.1/etc/hadoop/hadoop-env.sh
[root@h150 ~]#
  1. 通过 vi 修改 Hadoop 下 etc/hadoop/core-site.xml 文件,内容如下:
<configuration>
    <!-- 指定 NameNode 的主机名和端口号 -->
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://h150.c7:9000</value>
	</property>
    <!-- 
	指定 Hadoop 的临时目录
	在默认情况下,该目录会存储 NameNode,DataNode 或其他模块的数据
	-->
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/opt/hadoop-2.7.1/tmp</value>
	</property>
	<!--  缓冲区大小,实际工作中根据服务器性能动态调整 -->
	<property>
		<name>io.file.buffer.size</name>
		<value>4096</value>
	</property>
	<!--
	开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟
	-->
	<!--
	<property>
		<name>fs.trash.interval</name>
		<value>10080</value>
	</property>
    -->
</configuration>
  1. 通过 vi 修改 Hadoop 下 etc/hadoop/hdfs-site.xml 文件,内容如下:
<configuration>
    <!-- 
	指定 hdfs 保存数据副本的数量(包括自己),默认值是 3。
    如果是伪分布模式,此值应该是 1 
    -->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
	<!-- 设置HDFS的文件权限-->
	<property>
		<name>dfs.permissions</name>
		<value>true</value>
	</property>
	<!-- 设置一个文件切片的大小:128M -->
    <!--
	<property>
		<name>dfs.blocksize</name>
		<value>134217728</value>
	</property>
	-->
</configuration>
  1. 通过 vi 修改 Hadoop 下 etc/hadoop/mapred-site.xml 文件。但是在这个文件并不存在,可以通过 cp 将其拷贝一份进行修改:
[root@h150 ~]# cp /opt/hadoop-2.7.1/etc/hadoop/mapred-site.xml.template /opt/hadoop-2.7.1/etc/hadoop/mapred-site.xml
[root@h150 ~]# vi /opt/hadoop-2.7.1/etc/hadoop/mapred-site.xml

​ 修改后的 mapred-site.xml 文件的内容如下:

<configuration>
    <!-- 指定 MapReduce 在 Yarn 上运行 -->
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
</configuration>
  1. 通过 vi 修改 Hadoop 下 etc/hadoop/yarn-site.xml 文件。
<configuration>
    <!-- 指定 Yarn 的 ResourceManager 的主机名 -->
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>h150.c7</value>
	</property>
    <!-- 指定 Yarn 的 NodeManager 的获取数据的方式 -->
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>
</configuration>
  1. 通过 vi 修改 Hadoop 下 etc/hadoop/slaves 文件。直接在该文件中输入集群中所有节点的主机名,每个主机名独占一行,因为采用的是伪 分布式模式,所以,只需要在当前文件中写入当前主机的名称即可。
vi /opt/hadoop-2.7.1/etc/hadoop/slaves

​ 修改后的 slaves 文件的内容如下:

h150.c7
  1. /etc/profile 文件的最后配置 Hadoop 的环境变量,追加如下内容:
export HADOOP_HOME=/opt/hadoop-2.7.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  1. 保存退出后使用 source 命令使 /etc/profile 文件生效。
source /etc/profile
  1. 通过 vi 修改 Hadoop 下 /etc/hosts 文件,追加当前主机的IP地址映射主机名。如下所示:
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.12.150 h150.c7
  1. 执行如下命令对 NameNode 进行格式化。
hdfs namenode -format

出现如下图所示的 successfully formatted. 的提示文字,则说明格式化成功!

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 执行 start-dfs.shstart-all.sh 脚本来启动 Hadoop 的组件。启动完成后,使用 jps 命令来判断是否启动成功。
[root@h150 ~]# start-all.sh 
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
Starting namenodes on [h150.c7]
root@h150.c7's password: 
h150.c7: starting namenode, logging to /opt/hadoop-2.7.1/logs/hadoop-root-namenode-h150.c7.out
root@h150.c7's password: 
h150.c7: starting datanode, logging to /opt/hadoop-2.7.1/logs/hadoop-root-datanode-h150.c7.out
Starting secondary namenodes [0.0.0.0]
root@0.0.0.0's password: 
0.0.0.0: starting secondarynamenode, logging to /opt/hadoop-2.7.1/logs/hadoop-root-secondarynamenode-h150.c7.out
starting yarn daemons
starting resourcemanager, logging to /opt/hadoop-2.7.1/logs/yarn-root-resourcemanager-h150.c7.out
root@h150.c7's password: 
h150.c7: starting nodemanager, logging to /opt/hadoop-2.7.1/logs/yarn-root-nodemanager-h150.c7.out
[root@h150 ~]# jps
18208 Jps
17684 SecondaryNameNode
17829 ResourceManager
17526 DataNode
17404 NameNode
18109 NodeManager
[root@h150 ~]# 

从结果看,说明启动成功!

免密登录

在每次使用 start-dfs.sh 的时候,会被要求输入3次密码。原因是 Hadoop 启动过 程中会先后启动 NameNode、SecondaryNameNode 和 DataNode 组件,它们会通过 ssh 来 登录到配置文件中指定的主机,而登录到目标主机就需要验证登录身份,所以需要输入三次 密码。

为了方便 Hadoop 启动的过程中能够免密登录,我们可以使用 ssh-keygenssh-copy-id 两个命令来操作,具体如下:

[root@h150 ~]# ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:/SjKbSI59e5S7NmM/jmk9PJd8C1a9EebX3hmpyeRTCM root@h150.c7
The key's randomart image is:
+---[RSA 2048]----+
|                 |
|                 |
|                 |
|         .  E o  |
|       .S . .+.o.|
|      . + .o ++=o|
|     o =.O. . *+X|
|    +.ooO.=o +.**|
|     ooB=++.o .o.|
+----[SHA256]-----+
[root@h150 ~]# 
[root@h150 ~]# ssh-copy-id root@h150.c7
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@h150.c7's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@h150.c7'"
and check to make sure that only the key(s) you wanted were added.

[root@h150 ~]# 

完成之后,再次启动或者停止 Hadoop 组件的时候,就不会再要求输入密码了。

开放防火墙的端口

Hadoop 启动后,其实是可以通过真实机浏览器来访问一个 web 界面的,其端口是 50070,例如访问:http://192.168.12.150:50070/,但是,因为防火墙的缘故,这里是不允许被外部访问的。可以使用 firewall-cmd 来设置需要开放的端口,具体如下所示:

[root@h150 ~]# firewall-cmd --add-port=50010/tcp --permanent
success
[root@h150 ~]# firewall-cmd --add-port=50020/tcp --permanent
success
[root@h150 ~]# firewall-cmd --add-port=50070/tcp --permanent
success
[root@h150 ~]# firewall-cmd --add-port=50075/tcp --permanent
success
[root@h150 ~]# firewall-cmd --add-port=50090/tcp --permanent
success
[root@h150 ~]# firewall-cmd --add-port=8030/tcp --permanent
success
[root@h150 ~]# firewall-cmd --add-port=8031/tcp --permanent
success
[root@h150 ~]# firewall-cmd --add-port=8082/tcp --permanent
success
[root@h150 ~]# firewall-cmd --add-port=8088/tcp --permanent
success
[root@h150 ~]# firewall-cmd --add-port=9000/tcp --permanent
success
[root@h150 ~]# firewall-cmd --reload
success
[root@h150 ~]# 

安装 Hadoop (完全分布模式)

在伪分布式模式的基础上,搭建 Hadoop 进行完全分布式环境。这里采用三个子节点(包括自己)。

  1. 首先将虚拟机关机后,对齐进行快照:

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 依次点击菜单栏的【虚拟机】→【管理】→【克隆】,打开克隆虚拟机向导。

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 点击下一步后,进入到【克隆源】选择界面,这里选哪个都行。

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 点击下一步后,进入到【克隆类型】选择界面,这里选择【创建完整克隆】

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 点击下一步后,进入到为新虚拟机命名的界面,因为要将它作为子节点,这里我将其命名为 Slave01,如下所示:

从 Linux 安装到 Hadoop 环境搭建全过程

  1. 克隆完成之后,将得到一个全新的虚拟机。因为之前有手动配置 IP,故而,这个新的主机的IP也是 192.168.12.150。为了避免启动集群的时候发生 IP 冲突,这里可以使用 sed 命令手动替换掉它的IP地址。不要将之前的虚拟机开机,把新虚拟机开机后,登录进去,使用如下命令将 IP 地址和主机名进行修改
[root@h150 ~]# sed -i s/'IPADDR="192.168.12.150"'/'IPADDR="192.168.12.151"'/g /etc/sysconfig/network-scripts/ifcfg-ens33
[root@h150 ~]# hostnamectl set-hostname h151.c7
[root@h150 ~]# hostname
h151.c7
[root@h150 ~]# reboot

  1. 使用相同的方法,将最初的虚拟机再克隆一份,命名为 Slave02,IP地址为 192.168.12.152,主机名为 h152.c7,于是就得到了三台主机名和IP地址不同但是配置相同的虚拟机。如下表所示
虚拟机名称 主机名 IP地址
CentOS7x64-Master h150.c7 192.168.12.150
CentOS7x64-Slave01 h151.c7 192.168.12.151
CentOS7x64-Slave02 h152.c7 192.168.12.152
  1. 将三台虚拟机全部开机,使用 vi 修改的 /etc/hosts 文件,均如下:
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.12.150 h150.c7
192.168.12.151 h151.c7
192.168.12.152 h152.c7
  1. 将三台虚拟机全部开机,为三台设备相互之间配置免密登录。
[root@h150 ~]# ssh root@h151.c7
[root@h151 ~]# rm -rf ~/.ssh/*
[root@h151 ~]# logout
Connection to h151.c7 closed.
[root@h150 ~]# ssh-copy-id root@h151.c7
[root@h150 ~]# 
[root@h150 ~]# ssh root@h152.c7
[root@h152 ~]# rm -rf ~/.ssh/*
[root@h152 ~]# logout 
Connection to h152.c7 closed.
[root@h150 ~]# ssh-copy-id root@h152.c7
[root@h150 ~]# 
[root@h150 ~]# 
[root@h150 ~]# scp /etc/hosts root@h151.c7:/etc/hosts
hosts                          100%  227   200.9KB/s   00:00 
[root@h150 ~]# scp /etc/hosts root@h152.c7:/etc/hosts
hosts                          100%  227   233.3KB/s   00:00 
[root@h150 ~]# 
[root@h150 ~]# 
[root@h150 ~]# ssh h151.c7
Last login: Tue Apr 26 02:22:18 2022 from h150.c7
[root@h151 ~]# ssh-keygen 
[root@h151 ~]# ssh-copy-id root@h150.c7
[root@h151 ~]# ssh-copy-id root@h151.c7
[root@h151 ~]# ssh-copy-id root@h152.c7
root@h151 ~]# ssh h152.c7
Last login: Tue Apr 26 02:23:44 2022 from h150.c7
[root@h152 ~]# ssh-keygen 
[root@h152 ~]# ssh-copy-id root@h150.c7
[root@h152 ~]# ssh-copy-id root@h151.c7
[root@h152 ~]# ssh-copy-id root@h152.c7
[root@h152 ~]# 
[root@h152 ~]# logout
Connection to h152.c7 closed.
[root@h151 ~]# logout
Connection to h151.c7 closed.
[root@h150 ~]# 
  1. 通过 vi 修改 Hadoop 下 etc/hadoop/hdfs-site.xml 文件中的副本数量为 3 ,如下所示:
<configuration>
    <!-- 
	指定 hdfs 保存数据副本的数量(包括自己),默认值是 3。
    如果是伪分布模式,此值应该是 1 
    -->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
	<!-- 设置HDFS的文件权限-->
	<property>
		<name>dfs.permissions</name>
		<value>true</value>
	</property>
	<!-- 设置一个文件切片的大小:128M -->
    <!--
	<property>
		<name>dfs.blocksize</name>
		<value>134217728</value>
	</property>
	-->
</configuration>
  1. 通过 vi 修改 Hadoop 下 etc/hadoop/slaves 文件,内容如下:
h150.c7
h151.c7
h152.c7
  1. 然后将 Hadoop 的数据、日志和临时文件全部删除后,将配置文件全部分发给子节点,重新格式化 namenode,重启 Hadoop 的所有组件。
[root@h150 ~]# rm -rf /opt/hadoop-2.7.1/data/
[root@h150 ~]# rm -rf /opt/hadoop-2.7.1/logs/*
[root@h150 ~]# rm -rf /opt/hadoop-2.7.1/tmp/*
[root@h150 ~]# scp -r /opt/hadoop-2.7.1/ root@h151.c7:/opt/
[root@h150 ~]# scp -r /opt/hadoop-2.7.1/ root@h152.c7:/opt/
[root@h150 ~]# hdfs namenode -format
[root@h150 ~]# start-all.sh
  1. 最后打开浏览器,访问 50070 端口的 datanodes 页面,如果出现了三个节点,则说明操作成功!如下所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FRXtDgwV-1656651966641)(从 Linux 安装到 Hadoop 环境搭建全过程.assets/image-20220426045424164.png)]

op/slaves` 文件,内容如下:

h150.c7
h151.c7
h152.c7
  1. 然后将 Hadoop 的数据、日志和临时文件全部删除后,将配置文件全部分发给子节点,重新格式化 namenode,重启 Hadoop 的所有组件。
[root@h150 ~]# rm -rf /opt/hadoop-2.7.1/data/
[root@h150 ~]# rm -rf /opt/hadoop-2.7.1/logs/*
[root@h150 ~]# rm -rf /opt/hadoop-2.7.1/tmp/*
[root@h150 ~]# scp -r /opt/hadoop-2.7.1/ root@h151.c7:/opt/
[root@h150 ~]# scp -r /opt/hadoop-2.7.1/ root@h152.c7:/opt/
[root@h150 ~]# hdfs namenode -format
[root@h150 ~]# start-all.sh
  1. 最后打开浏览器,访问 50070 端口的 datanodes 页面,如果出现了三个节点,则说明操作成功!如下所示:

从 Linux 安装到 Hadoop 环境搭建全过程文章来源地址https://www.toymoban.com/news/detail-400749.html

到了这里,关于从 Linux 安装到 Hadoop 环境搭建全过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CentOS7搭建伪分布式Hadoop(全过程2023)

    可以使用XFTP,用物理主机链接虚拟机的centos传送java文件,或者直接去java官网下载文件,解压。配置文件,启动配置。 验证java是否配置好 输入: java javac java -version 修改六个配置文件hadoop-env.sh 启动hadoop之前需要格式化(具体在出现的问题第六点) 验证: 出现错误,解决和验

    2024年02月08日
    浏览(48)
  • Selenium+Python自动化脚本环境搭建的全过程

    * 本文仅介绍环境的搭建,不包含任何脚本编写教程。 先整体说一下需要用到工具 1、Python环境(包括pip) 2、谷歌浏览器(包括对应的WebDriver) 详细步骤: 1、下载安装包 Python Releases for Windows | Python.org   下载完成过后,打开进行安装, 先把下面的add path打钩 ,然后一直下

    2024年01月17日
    浏览(59)
  • AI学习笔记二:YOLOV5环境搭建及测试全过程

    若该文为原创文章,转载请注明原文出处。 记录yolov5从环境搭建到测试全过程。 1、系统:windows10 (无cpu) 2、yolov5版本:yolov5-5.0 3、python版本:py3.8 在创建虚拟环境前需要先把miniconda3和pytorch安装好。 1、打开Anaconda Powershell Prompt(miniconda3)终端,执行下面命令创建python虚拟环境

    2024年02月09日
    浏览(37)
  • Kali Linux搭建DVWA漏洞靶场(全过程)

    1、搭建好kali Linux虚拟机,可以看我前面发布的文章 2、有DVWA-master压缩包,可以看我前面的文章,里面含有DVWA-master压缩包 目  录 一、开启Apache、mysql服务 1.1  下载Apache2文件 1.2 开启Apache2服务  1.3 开启mysql服务 1.4 验证Apache2服务是否成功开启 二、解压并安装DVWA环境 2.1 压缩

    2024年02月11日
    浏览(35)
  • 基于CAA的CATIA二次开发环境搭建全过程(亲测可用)

     本着交流与学习的目的,现将本人亲自探索的基于CAA的CATIA二次开发环境搭建全过程分享出来,供有需要者参考。对于文中的不足或错误之处,请不吝指教。  本文所涉及的软件及其版本包括:CATIA V5 R19、CAA R19、Rade V5 R19、Microsoft Visual Studio 2005 、VA_X_Setup1925。(软件版本一

    2024年02月05日
    浏览(82)
  • K8S搭建自动化部署环境(五)Harbor私有仓库的搭建全过程

    各位大佬,前文如下: K8S搭建自动化部署环境(一)安装Kubernetes K8S搭建自动化部署环境(二)安装K8S管理工具Kuboard V3 K8S搭建自动化部署环境(三)Jenkins下载、安装和启动 K8S搭建自动化部署环境(四)Jenkins多分支流水线Blue Ocean的安装和使用 本文正文: 首先,下载harbor包,

    2024年02月05日
    浏览(53)
  • ESP32 官方AT固件编译(从零开始环境搭建到编译完成全过程)

    https://download3.vmware.com/software/WKST-PLAYER-1702/VMware-player-full-17.0.2-21581411.exe https://releases.ubuntu.com/jammy/ubuntu-22.04.2-desktop-amd64.iso 可能需要进电脑的BIOS打开一个选项才能安装成功虚拟机 5.1 GIT 克隆 git clone --recursive https://github.com/espressif/esp-at.git 如果没有安装git,按照控制台的提示安

    2024年02月15日
    浏览(47)
  • web自动化测试框架落地实施全过程-测试环境搭建 (Selenium+Python)

    Web自动化测试是指使用自动化工具模拟用户在Web浏览器中执行的操作,通过编写脚本来自动化执行测试用例,以验证Web应用程序的功能、性能和兼容性等方面的质量。其主要目的是降低测试成本和时间,并提高测试效率和准确性。 Web自动化测试通常包括以下步骤: 确定测试

    2024年02月09日
    浏览(82)
  • linux安装docker全过程

    3. 第二步:设置docker的存储库。就两条命令,我们直接执行就好。 ​ ​ 4. 安装docker engine和docker-compose。 执行命令: ​ 等到屏幕输出success后,我们输入docker -v 。如果输出了它的版本号那么就证明docker安装好了。输入 docker compose version 如果也输出了版本号,则证明 docker-co

    2024年02月10日
    浏览(45)
  • 记一次mysql8 在linux上安装全过程

    参照MYSQL官网官方文档安装 1、mysql官网 mysql官网 2、直接进入文档页 找到安装文档 3、找到自己系统对应的安装文档,选合适的安装方式,我这里使用的是YUM方式 a、开始安装之前需要替换yum仓库 具体步骤如下 b、将下载的文件上传至自己的服务器 如下 c c、执行yum仓库安装命

    2024年02月12日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包