一、前序

在开始全分布式集群搭建之前,首先应该安装好三台虚拟机。。。。如果电脑比较卡,建议多加8G内存条。

我这里是Centos7版本的。

hadoop编译后的安装包:

链接:https://pan.baidu.com/s/1xythD1ESNBlPfAW9Pi_3Cw
提取码:7lct

二、大数据安装前期准备

1、三台机器在root用户下关闭防火墙

systemctl stop firewalld                  
systemctl disable firewalld   

2、三台机器执行以下命令关闭selinux

打开文件

vi /etc/selinux/config

修改文件(修改下一行)

SELINUX=disabled

3、三台电脑修改电脑主机名

vi /etc/hostname

第一台机器更改内容:node01

第二台机器更改内容:node02

第三台机器更改内容:node03

4、三台机器做主机名与IP地址的映射

vi /etc/hosts

然后增加以下内容

192.168.52.100   node01
192.168.52.110   node02
192.168.52.120   node03

5、重启三台虚拟机

reboot  -h  now

6、三台电脑添加普通用户并给普通用户添加sudo权限

在root用户下执行:第一行添加用户,第二行设置密码

useradd hadoop
passwd hadoop

添加sudo权限

打开文件

visudo

给hadoop用户sudo权限

hadoop  ALL=(ALL)       ALL

7、三台机器同一安装目录

mkdir -p /kkb/soft                      # 软件压缩包存放目录
mkdir -p /kkb/install                   # 软件解压后存放目录
chown -R hadoop:hadoop /kkb             # 将文件夹权限更改为hadoop用户

然后, 三台机器通过 su  hadoop命令来切换到hadoop用户

8、设置免密登陆

第一步:三台机器在hadoop用户下执行以下命令生成公钥与私钥

三台机器在hadoop用户下执行以下命令,然后生成公钥与私钥

ssh-keygen -t rsa

执行上述命令之后,按三次Enter键即可生成了,生成后会发现有  .ssh目录,用 ll  -a 命令可以查看

第二步:三台机器拷贝公钥到node01服务器上面去

三台机器在hadoop用户下,执行以下命令将公钥拷贝到node01服务器上面去

ssh-copy-id  node01

第三步:node01服务器将公钥拷贝给node02与node03

node01在hadoop用户下,执行以下命令,将authorized_keys拷贝到node02与node03服务器

cd /home/hadoop/.ssh/
scp authorized_keys  node02:$PWD
scp authorized_keys  node03:$PWD

然后关虚拟机重启。

三、JDK安装

使用hadoop用户来重新连接三台机器,然后使用hadoop用户来安装jdk软件

上传压缩包到第一台服务器的/kkb/soft下面,然后进行解压,配置环境变量即可,三台机器都依次安装即可

cd /kkb/soft/
tar -zxf jdk-8u141-linux-x64.tar.gz  -C /kkb/install/
sudo vim /etc/profile
#添加以下配置内容,配置jdk环境变量
export JAVA_HOME=/kkb/install/jdk1.8.0_141
export PATH=:$JAVA_HOME/bin:$PATH

然后  执行     source  /etc/profile   命令让修改生效

四、Hadoop集群安装

1、安装环境服务部署规划

服务器IP

node01

node02

node03

HDFS

NameNode

 

 

HDFS

SecondaryNameNode

 

 

HDFS

DataNode

DataNode

DataNode

YARN

ResourceManager

 

 

YARN

NodeManager

NodeManager

NodeManager

历史日志服务器

JobHistoryServer

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2、上传安装包并解压(这个安装包是编译后的)

cd /kkb/soft/
tar -zxvf hadoop-2.6.0-cdh5.14.2.tar.gz  -C /kkb/install

3、查看hadoop支持的压缩方式以及本地库

第一台机器执行以下命令

cd /kkb/install/hadoop-2.6.0-cdh5.14.2
bin/hadoop checknative

如果出现opensslfalse,那么所有机器在线安装openssl即可,执行以下命令,虚拟机联网之后就可以在线进行安装了

sudo yum -y install openssl-devel

4、修改配置文件

core-site.xml    hdfs-site.xml   hadoop-env.sh     mapred-site.xml    yarn-site.xml      slaves

一、修改core-site.xml

第一台机器执行以下命令

cd /kkb/install/hadoop-2.6.0-cdh5.14.2/etc/hadoop
vim core-site.xml

然后添加以下内容:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://node01:8020</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/tempDatas</value>
    </property>
    <!-- 缓冲区大小,实际工作中根据服务器性能动态调整 -->
    <property>
        <name>io.file.buffer.size</name>
        <value>4096</value>
    </property>
    <!-- 开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟 -->
    <property>
        <name>fs.trash.interval</name>
        <value>10080</value>
    </property>
 </configuration>

二、修改hdfs-site.xml

<configuration>
<!-- NameNode存储元数据信息的路径,实际工作中,一般先确定磁盘的挂载目录,然后多个目录用,进行分割   --> 
<property>         <name>dfs.namenode.secondary.http-address</name>         <value>node01:50090</value> </property> <property>     <name>dfs.namenode.http-address</name>     <value>node01:50070</value> </property> <property>     <name>dfs.namenode.name.dir</name>     <value>file:///kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/namenodeDatas</value> </property> <!-- 定义dataNode数据存储的节点位置,实际工作中,一般先确定磁盘的挂载目录,然后多个目录用,进行分割 --> <property>     <name>dfs.datanode.data.dir</name>     <value>file:///kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/datanodeDatas</value> </property> <property>     <name>dfs.namenode.edits.dir</name>     <value>file:///kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/dfs/nn/edits</value> </property> <property>     <name>dfs.namenode.checkpoint.dir</name>     <value>file:///kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/dfs/snn/name</value> </property> <property>     <name>dfs.namenode.checkpoint.edits.dir</name>     <value>file:///kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/dfs/nn/snn/edits</value> </property> <property>     <name>dfs.replication</name>     <value>2</value> </property> <property>     <name>dfs.permissions</name>     <value>false</value> </property> <property>     <name>dfs.blocksize</name>     <value>134217728</value> </property> </configuration>

 

三、修改hadoop-env.sh

export JAVA_HOME=/kkb/install/jdk1.8.0_141

四、修改mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.job.ubertask.enable</name>
        <value>true</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>node01:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>node01:19888</value>
    </property>
 </configuration>

五、修改yarn-site.xml

<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>node01</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
 </configuration>

六、修改slaves

node01
node02
node03

5、添加目录(这些目录都是在配置文件    hdfs-site.xml     中涉及到的)

mkdir -p /kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/tempDatas
mkdir -p /kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/namenodeDatas
mkdir -p /kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/datanodeDatas 
mkdir -p /kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/dfs/nn/edits
mkdir -p /kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/dfs/snn/name
mkdir -p /kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/dfs/nn/snn/edits

6、分发配置文件

在node01上执行以下命令

cd /kkb/install/
scp -r hadoop-2.6.0-cdh5.14.2/ node02:$PWD
scp -r hadoop-2.6.0-cdh5.14.2/ node03:$PWD

7、配置hadoop环境变量

三台机器都要进行配置hadoop的环境变量

三台机器执行以下命令

 sudo vim /etc/profile

然后添加一下内容

export HADOOP_HOME=/kkb/install/hadoop-2.6.0-cdh5.14.2
export PATH=:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

配置完成之后生效  source /etc/profile

8、格式化集群

注意:首次启动HDFS时,必须对其进行格式化操作。本质上是一些清理和准备工作,因为此时的 HDFS 在物理上还是不存在的。

格式化操作只有在首次启动的时候需要,以后再也不需要了

 hdfs namenode -format    或者    hadoop namenode –format

9、集群启动

依次执行

start-dfs.sh

start-yarn.sh

mr-jobhistory-daemon.sh start historyserver

10、关闭集群

依次执行

stop-dfs.sh

stop-yarn.sh

mr-jobhistory-daemon.sh stop historyserver

 11、课外知识

本机hosts文件所在地址,这个地址可以配置连接虚拟机的ip

C:\Windows\System32\drivers\etc

多次格式化可能导致  datanode和namenode的clusterID不一样,导致datanode不能启动,可以修改datanode的ID

使其和namenode的ID一样 

集群中   namenode clusterID  所在的位置

/kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/dfs/nn/edits/current/VERSION

集群中   datanode clusterID  所在的位置

/kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/datanodeDatas/current/VERSION

 

12 启动后的web界面

hdfs集群访问地址

http://192.168.52.100:50070/dfshealth.html#tab-overview

yarn集群访问地址

http://192.168.52.100:8088/cluster

jobhistory访问地址:

http://192.168.52.100:19888/jobhistory

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

版权声明:本文为iamygdbest原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/iamygdbest/p/12467243.html