大数据第一课-Hadoop全分布式集群搭建

今年立志写博100篇。。。。偶里根。(第一篇)

一、前序

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

我这里是Centos7版本的。

二、大数据安装前期准备

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

192.168.52.100

192.168.52.110

192.168.52.120

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

 

 

 

 

猜你喜欢

转载自www.cnblogs.com/tyh666/p/12467243.html