Hadoop集群的搭建

Hadoop集群的搭建

所需安装包:
1.jdk压缩包
2.hadoop压缩包

有需要的可在百度云下载:
jdk:链接: https://pan.baidu.com/s/1Jaclnw1-Ml4lrLgnBJIV9A 提取码: 6pgi
hadoop:链接: https://pan.baidu.com/s/1Lr1NDR00DpjcMG1Kczg59A 提取码: mqig

开始搭建hadoop集群(以下操作确定一下虚拟机的网是通的才可进行):
一. 使用VMvare创建一个虚拟机,我使用的是CentOS 7,所以以下是以CentOS7为例(也可以直接创建3台,不过我的个人习惯是先创一台,配好环境什么的再复制)

因为是主机,所以习惯上取名为master,不过这个看个人喜好
在虚拟机搭建完成后可用CRT或者Xshell进行远程登录、操作服务器;

二. jdk的安装

2.1 上传安装包等准备工作

mkdir /home/software   #创一个文件夹专门存放安装包啥的,看个人习惯吧
cd /home/software/
rz               #可用rz命令进行上传jdk文件,若rz没有,用 yum install  lrzsz  进行下载,下载成功后在home目录下rz进行上传jdk文件,再ls查看一下文件即可查看jdk上传成功
tar -zxvf jdk-8u144-linux-x64.tar.gz    #解压jdk到当前目录
ls                                            #查看解压是否成功
mv jdk1.8.0_144/ jdk             #改名
pwd                                        #查看当前目录

2.2 配置/etc/profile 文件

vim /etc/profile  #在jdk目录下配置一下java的环境变量,用vi 命令也可以
添加:
#java path configuration
export	JAVA_HOME=/home/software/jdk         #是jdk的安装路径
export	PATH=$JAVA_HOME/bin:$PATH
export	CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#注意中间的空格为tab键
:wq 保存退出

生效配置文件

 source /etc/profile
 java -version       #看java是否安装配置成功
 javac
 java
 chkconfig iptables off  #如果之前忘记关防火墙,可用此命令进行防火墙永久关闭

出现以下情况,则成功安装配置jdk
在这里插入图片描述
在这里插入图片描述
没截全
在这里插入图片描述
也没截全

三. Hadoop的安装

3.1 上传安装包等准备工作

cd /home/software/
rz               #上传hadoop安装包
tar -zxvf hadoop-2.6.5.tar.gz
ls                             #查看解压是否成功
mv hadoop-2.6.5 hadoop

3.2 配置/etc/profile 文件

 vim /etc/profile  #配置hadoop的环境变量
 添加:
 #hadoop configuration
 export  HADOOP_HOME=/home/software/hadoop
 export  PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
 #注意中间的空格为tab键
:wq 保存退出

在这里插入图片描述

3.3 生效配置文件

source /etc/profile
hadoop version #查看是否成功

在这里插入图片描述

四,克隆虚拟机(slave1,slave2)

4.1复制两台虚拟机
找到虚拟机的目录,直接复制两台虚拟机,命名为Slave1,Slave2,并相应打开文件删除
下面的文件 (否则有可能打不开)
在这里插入图片描述
点击 “我已复制该虚拟机”
在这里插入图片描述
4.2 记得分别修改他们的网卡配置文件的ip地址即:

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

记得重启网卡:

systemctl restart network

4.3 关闭master,slave1,slave2的防火墙

systemctl stop firewalld.service   #停止firewall 
systemctl disable firewalld.service #禁止firewall开机启动

4.4 分别修改他们的主机名

CentOS7修改主机名:

hostnamectl set-hostname +主机名 
hostnamectl set-hostname Master  
hostname  #查看一下
ls

同理,slave1,slave2也是如此。

如是CentOS6修改主机名则用

vi /etc/sysconfig/network
Master上改主机名
vi /etc/sysconfig/network
修改
HOSTNAME=Master 

Slave1改主机名
vi /etc/sysconfig/network 
添加
HOSTNAME=Slave1

Slave2改主机名
vi /etc/sysconfig/network 
添加
HOSTNAME=Slave2

4.5 hosts修改域名:(三个节点上都配一遍)

vi /etc/hosts
修改内容为
192.168.100.10 Master Master.cn 
192.168.100.11 Slave1 Slave1.cn
192.168.100.12 Slave2 Slave2.cn

#ip地址 hostname 域名 ,
省时间点:

scp /etc/hosts slave1.cn:/etc/    # (不行就修改一下,把域名改成接受文件的那台虚拟机的ip地址),传给例外两部

不然就一台一台的修改,反正每台都要修改的
设置完之后可以用域名进行访问
重新启动一下

reboot

测试域名是否配置成功:
Master上建一个文件如:如

touch 18hadoop.bc,
scp 18hadoop.bc Slave1.cn:/root    #传到Slave1上
在Slave1 上
ls               #即可看见文件已通过域名方式传送成功
五,配置ssh免密码登录
cd ~
ssh-keygen -t rsa     #一直按回车
ssh-copy-id Master.cn    #拷贝到另外一台虚拟机
ssh-copy-id Slave2.cn    #拷贝到另外一台虚拟机
touch 2.c 
scp 2.c Master.cn:/root #创一个文件上传给Master测试免密是否成功

在这里插入图片描述

ssh-copy-id Master.cn  #将公钥复制到Master上
ssh-copy-id Slave2.cn  #将公钥复制到Slave2上

以上操作在例外两台虚拟机上操作一遍
这样就实现了三台虚拟机免密码登录,传输文件
可用 scp 这个方法测试一下是否免密码登录成功

六. Master上修改配置文件进行集群

6.1 先创建一个存放hadoop数据库的文件夹

  cd /home/software/   #进入software新建一个目录放data,然后ls一下
  mkdir data
  cd data
  mkdir -p hadoop/tmp    #在data下新建一个放hadoop数据,然后ls一下

6.2 修改 hadoop的配置文件

  1. 修改 hadoop-env.sh 文件*
cd /home/software/hadoop/etc/
ls
cd hadoop/            cd hadoop/  #进入到etc的hadoop的配置文件
vim hadoop-env.sh  #进入修改一下JAVA_HOME的安装目录

在这里插入图片描述

  1. 修改 mapred-env.sh 文件
vim mapred-env.sh   #同样进入修改一下JAVA_HOME的安装目录

在这里插入图片描述

  1. 修改 core-site.xml 文件
 vim core-site.xml    #配置 core-site.xml
 在<configuration>和</configuration>中间添加:
 <property>
	<name>hadoop.tmp.dir</name>
	<value>/home/software/data/hadoop/tmp</value>
</property>
<property>
	<name>fs.defaultFS</name>
	<value>hdfs://192.168.100.10:9000</value>
</property>
#其中/export/data/hadoop/tmp是之前是建的放hadoop数据的地方
#hdfs://192.168.100.10:9000 前面为主机Master的IP地址,后面为端口号,可以默认为9000

在这里插入图片描述

  1. 修改 yarn-site.xml 文件
vim yarn-site.xml       #配置yarn-sit.xml
在<configuration>和</configuration>中间添加
<property>
<name>yarn.resourcemanager.hostname</name>
 <value>192.168.100.10</value>
 </property>
 <property>
 <name>yarn.nodemanager.aux-services</name
 <value>mapreduce_shuffle</value>
 </property>
 #其中192.168.100.10是为主机Master的IP地址

在这里插入图片描述

  1. 修改 hdfs-site.xml 文件
 vim hdfs-site.xml  #配置hdfs-site.xml 
  在<configuration>和</configuration>中间添加
  <property>
              <name>dfs.replication</name>
              <value>3</value>
  </property>
  <property>
            <name>dfs.secondary.http.address</name
            <value>192.168.100.10:50090</value>
   </property>
 #其中192.168.100.10是为主机的IP地址,3为机器的节点数

在这里插入图片描述

  1. 修改 mapred-site.xml 文件
cp mapred-site.xml.template mapred-site.xml #复制一份 mapred-site.xml
vim mapred-site.xml         #配置mapred-site.xml(资源管理器)
在<configuration>和</configuration>中间添加
<property>
          <name>mapreduce.framework.name</name
          <value>yarn</value>
</property>

在这里插入图片描述

  1. 修改 slaves 文件
 vim slaves       #配置slaves
 修改
 localhost--->Slave1.cn  Slave2.cn
 #lave1.cn  Slave2.cn为你要集群的机器

在这里插入图片描述
#以上配置文件已完成

配置完分发到其他机器上:

 cd /home/software
 ls
 scp -r hadoop slave2.cn:/home/software/
 scp -r hadoop slave1.cn:/home/software/
七,启动集群

启动前先格式化文件系统

hdfs namenode -format
start-dfs.sh   #启动dfs
start-yarn.sh #启动yarn
jps   #可以查看各个节点所启动的进程,NameNode、ResourceManager、SecondrryNameNode、JobHistoryServer 进程在Slave1、2节点上jps可以看到DataNode 和 NodeManager

出现这个,
在这里插入图片描述
恭喜你,集群已搭建成功

关闭集群也是在Master上关闭,按顺序执行命令

 stop-yarn.sh 
 stop-dfs.sh 



 start-all.sh启动整个集群
 stop-all.sh  关闭整个集群
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值