hadoop平台搭建(CentOS7 )

一、基础环境搭建

#以下操作都在root用户下
1、修改主机名(三台)
两种修改主机方式
1、修改主机名为master
方式一:
[root@localhost~]# hostnamectl set-hostname master
方式二:永久修改主机名
[root@localhost~]# vi /etc/sysconfig/network

在这里插入图片描述

2、下载相关工具(方便使用ifconfig/netstatus,也可以不安装)
[root@master ~]# yum install -y net-tools
3、重启reboot
4、查看主机名修改是否生效hostname
2.配置网络(三台):
1、打开网络配置文件
[root@master ~]#vi /etc/sysconfig/network-scripts/ifcfg-ens33
在这里插入图片描述
2、重新启动网络服务
[root@master ~]# service network restart
在这里插入图片描述
3、查看IP地址是否修改成功
[root@master ~]# ip addr
在这里插入图片描述
4、测试网络是否ping通
ping www.baidu.com
ping slave1和slave2
3.配置 hosts文件(三台):
hosts文件主要用于保存每个节点的ip地址,方便每个节点通过节点主机名连接对应的ip地址
[hadoop@master ~]$ vi /etc/hosts
在这里插入图片描述

4.关闭防火墙(三台)
Stop停止防火墙 disable关闭开机自启 status查看防火墙状态:
[root@master ~]# systemctl stop firewalld
[root@master ~]# systemctl disable firewalld
[root@master ~]# systemctl status firewalld
在这里插入图片描述
5.时间同步(三台)
1、时区同步
先确保时区一样,否则同步以后时间也有时区差
[root@master ~]# timedatectl set-timezone Asia/Shanghai
[root@master ~]# timedatectl status

在这里插入图片描述

查看是否已安装ntp
[root@slave1 ~]# rpm -qa | grep ntp
删除已安装ntp
[root@slave1 ~]# yum -y remove ntpdate-4.2.6p5-28.el7.centos.x86_64

2、安装ntp
=== ntp 网络时间协议,用来同步时间,master作为ntp服务器,其余的当作ntp客户端
[root@master ~]# yum -y install ntp
在这里插入图片描述
2、修改ntp配置文件
[root@master ~]# vi /etc/ntp.conf

1)master:
在这里插入图片描述

2)slave1和slave2:
在这里插入图片描述

3、重启时间服务器,设置开机自启
restart重启ntp enable开机自启 status查看状态
[root@master ~]# systemctl restart ntpd
[root@master ~]# systemctl enable ntpd
[root@master ~]# systemctl status ntpd
在这里插入图片描述

4、使用# ntpstat命令查看slave1和slave2节点的时间同步状态,这个一般需要5分钟后才能成功连接和同步。所以,服务器启动后需要稍等下。
slave12连接master服务器成功后的状态是:
在这里插入图片描述

5、用# date命令或者# timedatectl status命令检查三台机器时间是否一样,相同则同步成功

5、免密钥登录配置

新建用户hadoop:
[root@master ~]# useradd hadoop
[root@master ~]# passwd hadoop
[root@master ~]# su Hadoop
接下来的操作在hadoop用户下
产生公私密钥(三台)
分别在三台机器输入下面命令
[hadoop@master ~]$ ssh-keygen -t rsa
(一直回车,直到出现下面图形)
在这里插入图片描述
接下来的操作只在master执行
2、查看.ssh下有id_rsa和id_rsa.pub, id_rsa 是私钥,id_rsa.pub 是公钥。
[hadoop@master ~]$ cd .ssh
[hadoop@master ~]$ cd ls
3、将公钥文件添加到authorized_keys文件
[hadoop@master .ssh]$ cat id_rsa.pub >> authorized_keys
4、给authorized_keys赋读写权限
[hadoop@master .ssh]$ chmod 600 authorized_keys
5、master分发密钥:
[hadoop@master .ssh]$ scp authorized_keys hadoop@slave1:~/.ssh
[hadoop@master .ssh]$ scp authorized_keys hadoop@slave2:~/.ssh
在这里插入图片描述

6、master节点与其他机器的首次连接是需要“YES”确认连接的,之后便可免密登录slave12。
[hadoop@master ~]$ ssh slave1
[hadoop@master ~]$ exit
[hadoop@master ~]$ ssh slave2
[hadoop@master ~]$ exit
在这里插入图片描述

设置完成,master可以通过ssh命令免密登录slave12了
6、 安装 JDK
1、在root用户下执行
1、删除原有的jdk
jdk:[root@master ~]#yum remove java-1.*
2、新建java文件夹:
[root@master ~]# mkdir /usr/java
3、上传jdk软件包jdk-8u171-linux-x64.tar.gz到/usr/java
4、解压到/usr/java :
[root@master java]# tar -xvf /usr/java/jdk-8u171-linux-x64.tar.gz
5、再赋予执行权限:
[root@master ~]# chmod +x /usr/java/jdk1.8.0_171/bin/cd
2、下面切换到Hadoop用户
1、查看jdk存放路径是否正确:
[hadoop@master ~]$ cd /usr/java/jdk1.8.0_131
[hadoop@master jdk1.8.0_131 ]$ pwd
在这里插入图片描述

2、配置环境变量:

[hadoop@master ~]$ vi .bashrc
export JAVA_HOME=/usr/java/jdk1.8.0_171
export PATH=$PATH:$JAVA_HOME/bin

在这里插入图片描述
[hadoop@master ~]$ source .bashrc
4、查看jdk版本:
[hadoop@master ~]$ java -version
在这里插入图片描述
master节点jdk配置成功!

5、复制到其它机器:
[hadoop@master ~]$ scp .bashrc hadoop@slave1:~/
[hadoop@master ~]$ scp .bashrc hadoop@slave2:~/
[root@master ~]# scp -r /usr/java root@slave1:/usr/
[root@master ~]# scp -r /usr/java root@slave2:/usr/6、在其他两台机器上:
[hadoop@slave1 ~]$ . .bashrc
[hadoop@slave1 ~]$ java –version
能查到版本号则配置成功!

. .bashrc 等效于source .bashrc
source可以用“.”替换使用

非root用户:
~/.bash_profile文件:用户级的设置,只对当前用户有效,开机不自启
~/.bashrc文件:只对当前用户有效,开机自启
root用户:
/etc/bashrc文件:系统全局环境变量,对所有用户有效,开机自启
/etc/profile文件:系统全局环境变量,对所有用户有效

二、Hadoop集群搭建

1、Hadoop安装配置
1、分别在三台机器上新建software文件夹:(三台)
[hadoop@master ~]$ mkdir /home/hadoop/software
[hadoop@master ~]$ cd /home/hadoop/software
上传hadoop包hadoop-2.7.3.tar.gz到/home/hadoop/software
解压:
[hadoop@master software]$ tar -zxvf hadoop-2.7.3.tar.gz
4、修改配置文件
[hadoop@master software]$ cd /home/hadoop/software/hadoop-2.7.3/etc/hadoop
1)修改hadoop-env.sh
[hadoop@master hadoop]$ vi hadoop-env.sh
注释原有的,添加:export JAVA_HOME=/usr/java/jdk1.8.0_171
在这里插入图片描述
2)修改 yarn-env.sh
[hadoop@master hadoop]$ vi yarn-env.sh
找到:# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
添加:export JAVA_HOME=/usr/java/jdk1.8.0_171
在这里插入图片描述
3)修改 core-site.xml
[hadoop@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/hadoop/software/hadoopdata</value>
        </property>
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
</configuration>

4)修改 hdfs-site.xml
[hadoop@master hadoop]$ vi hdfs-site.xml

<configuration>
        <property>
                <name>dfs.replication</name>
                <value>2</value> 
        </property>             
</configuration>

5)修改 yarn-site.xml
[hadoop@master hadoop]$ vi yarn-site.xml

<configuration>
<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:18141</value> 
        </property> 
  <property> 
                <name>yarn.resourcemanager.webapp.address</name> 
                <value>master:18088</value> 
       </property>
</configuration>

6)修改 mapred-site.xml
[hadoop@master hadoop]$ cp mapred-site.xml.template mapred-site.xml
[hadoop@master hadoop]$ vi mapred-site.xml

<configuration>
<property> 
    <name>mapreduce.framework.name</name> 
    <value>yarn</value> 
</property>
</configuration>

在这里插入图片描述
7)修改slaves
[hadoop@master hadoop]$ vi slaves
删除内容,添加:

slave1
slave2

在这里插入图片描述
5、复制到slave节点
使用下面的命令将已经配置完成的 hadoop 复制到slave节点上:
[hadoop@master hadoop]$ cd /home/hadoop/software
[hadoop@master software]$ scp -r hadoop-2.7.3 slave1:/home/hadoop/software/hadoop-2.7.3
[hadoop@master software]$ scp -r hadoop-2.7.3 slave2:/home/hadoop/software/hadoop-2.7.3
6、配置 hadoop的环境变量
[hadoop@master ~]$ vi .bashrc
1)将下面的代码追加到末尾:

export HADOOP_HOME=/home/hadoop/software/hadoop-2.7.3
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

2)使环境变量生效:
[hadoop@master ~]$ source .bashrc
3)复制.bashrc文件给另外两台:
[hadoop@master ~]$ scp -r .bashrc slave1:/home/hadoop/
[hadoop@master ~]$ scp -r .bashrc slave2:/home/hadoop/
在这里插入图片描述
4)在slave1和2中使.bashrc文件生效:
[hadoop@slave1 ~]$ . .bashrc
[hadoop@slave2 ~]$ . .bashrc
7、启动hadoop集群
1)创建数据目录hadoopdata
[hadoop@master ~]$ mkdir /home/hadoop/software/hadoopdata
[hadoop@salve1 ~]$ mkdir /home/hadoop/software/hadoopdata
[hadoop@slave2 ~]$ mkdir /home/hadoop/software/hadoopdata
2)master中格式化hdfs文件系统
[hadoop@master ~]$ hdfs namenode -format
在这里插入图片描述
3)启动hadoop
[hadoop@master ~]$start-all.sh
在这里插入图片描述

4)查看java进程(三台)
[hadoop@master ~]$ jps
在这里插入图片描述
[hadoop@slave1 ~]$ jps
在这里插入图片描述
[hadoop@slave2 ~]$ jps
在这里插入图片描述
启动成功!
8、通过网页查看启动是否正常
1)打开浏览器,访问http://192.168.6.100:50070/,检查namenode 和 datanode 是否正常
在这里插入图片描述
2)访问http://192.168.6.100:18088/,检查 Yarn 是否正常。
在这里插入图片描述

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值