CenOS7 Hadoop集群搭建(二)

1、集群规划:

预创建3台虚拟机,IP规划如下:

192.168.124.129 master
192.168.124.130 slave1
192.168.124.131 slave2

配置hosts文件
vi /etc/hosts
在这里插入图片描述

关闭防火墙:

启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld

2.克隆两台节点机slave1,slave2

master节点关机状态下,右键master选择 管理 -->克隆

点击下一步
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

设置虚拟机名称和位置
在这里插入图片描述
同样方式克隆slave2节点

完成后

点击slave1 ,编辑虚拟机设置
在这里插入图片描述

在这里插入图片描述

生成新的mac地址,避免与master产生冲突
在这里插入图片描述
点击确定

在这里插入图片描述
克隆slave2也同上

分别修改克隆后两个节点的主机名:
hostnamectl --static set-hostname slave1
hostnamectl --static set-hostname slave2
重启:reboot

主机名分别变成slave1和slave2,就设置成功啦,也可用hostname查看
在这里插入图片描述

分别修改slave1和slave2的网络配置
vi /etc/sysconfig/network-scripts/ifcfg-ens33

改为如下:
slave1:
IPADDR="192.168.124.130"
slave2:
IPADDR="192.168.124.131"
重启网卡:
service network restart
查看设置后的IP是否设置成功:
ip addr

看到变化了,说明设置成功啦
在这里插入图片描述

3、新增的 Hadoop 用户设置sudo 权限

参考我的另一篇文章sudo权限配置

4、配置SSH免密登陆

准备使用Hadoop用户,所以后面的操作都是基于Hadoop用户的

  1. ⽣成相关的⽂件
    ssh-keygen -t rsa
    输⼊后,⼀路回⻋即可

在这里插入图片描述
查看如下
在这里插入图片描述
2. 将公钥复制到另外⼀台需要免密登陆的机器上的隐藏⽬录.ssh⾥,同时更名为authorized_keys。因为Hadoop集群中需要能访问localhost,此处就将本机的公钥文件名直接修改为authorized_keys,再分发.ssh到slave1和slave2上实现三台机器之间的免密登录

[hadoop@master .ssh]$ mv id_rsa.pub authorized_keys
[hadoop@master ~]$ scp --r .ssh/ slave1:~
[hadoop@master ~]$ scp --r .ssh/ slave1:~
  1. 确保authorized_keys的权限⾄少是600
  2. 确保.ssh的权限⾄少700
    测试:
[hadoop@master ~]$ ssh localhost
[hadoop@master ~]$ ssh slave1
[hadoop@master ~]$ ssh slave2

首次访问会弹出
Are you sure you want to continue connecting (yes/no)?
输入 :yes

5、安装JDK

下载:https://www.oracle.com/java/technologies/javase-downloads.html

1、检查⼀下是否已经安装过或者系统内置JDK,如果有内置的,将其卸载

[hadoop@master ~]$ rpm -qa | grep jdk
[hadoop@master ~]$ sudo rpm -e xxxxxxxx --nodeps     #将查询到的内置jdk代替 xxxxxxx  卸载

2、为了方便Hadoop用户管理,创建两个文件夹,/opt/apps 存放应用,/opt/software 下放软件包
修改/opt 文件夹的所有者和所属组和创建文件夹

[hadoop@master ~]$ sudo chown hadoop:hadoop /opt/
[hadoop@master ~]$ mkdir /opt/apps
[hadoop@master ~]$ mkdir /opt/software

3、上传下载好的jdk到/opt/software中
此处用的finalshell上传(软件很好使,推荐使用)
在这里插入图片描述
4、解压到指定文件夹

[hadoop@master software]# tar -zxvf jdk-8u162-linux-x64.tar.gz -C /opt/apps/

5、配置环境变量
进入到jdk目录,pwd后,复制路径,方便配置环境变量使用

[hadoop@master apps]# cd jdk1.8.0_162/
[hadoop@master jdk1.8.0_162]# pwd
/opt/apps/jdk1.8.0_162

根据自己解压后的文件,打开.bash_profile文件,添加配置,保存并退出
[hadoop@master ~]# vi .bash_profile
添加:

#java environment
export JAVA_HOME=/opt/apps/jdk1.8.0_162
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

6、执行如下命令,使配置生效
[hadoop@master ~]# source .bash_profile

7、验证jdk 环境

[hadoop@master ~]$ java -version
[hadoop@master ~]$ javac

在这里插入图片描述
OK,jdk安装成功

6、Hadoop 集群安装与启动

1. 下载Hadoop
2. 上传至服务器
在这里插入图片描述
3. 解压安装
[hadoop@master software]$ tar -zxvf hadoop-2.10.0.tar.gz -C /opt/apps/
4. 配置Hadoop环境变量
在这里插入图片描述
5. 运行如下命令,使配置生效
[hadoop@master ~]$ source .bash_profile
6. 检测
[hadoop@master ~]$ hadoop version在这里插入图片描述
7. 修改配置文件
[hadoop@master ~]$ cd /opt/apps/hadoop-2.10.0/etc/hadoop
1)配置 hadoop-env.sh

[hadoop@master hadoop]$ vi hadoop-env.sh
#The java implementation to use.
export JAVA_HOME=/opt/apps/jdk

2)配置 core-site.xml

[hadoop@master ~]$ cd $HADOOP_HOME/etc/hadoop/
[hadoop@master hadoop]$ vi core-site.mxl
<configuration>
 <property>
 <name>fs.defaultFS</name>
 <value>hdfs://master:9000</value>
 </property>
 <property>
 <name>hadoop.tmp.dir</name>
 <value>/opt/apps/hadoop/tmp</value>
 </property>
</configuration>

3) 配置 hdfs-site.xml

[hadoop@master hadoop]$ vi core-site.mxl
<configuration>
 <property>
 <name>dfs.replication</name>
 <value>3</value>
 </property>
 <property>
 <name>dfs.blocksize</name>
 <value>134217728</value>
 </property>
</configuration>

4)配置 yarn-site.xml

[hadoop@master hadoop]$ vi yarn-site.mxl
<configuration>
 <property>
 <name>yarn.nodemanager.aux-services</name>
 <value>mapreduce_shuffle</value>
 </property>
 <property>
 <name>yarn.resourcemanager.hostname</name>
 <value>master</value>
 </property>
</configuration>

5)配置 mapred-site.xml

[hadoop@master hadoop]$ vi mapred-site.mxl
<configuration>
 <property>
 <name>mapreduce.framework.name</name>
 <value>yarn</value>
 </property>
 <property>
 <name>mapreduce.jobhistory.address</name>
 <value>master:10020</value>
 </property>
 <property>
 <name>mapreduce.jobhistory.webapp.address</name>
 <value>master:19888</value>
 </property>
</configuration>

6)配置 slaves ⽂件

[hadoop@master hadoop]$ vi slaves
master
slave1
slave2

7)配置yarn-env.sh⽂件,可以不配置,最好还是修改⼀下yarn的jdk环境⽐较好

[hadoop@master hadoop]$ vi yarn-env.sh
# some Java parameters
export JAVA_HOME=/opt/apps/jdk

8. 配置分发到其他节点
记得修改/opt的权限,否则传不过去

[root@slave2 ~]# sudo chown hadoop:hadoop /opt
[root@slave2 ~]# sudo chown hadoop:hadoop /opt

分发

[hadoop@master ~]$ scp .bash_profile slave1:~
[hadoop@master ~]$ scp .bash_profile slave2:~
[hadoop@master apps]$ scp -r /opt/apps/ slave1:/opt/
[hadoop@master apps]$ scp -r /opt/apps/ slave2:/opt/

使配置的环境变量生效

[hadoop@slave1 ~]$ source .bash_profile
[hadoop@slave2 ~]$ source .bash_profile

9. 初始化 namenode ,执行如下命令
[hadoop@master ~]$ hdfs namenode -format

启动集群
[hadoop@master hadoop-2.10.0]$ start-all.sh

查看启动结果
[hadoop@master hadoop-2.10.0]$ jps

[hadoop@master hadoop-2.10.0]$ jps
12801 NodeManager
12530 ResourceManager
11543 NameNode
13449 Jps
11772 DataNode
12255 SecondaryNameNode

[hadoop@slave1 ~]$ jps
12086 NodeManager
11449 DataNode
12603 Jps


[hadoop@slave2 hadoop-2.10.0]$ jps
12084 NodeManager
12695 Jps
11448 DataNode

去浏览器访问master:50070查看(hosts文件中做了映射才能直接用master:访问,否则用IP:50070访问)

在这里插入图片描述

CentOS 7上搭建Hadoop集群的步骤如下: 1. 首先,确保你的CentOS 7系统已经安装了JDK,并配置好了JAVA_HOME环境变量。 2. 下载Hadoop的压缩包,并解压到指定目录。例如,将压缩包解压到/usr/soft/hadoop-2.7.5目录下。 3. 进入Hadoop解压后的文件夹中的/etc/hadoop/目录,并修改以下四个配置文件:core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml。 4. 在yarn-site.xml中,添加以下属性: ``` <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> </property> ``` 5. 在hdfs-site.xml中,添加以下属性: ``` <property> <name>dfs.namenode.name.dir</name> <value>file:///usr/soft/hadoop-2.7.5/etc/hadoop/dfs/name</value> <description>NameNode directory for namespace and transaction logs storage.</description> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///usr/soft/hadoop-2.7.5/etc/hadoop/dfs/data</value> <description>DataNode directory</description> </property> <property> <name>dfs.replication</name> <value>2</value> </property> ``` 6. 创建必要的文件夹: ``` sudo mkdir -p /usr/soft/hadoop-2.7.5/etc/hadoop/dfs/name sudo mkdir -p /usr/soft/hadoop-2.7.5/etc/hadoop/dfs/data ``` 7. 配置集群的主机名和IP地址。确保所有的节点都能够相互访问。 8. 启动Hadoop集群: ``` sudo /usr/soft/hadoop-2.7.5/sbin/start-dfs.sh sudo /usr/soft/hadoop-2.7.5/sbin/start-yarn.sh ``` 9. 验证集群是否正常工作。可以通过访问Hadoop的Web界面来确认。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值