文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

大数据 Hadoop 环境搭建图文详解

2024-12-01 13:31

关注

​想了解更多关于开源的内容,请访问:​

​51CTO 开源基础软件社区​

​https://ost.51cto.com​

一、虚拟机环境准备

1、虚拟机网络模式设置为 NAT

点击 “编辑虚拟机设置”。

点击 “网络适配器” → “NAT模式” 即可。

2、克隆虚拟机

右键需要克隆的虚拟机 → 管理 → 克隆。

选择“虚拟机中的当前状态”,点击下一步。

选择“创建完整克隆”,点击下一步。

更改虚拟机名称以及位置,点击下一步。

创建完成后关闭即可。

3、修改虚拟机为静态 IP

查看虚拟网卡信息。

输入 ifconfig ,看到可以正常使用的网卡以及相关信息。

可以看到我们这里的网卡是 ens33。

查看网关。

在 VMware 中的虚拟网络编辑器中可以看到。

修改网卡配置。

输入以下命令,即可编写网卡配置。

vim /etc/sysconfig/network-scripts/ifcfg-网卡名

我这里的网卡名是 ens33,则命令如下:

vim /etc/sysconfig/network-scripts/ifcfg-ens33

把有的部分注释掉,没有的部分在最后加上。

# 要配制的部分
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.182.128 #IP地址
NETMASK=255.255.255.0 #子网掩码
NETWORK=192.168.0.0

修改网关配置。

输入以下命令,编写网关配置。

vim /etc/sysconfig/network

编写以下内容。

NETWORKING=yes
GATEWAY=192.168.182.2 #网关

修改 DNS 配置。

输入以下内容,编写 DNS 配置。

vim /etc/resolv.conf

编写以下内容。

search localdomain
nameserver 8.8.8.8
nameserver 192.168.182.2

重启网络服务。

service network restart

4、修改主机名

查看本机主机名

查看本机主机名使用 hostname 即可。

hostname

修改主机名(CentOS 7)。

使用下面的命令修改主机名。

hostnamectl set-hostname 主机名

示例:

hostnamectl set-hostname node1

修改主机名(通用,CentOS7 与 非 CentOS7)。

NETWORKING=yes
NETWORKING_IPV6=no
GATEWAY=192.168.182.2 #网关
HOSTNAME=node1 #主机名

修改 CentOS 的 hosts。

使用下面的命令编辑 hosts。

vim /etc/hosts

在每个虚拟机的 hosts 文件后面增加自己所安装的虚拟机的 IP 地址以及主机名。

192.168.182.133 master
192.168.182.128 node1
192.168.182.129 node2

将 hosts 文件拷贝到 node1 和 node2 节点命令:

scp /etc/hosts node1:/etc/hosts  # 拷贝到 node1
scp /etc/hosts node2:/etc/hosts # 拷贝到 node2

修改 Windows 的 hosts。

进入 C:\Windows\System32\drivers\etc 路径。

打开 hosts 文件,填写如下内容:

192.168.182.133 master
192.168.182.128 node1
192.168.182.129 node2

保存文件,如果不行的话可以先移出来,再移回去。

5、关闭防火墙

查看防火墙状态。

systemctl status firewalld.service

绿的running表示防火墙开启。

关闭防火墙。

systemctl stop firewalld.service

或:

service iptables stop

开机禁用防火墙自启。

systemctl disable firewalld.service

或:

chkconfig iptables off

启动防火墙。

systemctl start firewalld.service

防火墙随系统开启启动。

systemctl enable firewalld.service

6、设置 ssh 免密🔒码登录(只在 Master 这台主机操作)

生成密钥并拷贝到子节点。

主节点执行命令 ssh-keygen -t rsa 产生密钥,一直回车执行命令。

将密钥拷贝到其他两个子节点,命令如下:

ssh-copy-id -i node1
ssh-copy-id -i node2

实现主节点 master 本地免密🔒码登录。

首先进入到 /root 命令:

cd /root

在进入到 ./.ssh 目录下:

cd ./.ssh/

将公钥写入本地执行命令:

cat ./id_rsa.pub>> ./authorized_keys

二、用户及文件权限配置

1、创建用户

adduser atguigu  #添加用户
passwd atguigu #修改密🔒码

2、配置用户具有 root 权限

输入以下命令进行配置:

vi /etc/sudoers

配置 atguigu 用户的信息:

## Allow root to run any commands anywhere
root ALL=(ALL) ALL
atguigu ALL=(ALL) ALL

3、在 /opt 目录下创建文件夹

在 /opt 目录下创建 module、software 文件夹。

mkdir module  # 创建 module 文件夹
mkdir software # 创建 software 文件夹

修改 module、software 文件夹的所有者 cd。

chown atguigu:atguigu module
chown atguigu:atguigu software

查看文件归属。

ls -al

三、JDK 安装

1、卸载现有 jdk

查询是否安装 Java。

rpm -qa|grep java

如果安装的版本低于 1.7,则卸载该 jdk。

sudo rpm -e 软件包

2、将 jdk、Hadoop 导入到 opt 目录的 software 文件夹下

导入 jdk 安装包。

导入 Hadoop 安装包。

3、查看软件包是否导入成功

cd software/
ls

4、解压 jdk 到 /opt/module 目录下

tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/

5、配置 jdk 环境变量

获取 jdk 路径。

进入 jdk 的解压路径,输入以下命令即可查看 jdk 路径:

pwd

打开 /etc/profile 文件:

输入以下命令打开 profile 文件。

sudo vi /etc/profile

输入以下命令配置 Java 环境变量。

export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin

保存退出。

配置 jdk 环境生效。

source  /etc/profile

测试 jdk 是否安装成功。

java -version

重启(如果 java -version 可以用就不用重启)。

sync
sudo reboot

四、Hadoop 安装(master 主机)

1、进入 Hadoop 安装包路径下

cd /opt/software/

2、解压安装文件到 /opt/module 目录下

tar -zxf hadoop-2.7.2.tar.gz -C /opt/module/

3、查看是否解压成功

ls /opt/module/

4、将 Hadoop 添加到环境变量下

获取 Hadoop 安装路径。

进入 Hadoop 路径,输入以下命令查看 Hadoop 安装路径。

pwd

打开 /etc/profile 文件。

使用 vim 打开 profile 文件。

sudo vi /etc/profile

编辑 Hadoop 环境。

##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

保存退出。

Hadoop 环境生效。

source /etc/profile

测试 Hadoop 是否安装成功。

hadoop version

重启(如果 hadoop version 可以用就不用重启)。

sync
sudo reboot

5、修改 Hadoop 相关配置文件

(1) 修改 Hadoop 的 slaves 文件

进入 /opt/module/hadoop-2.7.2/etc/hadoop 目录。

cd /opt/module/hadoop-2.7.2/etc/hadoop

修改该目录下的 slaves 文件。

使用 vim 编辑 slaves 文件。

vim slaves

删除原来的内容,修改为如下内容。

node1
node2

(2) 修改 Hadoop 的 hadoop-env.sh 文件

进入 /opt/module/hadoop-2.7.2/etc/hadoop 目录。

cd /opt/module/hadoop-2.7.2/etc/hadoop

修改该目录下的 hadoop-env.sh 文件。

添加 JAVA_HOME 路径:

export JAVA_HOME=/opt/module/jdk1.8.0_144

(3) 修改 Hadoop 的 core-site.xml 文件

进入 /opt/module/hadoop-2.7.2/etc/hadoop 目录。

cd /opt/module/hadoop-2.7.2/etc/hadoop

修改该目录下的 core-site.xml 文件。

<configuration>
<property>
<name>fs.defaultFSname>
<value>hdfs://master:9000value>
property>
<property>
<name>hadoop.tmp.dirname>
<value>/opt/module/hadoop-2.7.2/tmpvalue>
property>
<property>
<name>fs.trash.intervalname>
<value>1440value>
property>
configuration>

(4) 修改 Hadoop 的 hdfs-site.xml 文件

进入 /opt/module/hadoop-2.7.2/etc/hadoop 目录。

cd /opt/module/hadoop-2.7.2/etc/hadoop

修改该目录下的 hdfs-site.xml 文件。

<configuration>
<property>
<name>dfs.replicationname>
<value>1value>
property>
<property>
<name>dfs.permissionsname>
<value>falsevalue>
property>
configuration>

(5) 修改 Hadoop 的 yarn-site.xml 文件

进入 /opt/module/hadoop-2.7.2/etc/hadoop 目录。

cd /opt/module/hadoop-2.7.2/etc/hadoop

修改该目录下的 yarn-site.xml 文件。

<configuration>

<property>
<name>yarn.resourcemanager.hostnamename>
<value>mastervalue>
property>
<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>
<property>
<name>yarn.log-aggregation-enablename>
<value>truevalue>
property>
<property>
<name>yarn.log-aggregation.retain-secondsname>
<value>604800value>
property>
configuration>

(6) 修改 Hadoop 的 mapred-site.xml 文件

进入 /opt/module/hadoop-2.7.2/etc/hadoop 目录。

cd /opt/module/hadoop-2.7.2/etc/hadoop

复制 mapred-site.xml.template 为 mapred-site.xml。

cp mapred-site.xml.template mapred-site.xml

修改该目录下的 mapred-site.xml 文件。

<configuration>
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
<property>
<name>mapreduce.jobhistory.addressname>
<value>master:10020value>
property>
<property>
<name>mapreduce.jobhistory.webapp.addressname>
<value>master:19888value>
property>
configuration>

(7) 复制 Hadoop 的安装目录到其它子节点

scp -r /opt/module/hadoop-2.7.2 node1:/opt/module/hadoop-2.7.2
scp -r /opt/module/hadoop-2.7.2 node2:/opt/module/hadoop-2.7.2

6、验证(启动 Hadoop)

首先看下 hadoop-2.7.2 目录下有没有 tmp 文件夹。 如果没有执行一次格式化命令:

cd /opt/module/hadoop-2.7.2  #进入 hadoop 安装目录
./bin/hdfs namenode -format # 格式化命令

执行完格式化命令会生成 tmp 文件。

启动 Hadoop。

输入以下命令启动 Hadoop。

cd /opt/module/hadoop-2.7.2  #进入 hadoop 安装目录
./sbin/start-all.sh #启动程序

验证主节点进程。

输入以下命令查看进程:

jps  #显示所有 java 进程 pid

主节点进程

子节点进程

④ 验证 HDFS:

浏览器登录地址:192.168.182.133:50070(ip 地址是 master 节点的地址)。

出现以下界面则证明 HDFS 安装成功:

刚搭建完成,什么都没有。

PS:

如果第一次启动失败了,请重新检查配置文件或者哪里步骤少了。 再次重启的时候 需要手动将每个节点的 tmp 目录删除:

rm -rf /opt/module/hadoop-2.7.2/tmp

然后在主节点执行以下命令格式化 namenode。

./bin/hdfs namenode -format

文章相关附件可以点击下面的原文链接前往下载:

https://ost.51cto.com/resource/2334。

​想了解更多关于开源的内容,请访问:​

​51CTO 开源基础软件社区​

​https://ost.51cto.com​​。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯