在Centos7下安装Hadoop的完全分布

首先要进行准备工作

需要准备虚拟机

进入官网下载

Windows 虚拟机 | Workstation Pro | VMware | CN

 准备镜像源文件

Centos7-Minimal
http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/

 准备jdk和Hadoop包

jdk的包

进入官网 

https://www.oracle.com/java/technologies/downloads/#java8-linux

Hadoop镜像文件

清华大学管网:

https://mirrors.tuna.tsinghua.edu.cn/apac he/hadoop/common/

Xshell 

进入官网下载 

XSHELL - NetSarang Website

Xftp 

进入官网下载

XFTP - NetSarang Website (xshell.com)

这里要连接Xshell去传输文件

 连接Xshell

说明:需要提前先安装好 Xshell 和 Xftp

输入之后,可能中间会中断一次,不要担心,按enter继续就可以了 

 

 jdk的包(Linux版)

Hadoop的镜像文件(Hadoop的包)

传输过去

这里我以 Ubuntu的连接为例,

 需要下载的资源在我的博客的资源包里面也有,可以直接下载

准备工作之后创建虚拟机

​ 

​ 

 

​ 

 

 

​ 

​ 

 

 

​ 

​ 

 

 然后就是等待,进程完成,需要等一会,不要着急

​ 

 完成之后重新启动

安装Hadoop需要设置三个节点,这里我们把这三个节点命名为master,slave1,slave2

启动之后输入刚才的用户名 

 如果刚才的的用户名是hadoop就不用在建一个了,不然的话还要在建立一个用户名

克隆虚拟机(需要 vmware workstation pro 版本)

选择克隆已安装好的虚拟机

克隆自“虚拟机中的当前状态”

​ 

克隆方法:创建完整克隆
克隆 2 次,最终有 3 个虚拟机( 1 master 节点, 2 slave 节点)。
网络配置
(1) 虚拟机网络设置   
虚拟机设置中将网络连接选择为: NAT 模式 3 个虚拟机都设置

在虚拟网络编辑器中设置 VMnet8 NAT 模式的网络适配器),关闭 DHCP
务,设置完成后点击“应用

 

设置 hostname 3 个虚拟机都设置)
hostname 设置计划
主节点: master
从节点 1 slave1
从节点 2 slave2
切换到 root 用户
su - //切换root用户
修改 hostname
vi /etc/hostname

删掉原有内容,写入: master

重启后显示新的 hostname

 创建一个新用户

新建 hadoop 用户(需要切换到 root 用户,指令为: su -
adduser hadoop

设置 hadoop 用户密码(密码长度需要大于 8 位并且包含 2 种以上不同类型字符)

passwd hadoop
hadoop 用户加入 hadoop 用户组
usermod -a -G hadoop hadoop

 查看是否成功

cat /etc/group

 切换到hadoop用户

su hadoop
允许 hadoop 用户使用超级权限( superprivileges ,也称 root 权限)
注意:默认情况下, CentOS 系统不允许普通用户使用超级权限,如果以 sudo

 作为开头输入指令,会出现如下提示,告知当前用户不在允许使用超级权限的文件内。

需要将当前用户添加到 sudoers 文件中。
切换到 root 用户
su -
编辑 /etc/sudoers 文件
vi /etc/sudoers
移动到文件底部,在 rootALL=(ALL) ALL 下添加:
                                [username]ALL=(ALL) ALL
添加后强制保存:wq!  退出。使用 exit 指令退出 root 用户(会返回到 hadoop用户)
exit

 

4. 关闭防火墙(3个虚拟机都设置)

查看防火墙运行状态,返回 running 表示防火墙正在运行中。
sudo firewall-cmd --state 

临时关闭防火墙(系统重启后防火墙又会自动启动)

sudo systemctl stop firewalld

 需要禁止防火墙自动启动(永久关闭)

sudo systemctl disable firewalld

 

 (5)设置IP地址(3个虚拟机都设置)

注意:网段必须与VMnet8子网IP的网段保持一致,网段中xxx.xxx.xxx.1和xxx.xxx.xxx.2(网关(GATEWAY))这两个地址不能使用。例:本机的VMnet8网段为192.168.126.0,则192.168.126.1和192.168.126.2不能使用。可选的IP地址范围为:192.168.126.3-192.168.126.255

IP地址分配计划

master 192.168.126.3
slave1 192.168.126.4
slave2 192.168.126.5

 修改网络配置文件

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

 

 (修改参数:)

BOOTPROTO=static

ONBOOT=yes
追加参数:
IPADDR=192.168.126.3
NETMASK=255.255.255.0
GATEWAY=192.168.126.2

 

 重启网络服务

sudo systemctl restart network.service

 

 查看IP地址

ip addr show

 

 6)设置每台主机的hostnameIP的映射关系3个虚拟机都设置)

sudo vi /etc/hosts

 在配置文件中追加3

192.168.126.3 master
192.168.126.4 slave1
192.168.126.5 slave2

 

 测试hostname是否可用


ping master
终止按钮
ctrl c

 

配置 SSH 免密登录
(1) 生成秘钥对
ssh-keygen -t rsa

 

2 )发送公钥
master 节点上 hadoop 用户的公钥发给各个节点的 hadoop 用户(包括自己)
在这样说明一点,要将三台hadoop配置完毕之后在发送其它两台的,下面的代码
要在master节点下一行一行输入
正在途中还要输入yes,密码,
ssh-copy-id  -i  /home/hadoop/.ssh/id_rsa.pub hadoop@master
ssh-copy-id  -i  /home/hadoop/.ssh/id_rsa.pub hadoop@slave1
ssh-copy-id  -i  /home/hadoop/.ssh/id_rsa.pub hadoop@slave2

 3)测试免密登录

ssh master

安装 JDK
(1) 安装 JDK master 节点)
解压 JDK 文件
移动至 /usr/local 路径下
输入代码
jdk-8u301-linux-x64.tar.gz 是文件名,要改成自己的文件名
tar -zxvf jdk-8u301-linux-x64.tar.gz
sudo mv jdk1.8.0_301/ /usr/local/jdk1.8.0
(2) 配置环境变量( master 节点)
/etc/profile.d 路径 下新建 java.sh 脚本文件
sudo vi /etc/profile.d/java.sh

 

在文件中添加 JAVA_HOME 变量并将其添加到 PATH 变量中,后 export 这两个
变量。
JAVA_HOME=/usr/local/jdk1.8.0
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH

 更新环境变量

source /etc/profile

 测试是否配置成功

java -version

 

安装 Hadoop 分布模式
(1) 安装 Hadoop master 节点)
解压 Hadoop 文件
移动至 /usr/local 路径下
输入代码
hadoop-2.10.1.tar.gz 是文件名,要改成自己的文件名
tar -zxvf hadoop-2.10.1.tar.gz
sudo mv hadoop-2.10.1 /usr/local/

(2) 配置环境变量( master 节点)
/etc/profile.d 路径 下新建 hadoop.sh 脚本文件
sudo vi /etc/profile.d/hadoop.sh

在文件中添加 HADOOP_HOME 变量并将其添加到 PATH 变量中,后 export
两个变量。
HADOOP_HOME=/usr/local/hadoop-2.10.1
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_HOME PATH

 更新环境变量

source /etc/profile

 测试是否配置成功

hadoop version

 

(3) 新建保存临时文件的路径
新建保存临时文件的路径
sudo mkdir -p /usr/data/hadoop/tmp

 Hadoop默认将运行时的临时文件存储在根目录下的/tmp 文件中,而此文件夹在重启后会被自动清空,这会导致一些问题的出现。因此,新建一个专门用来存放hadoop临时文件的目录。

防止 Hadoop 运行时出现权限的问题,需要将 /usr/data 目录及其子目录的拥有
者全部从 root 改为 hadoop 用户。

sudo chown hadoop:hadoop -R /usr/data

(4) Hadoop 分布式配置( master 节点)
进入 hadoop 安装文件下的 /etc/hadoop/ 文件夹中。
配置 hadoop-env.sh 脚本文件
${JAVA_HOME} 改为 jdk 的实际安装路径

cd  /usr/local/hadoop-2.10.1/etc/hadoop
vi hadoop-env.sh

 ${JAVA_HOME}改为jdk的实际安装路径

 配置core-site.xml配置文件

vi core-site.xml
<configuration>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/usr/data/hadoop/tmp</value>
	</property>
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://hostname:9000</value>
	</property>
</configuration>

配置hdfs-site.xml的配置文件 

vi hdfs-site.xml
<configuration>
	<property>
		<name>dfs.replication</name>
		<value>2</value>
    	</property>
	<property>
		<name>dfs.permissions</name>
		<value>false</value>
	</property>
</configuration>

 mapred-site.xml.template更名为mapred-site.xml并编辑


cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
<configuration>
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
</configuration>

 配置yarn-site.xml

vi yarn-site.xml
<configuration>
	<!-- Site specific YARN configuration properties -->
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>hostname</value>
	</property>
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>
</configuration>

 配置slaves文件(指定从节点)

vi slaves 

 (5)格式化namenode

hdfs namenode -format

(9) 启动(第一次启动需要输入 yes
start-dfs.sh
start-yarn.sh

(10) 检验
jps

master 

 slave1

slave2

最后 

致谢

王老师

没有老师的帮助

我无法安装成功

 参考链接:

在ubuntu上安装hadoop完分布式-CSDN博客

 在Centos7下安装Hadoop的完全分布_在ubantu上下载hadoop-CSDN博客

如何在Ubuntu下安装伪分布hadoop_ubantu hadoop伪分布式-CSDN博客

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是在 CentOS 7 上安装 Hadoop分布式环境的步骤: 1. 准备 Java 环境 Hadoop 运行需要 Java 环境,可以使用 OpenJDK 或 Oracle JDK。在 CentOS 7 上,可以通过以下命令安装 OpenJDK: ``` sudo yum install java-1.8.0-openjdk-devel ``` 2. 下载 HadoopHadoop 官网下载最新的稳定版本,并解压到指定目录。例如: ``` cd /opt sudo wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz sudo tar -xzf hadoop-3.3.0.tar.gz sudo mv hadoop-3.3.0 hadoop ``` 3. 配置环境变量 编辑 `/etc/profile` 文件,在文件末尾加入以下内容: ``` export HADOOP_HOME=/opt/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ``` 然后执行以下命令使环境变量生效: ``` source /etc/profile ``` 4. 配置 Hadoop 进入 Hadoop 安装目录,编辑 `etc/hadoop/hadoop-env.sh` 文件,设置以下环境变量: ``` export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk export HADOOP_HOME=/opt/hadoop ``` 然后编辑 `etc/hadoop/core-site.xml` 文件,设置以下内容: ``` <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/hadoop/tmp</value> </property> </configuration> ``` 然后编辑 `etc/hadoop/hdfs-site.xml` 文件,设置以下内容: ``` <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///opt/hadoop/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///opt/hadoop/hdfs/datanode</value> </property> </configuration> ``` 最后,编辑 `etc/hadoop/mapred-site.xml` 文件,设置以下内容: ``` <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.application.classpath</name> <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value> </property> </configuration> ``` 5. 格式化 HDFS 在 Hadoop 安装目录下执行以下命令,格式化 HDFS: ``` hdfs namenode -format ``` 6. 启动 Hadoop 执行以下命令启动 Hadoop: ``` start-dfs.sh start-yarn.sh ``` 7. 测试 Hadoop 在浏览器中访问 `http://localhost:9870/`,可以看到 Hadoop 的 Web UI。在终端中执行以下命令,上传一个文件到 HDFS: ``` hdfs dfs -mkdir /input hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /input ``` 然后执行以下命令,在 Hadoop 上运行一个 WordCount 示例程序: ``` yarn jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.0.jar wordcount /input /output ``` 最后,查看输出结果: ``` hdfs dfs -cat /output/part-r-00000 ``` 如果输出了正确的结果,则说明 Hadoop 已经在 CentOS 7 上成功安装并运行。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

张謹礧

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

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

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

打赏作者

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

抵扣说明:

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

余额充值