大数据-基础环境搭建

                                    大数据-基础环境搭建

 

目录

服务器设置

hadoop用户免密码登录

zookeeper集群搭建

hadoop集群搭建


        本章节主要介绍大数据基础环境的配置以及zookeeper和hadoop集群的搭建;三台服务器都使用ContOS7 操作系统,相关安装包下载地址会在本章节最后给出,如获取失败,可以私信哦~

每天进步一小点,加油鸭~

服务器设置

1)、三台机器的IP设置

修改三台服务的ip地址

vi /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO="static"
ONBOOT=yes
IPADDR=192.168.52.100
NETMASK=255.255.255.0
GATEWAY=192.168.52.1
DNS1=8.8.8.8

将准备好的三台服务器的IP地址分别设置成为如下:
第一台机器IP地址:192.168.52.100
第二台机器IP地址:192.168.52.110
第三台机器IP地址:192.168.52.120

2)、三台机器关闭防火墙

使用root用户登录三台服务器,执行以下命令关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

3)、三台机器关闭selinux

使用root用户登录三台服务器,执行以下命令关闭selinux

vim /etc/selinux/config
SELINUX=disabled

4)、三台机器更改主机名

三台机器分别更改主机名
第一台主机名更改为:node01.hlbdx.com
第二台主机名更改为:node02.hlbdx.com
第三台主机名更改为:node03.hlbdx.com
执行以下命令修改主机名

vim /etc/hostname
node01.hlbdx.com

5)、三台机器更改主机名与IP地址映射

三台机器执行以下命令更改主机名与IP地址映射关系

vim /etc/hosts
192.168.52.100 node01.hlbdx.com node01
192.168.52.110 node02.hlbdx.com node02
192.168.52.120 node03.hlbdx.com node03

6)、三台机器同步时间

三台机器执行以下命令定时同步阿里云服务器时间

yum -y install ntpdate
crontab -e
*/1 * * * * /usr/sbin/ntpdate time1.aliyun.com

7)、三台机器添加普通用户

三台linux服务器统一添加普通用户hadoop,并给以sudo权限,用于以后所有的大数据软件的安装
并统一设置普通用户的密码为 hadoop

useradd hadoop
passwd hadoop

三台机器为普通用户添加sudo权限

vi sudo
hadoop ALL=(ALL) ALL

8)、三台定义统一目录

定义三台linux服务器软件压缩包存放目录,以及解压后安装目录,三台机器执行以下命令,创建两个文
件夹,一个用于存放软件压缩包目录,一个用于存放解压后目录。

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

三台机器安装jdk

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

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

cd /hlbdx/soft/

tar -zxf jdk-8u141-linux-x64.tar.gz -C /hlbdx/install/

sudo vim /etc/profile

#添加以下配置内容,配置jdk环境变量
export JAVA_HOME=/hlbdx/install/jdk1.8.0_141
export PATH=:$JAVA_HOME/bin:$PATH

hadoop用户免密码登录

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

ssh-keygen -t rsa

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

#node01在hadoop用户下,执行以下命令,将authorized_keys拷贝到node02与node03服务器
cd /home/hadoop/.ssh/
scp authorized_keys node02:$PWD
scp authorized_keys node03:$PWD

三台机器关机重启

三台机器在root用户下执行以下命令,实现关机重启

reoot -h now

zookeeper集群搭建

注意:三台机器一定要保证时钟同步。

1)、下载zookeeeper的压缩包

下载网址http://archive.cloudera.com/cdh5/cdh/5/
本文使用的zookeeper版本为zookeeper-3.4.5-cdh5.14.2.tar.gz
下载完成之后,上传到服务器node01的 /hlbdx/soft 路径下准备进行安装。

2)、解压

在node01执行以下命令解压zookeeper的压缩包到node01服务器的 /hlbdx/install 路径下,然后准备进行安装。

cd /hlbdx/soft
tar -zxvf zookeeper-3.4.5-cdh5.14.2.tar.gz -C /hlbdx/install/

3)、修改配置文件

在node01修改配置文件

cd /hlbdx/install/zookeeper-3.4.5-cdh5.14.2/conf
cp zoo_sample.cfg zoo.cfg
mkdir -p /hlbdx/install/zookeeper-3.4.5-cdh5.14.2/zkdatas
vim zoo.cfg
dataDir=/hlbdx/install/zookeeper-3.4.5-cdh5.14.2/zkdatas
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
server.1=node01:2888:3888
server.2=node02:2888:3888
server.3=node03:2888:3888

4)、添加myid配置

在第一台机器的 /hlbdx/install/zookeeper-3.4.5-cdh5.14.2/zkdatas/
这个路径下创建一个文件,文件名为myid ,文件内容为1

echo 1 > /hlbdx/install/zookeeper-3.4.5-cdh5.14.2/zkdatas/myid

5)、安装包分发并修改myid的值

安装包分发到其他机器

#第一台机器上面执行以下两个命令
scp -r /hlbdx/install/zookeeper-3.4.5-cdh5.14.2/ node02:/hlbdx/install/
scp -r /hlbdx/install/zookeeper-3.4.5-cdh5.14.2/ node03:/hlbdx/install/

#第二台机器上修改myid的值为2
#直接在第二台机器任意路径执行以下命令
echo 2 > /hlbdx/install/zookeeper-3.4.5-cdh5.14.2/zkdatas/myid

#第三台机器上修改myid的值为3
#直接在第三台机器任意路径执行以下命令
echo 3 > /hlbdx/install/zookeeper-3.4.5-cdh5.14.2/zkdatas/myid

6)、三台机器启动zookeeper服务

三台机器启动zookeeper服务
这个命令三台机器都要执行

/hlbdx/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh start
查看启动状态
/hlbdx/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh status

hadoop集群搭建

部署规划

服务器IPnode01node02node03
HDFSNameNode  
HDFSSecondaryNameNode  
HDFSDataNodeDataNodeDataNode
YARNResourceManager  
YARNNodeManagerNodeManager

NodeManager

历史日志服务JobHistoryServer  

1)、上传压缩包并解压

将我们重新编译之后支持snappy压缩的hadoop包上传到第一台服务器并解压,在node01执行以下命令

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

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

在node01执行以下命令

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

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

yum -y install openssl-devel

3)、修改配置文件

  • 修改core-site.xml

在node01执行以下命令

cd /hlbdx/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>/hlbdx/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

在node01执行以下命令

cd /hlbdx/install/hadoop-2.6.0-cdh5.14.2/etc/hadoop

vim hdfs-site.xml

<configuration>
    <!-- NameNode存储元数据信息的路径,实际工作中,一般先确定磁盘的挂载目录,然后多个目录用,进行分割   --> 
    <!--   集群动态上下线 
    <property>
        <name>dfs.hosts</name>
        <value>/hlbdx/install/hadoop-2.6.0-cdh5.14.2/etc/hadoop/accept_host</value>
    </property>
    <property>
        <name>dfs.hosts.exclude</name>
        <value>/hlbdx/install/hadoop-2.6.0-cdh5.14.2/etc/hadoop/deny_host</value>
    </property>
     -->
     <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:///hlbdx/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/namenodeDatas</value>
    </property>
    <!--  定义dataNode数据存储的节点位置,实际工作中,一般先确定磁盘的挂载目录,然后多个目录用,进行分割  -->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///hlbdx/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/datanodeDatas</value>
    </property>
    <property>
        <name>dfs.namenode.edits.dir</name>
        <value>file:///hlbdx/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/dfs/nn/edits</value>
    </property>
    <property>
        <name>dfs.namenode.checkpoint.dir</name>
        <value>file:///hlbdx/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/dfs/snn/name</value>
    </property>
    <property>
        <name>dfs.namenode.checkpoint.edits.dir</name>
        <value>file:///hlbdx/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

在node01执行以下命令

cd /hlbdx/install/hadoop-2.6.0-cdh5.14.2/etc/hadoop

vim hadoop-env.sh
export JAVA_HOME=/hlbdx/install/jdk1.8.0_141
  • 修改mapred-site.xml

在node01执行以下命令

cd /hlbdx/install/hadoop-2.6.0-cdh5.14.2/etc/hadoop

vim 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

在node01执行以下命令

cd /hlbdx/install/hadoop-2.6.0-cdh5.14.2/etc/hadoop

vim 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执行以下命令

cd /hlbdx/install/hadoop-2.6.0-cdh5.14.2/etc/hadoop

vim slaves

node01
node02
node03

4)、创建文件存放目录

在node01执行以下命令

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

5)、安装包的分发

在node01执行以下命令

cd /hlbdx/install/

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

6)、配置hadoop的环境变量

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

分别在node01、node02、node03上执行以下命令

vim  /etc/profile

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

#配置完成之后生效

source /etc/profile

7)、集群启动

要启动 Hadoop 集群,需要启动 HDFS 和 YARN 两个集群。

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

bin/hdfs namenode  -format或者bin/hadoop namenode –format

单节点逐一启动

在主节点上使用以下命令启动 HDFS NameNode: 
hadoop-daemon.sh start namenode

在每个从节点上使用以下命令启动 HDFS DataNode: 
hadoop-daemon.sh start datanode

在主节点上使用以下命令启动 YARN ResourceManager: 
yarn-daemon.sh  start resourcemanager

在每个从节点上使用以下命令启动 YARN nodemanager: 
yarn-daemon.sh start nodemanager

以上脚本位于$HADOOP_PREFIX/sbin/目录下。如果想要停止某个节点上某个角色,只需要把命令中的start 改为stop 即可。

主节点启动集群

如果配置了 etc/hadoop/slaves 和 ssh 免密登录,在主节点(这里是node01节点)所设定的机器上执行以下命令可以启动hadoop集群的相关进程。

在node01执行以下命令

cd /hlbdx/install/hadoop-2.6.0-cdh5.14.2/
sbin/start-dfs.sh
sbin/start-yarn.sh
sbin/mr-jobhistory-daemon.sh start historyserver

停止集群:

sbin/stop-dfs.sh

sbin/stop-yarn.sh

8)、浏览器查看启动页面

hdfs集群访问地址 http://node01:50070/dfshealth.html#tab-overview

yarn集群访问地址 http://node01:8088/cluster

jobhistory访问地址 http://node01:19888/jobhistory

一键查看进程脚本制作

在node01服务器的/home/hadoop/bin目录下创建文件xcall

[hadoop@node01 bin]$  cd ~/bin/
[hadoop@node01 bin]$  vim xcall

#添加以下内容
#!/bin/bash

params=$@
#i=201
for (( i=1 ; i <= 3 ; i = $i + 1 )) ; do
    echo ============= node0$i $params =============
    ssh node0$i "source /etc/profile;$params"
done

然后对该脚本进行授权并进行分发

chmod 777  /home/hadoop/bin/xcall
xcall  jps
xsync  /home/hadoop/bin/xcall

一键启停hadoop集群脚本制作

在node01上的/home/hadoop/bin目录下创建脚本

[hadoop@node01 bin]$ cd /home/hadoop/bin/
[hadoop@node01 bin]$ vim hadoop.sh

#!/bin/bash
case $1 in
"start" ){
  source /etc/profile;
 /hlbdx/install/hadoop-2.6.0-cdh5.14.2/sbin/start-dfs.sh
 /hlbdx/install/hadoop-2.6.0-cdh5.14.2/sbin/start-yarn.sh
 /hlbdx/install/hadoop-2.6.0-cdh5.14.2/sbin/mr-jobhistory-daemon.sh start historyserver

};;
"stop"){
 /hlbdx/install/hadoop-2.6.0-cdh5.14.2/sbin/stop-dfs.sh
 /hlbdx/install/hadoop-2.6.0-cdh5.14.2/sbin/stop-yarn.sh
 /hlbdx/install/hadoop-2.6.0-cdh5.14.2/sbin/mr-jobhistory-daemon.sh stop  historyserver
};;
esac

给脚本进行授权

[hadoop@node01 bin]$ chmod 777 hadoop.sh
[hadoop@node01 bin]$ ./hadoop.sh start		# 启动hadoop集群
[hadoop@node01 bin]$ ./hadoop.sh stop		# 停止hadoop集群

至此,大数据三节点基础环境准备完毕!


链接:https://pan.baidu.com/s/1yJXYplVRGoVyKqbVe4is2Q

提取码:gk21

此博文仅供学习参考,如有错误欢迎指正。下一篇《大数据-HDFS(一)

希望对大数据相关技术感兴趣的友友们关注一下,大家可以一起交流学习哦~

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值