Hadoop学习笔记之集群安装

操作系统Hadoop版本节点个数
CentOS 7hadoop-2.7.72(master,slave)

1 Linux系统设置

1.1 同步时间

  • 所有节点的系统时间要保持一致

1.1.1 查看时间

//查看master系统时间
[root@master ~]# date
Wed Mar 13 17:33:05 CST 2019
//查看slave系统时间
[root@slave ~]# date
Wed Mar 13 17:37:21 CST 2019

1.1.2 同步网络时间

//同步mater
[root@master ~]# ntpdate time.nuri.net
13 Mar 17:32:29 ntpdate[26372]: adjust time server 211.115.194.21 offset -0.263924 sec
//同步slave
[root@master ~]# ntpdate time.nuri.net
13 Mar 17:32:41 ntpdate[26372]: adjust time server 211.115.194.21 offset -0.263924 sec

1.2 配置主机名

1.2.1 配置master

[root@master ~]# vi /etc/hostname

master
~
:wq

1.2.2 配置slave

[root@slave ~]# vi /etc/hostname

slave
~
:wq

1.3 关闭防火墙

1.3.1 查看防火墙

//查看防火墙状态命令
systemctl status firewalld

1.3.2 关闭防火墙

//临时关闭防火墙
systemctl stop firewalld.service
//永久关闭防火墙
systemctl disable firewalld.service

//master上关闭
[root@master ~]# systemctl disable firewalld.service

//slave上关闭
[root@slave ~]# systemctl disable firewalld.service

1.4 配置网络

  • 分别在master和slave的/etc/hosts文件中配置hosts列表,使对应主机名(hostname)指向各自的IP

1.4.1 master配置

[root@master ~]# vi /etc/hosts

192.168.36.131 master
192.168.36.133 slave
~
:wq

1.4.2 slave配置

[root@slave ~]# vi /etc/hosts

192.168.36.131 master
192.168.36.133 slave
~
:wq

1.5 配置JDK环境

  • JDK环境需要在master和slave上分别配置,这里只列出master配置过程,slave配置过程类似

1.5.1 安装JDK软件

//创建JDK安装目录
[root@master ~]# mkdir /usr/java
//事先将下载好的安装包拷贝到/usr/java目录下
[root@master ~]# cd /home/zjt/Dowloads
[root@master ~]# cp jdk-8u144-linux-x64.tar.gz /usr/java
//解压安装包
[root@master ~]# cd /usr/java
[root@master ~]# tar zxvf /usr/java
[root@master ~]# ls 
jdk1.8.0_144  jdk-8u144-linux-x64.tar.gz
  • 目录 /usr/java/jdk1.8.0_144/ 即为已安装好的JDK环境软件

1.5.2 配置环境变量

  • 配置环境变量需要在zjt用户下进行,编辑用户环境变量文件 ~/.bash_profile 进行配置
[root@master ~]# su - zjt
[zjt@master ~]$ vi .bash_profile
//在 export PATH 后添加以下行

export JAVA_HOME=/usr/java/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH
~
:wq

//使环境变量文件生效
[zjt@master ~]$ source .bash_profile

//验证环境变量配置是否生效,若版本为“1.8.0_144”则配置生效
[zjt@master ~]$ java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

1.6 Slave配置JDK

  • 与master类似,按相同的步骤在slave上操作一遍

1.7 配置登录免密设置

1.7.1 master生成公钥

//在master终端生成秘钥
[zjt@master ~]$ ssh-keygen -t rsa

//复制公钥文件
[zjt@master ~]$ cat ~/ssh/id_rsa.pub >> ~/.ssh/authorized_keys
//修改authorized_keys权限
[zjt@master ~]$ cd ~/.ssh
chmod 600 authorized_keys
//将authorized_keys复制到slave节点上
[zjt@master .ssh]$ scp authorized_keys zjt@slave:~/

1.7.2 slave秘钥配置

//在终端生成秘钥
[zjt@slave ~]$ ssh-keygen -t rsa
//将authorized_keys文件移动到.ssh目录
[zjt@slave ~]$ mv authorized_keys .ssh

1.7.3 验证

  • 在master上验证登录到slave是否还需要密码,如果不需要则配置成功,若需要密码,需要重新检查相关步骤
[zjt@master ~]$ ssh slave
Last login: Wed Mar 13 18:19:05 2019
[zjt@slave ~]$ 
  • 配置成功

2 安装Hadopp

2.1 Hadopp配置部署

2.1.1 解压Hadopp安装包

[zjt@master ~]$ tar xzvf hadoop-2.7.7.tar.gz
[zjt@master ~]$ ls
... hadoop-2.7.7 ...

2.1.2 修改配置文件

[zjt@master ~]$ cd hadoop-2.7.7/etc/hadoop
[zjt@master hadoop]$ vi hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_144
[zjt@master hadoop]$ vi yarn-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_144
  • 配置 core-site.xml 文件
[zjt@master hadoop]$ vi core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/zjt/hadoopdata</value>
</property>
</configuration>
  • 配置 hdfs-site.xml 文件
[zjt@master hadoop]$ vi hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
  • 配置 yarn-site.xml 文件
[zjt@master hadoop]$ vi yarn-site.xml

<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:18040</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:18030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:18025</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:18041</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:18088</value>
</property>
  • 配置 mapred-site.xml 文件
[zjt@master hadoop]$ cp mapred-site.xml.template mapred-site.xml
[zjt@master hadoop]$ vi mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
  • 配置 slaves 文件
[zjt@master hadoop]$ vi slaves
slave

2.1.3 复制到从节点

  • 将配置好参数文件的hadoop安装包发送至从节点
[zjt@master hadoop]$ cd ~
[zjt@master ~]$ scp -r hadoop-2.7.7 zjt@slave:/home/zjt

2.2 启动Hadoop集群

2.2.1 配置环境变量

//master和slave都要配置
[zjt@master ~]$ vi .bash_profile

//添加以下行
export HADOOP_HOME=/home/zjt/hadoop-2.7.7
export PATH=$HADOOP_HOhME/bin:$HADOOP_HOME/sbin:$PATH

//配置slave环境变量
[zjt@master ~]$ ssh slave
[zjt@slave ~]$ vi .bash_profile

//添加以下行
export HADOOP_HOME=/home/zjt/hadoop-2.7.7
export PATH=$HADOOP_HOhME/bin:$HADOOP_HOME/sbin:$PATH

2.2.2 格式化文件系统

  • 仅需在master进行
[zjt@master ~]$ hdfs namenode -format
[zjt@master ~]$ ls
... hadoopdata ...

2.2.3 启动Hadoop集群

  • 仅需在master启动
[zjt@master ~]$ start-all.sh 

2.2.4 验证Hadoop集群启动是否正常

  • 验证方式1:查看进程情况
  • master上的进程有四个分别为
    • ResourceManager
    • SecondaryNameNode
    • NameNode
    • Jps
  • slave上的进程有三个:
    • Jps
    • NodeManager
    • DataNode
//master上查看进程
[zjt@master ~]$ jps

31040 ResourceManager
30882 SecondaryNameNode
30679 NameNode
34535 Jps
//slave上查看进程
[zjt@slave ~]$ jps
19668 Jps
19541 NodeManager
19431 DataNode
  • 验证方式2:web查看
  • 查看对应的活动节点数是否为1,若为1则正常,否则启动失败,需检查对应的配置文件是否正确设置
//通过web进行查看,网址输入
master:18088

//查看参数,活着的节点
Active Nodes 1

master节点浏览器输入

//web查看,网址输入
master:50070
//下拉框,查看
live Nodes 1

在这里插入图片描述

  • 检测3:执行jar包
  • 在主节点输入以下参数,计算Pi值,若最终计算出结果,则启动正常
//master节点输入
[zjt@master ~]$ hadoop jar hadoop-2.7.7/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar pi 5 5

...
Job Finished in 61.224 seconds
Estimated value of Pi is 3.68000000000000000000

2.3 关闭hadopp集群

[zjt@master ~]$ stop-all.sh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值