hadoop服务搭建

hadoop服务搭建

1、环境准备

1.1、四台机器关闭selinux --重要

vim /etc/selinux/config
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t2BSAdie-1606737188979)(http://192.168.8.10:4999/server/…/Public/Uploads/2019-12-03/5de62d7d5df87.png)]

1.2、四台机器更改主机名

vim /etc/hostname

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LNnbUjBF-1606737188982)(http://192.168.8.10:4999/server/…/Public/Uploads/2019-12-03/5de62df66c0ba.png)]

1.3、四台机器做主机名与IP地址的映射

vim /etc/hosts
  • 输入以下内容:
    10.0.1.94 hadoop01.00joy.com
    10.0.1.79 hadoop02.00joy.com
    10.0.1.66 hadoop03.00joy.com
    10.0.1.87 hadoop04.00joy.com

1.4、四台机器创建hadoop用户

  • 添加hadoop用户,密码:hadoop
useradd hadoop
passwd  hadoop
  • 设置hadoop用户权限
visudo

-添加权限:
hadoop ALL=(ALL) ALL

1.5、配置免密

  • 选择一台机器生成公钥和私钥,连续四次回车
ssh-keygen -t rsa
  • 将公钥拷贝到authorized_keys文件中:
su - hadoop
cd .ssh
cp id_rsa.pub authorized_keys
  • 将authorized_keys和id_rsa发送到其他节点机器对应目录下:
scp id_rsa authorized_keys hadoop@hadoop02.00joy.com:/$PWD
scp id_rsa authorized_keys hadoop@hadoop03.00joy.com:/$PWD
scp id_rsa authorized_keys hadoop@hadoop04.00joy.com:/$PWD

1.6、硬盘挂载

  • 将数据和系统分开,方便后续增加机器硬盘空间
fdisk  /dev/vdb  n p  默认 默认  ##分区
mkfs.ext4  /dev/vdb1  ##磁盘格式化、
vi /etc/fstab
/dev/vdb1  /data ext4   defaults 0 0  
mount -a  ####磁盘挂载

1.7、jdk的安装

  • 上传压缩包到/data目录下
sudo tar -zxvf jdk-8u112-linux-x64.gz
  • 配置环境变量
sudo vi .bashrc

输入:
export JAVA_HOME=/data/jdk1.8.0_112
export PATH= J A V A H O M E / b i n : {JAVA_HOME}/bin: JAVAHOME/bin:PATH

二、hadoop搭建

  • 服务器节点服务规划
服务器ip10.0.1.94(hadoop01.00joy.com)10.0.1.79(hadoop02.00joy.com)10.0.1.66(hadoop03.00joy.com)10.0.1.87(hadoop04.00joy.com)
HDFSNameNode(主节点)、DataNodeSecondaryNameNode、DataNodeDataNodeDataNode
YARNResourceManager、NodeManagerNodeManagerNodeManagerNodeManager
MapReducejobhistoryserver

以下操作在hadoop用户下操作

1.上传压缩包并解压

  • 上传cdh版本hadoop软件包到/data目录下并解压(使用CDH5.14.0版本的hadoop)
tar -zxvf hadoop-2.6.0-cdh5.14.0.tar.gz
  • 解压后的目录结构:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UkzWGWr7-1606737188984)(http://192.168.8.10:4999/server/…/Public/Uploads/2019-12-03/5de6463c1eb1e.png)]

2.修改配置文件

先在第一台修改配置文件,完成后再分发到其他节点

2.1、 修改core-site.xml文件
  • 命令
cd /data/hadoop/etc/hadoop/
sudo vim core-site.xml
  • 添加以下配置
<configuration>
		<!--定义HadoopMaster的URI和端口-->
        <property>
        		<name>fs.defaultFS</name>
        		<value>hdfs://hadoop01.00joy.com:8020</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/data/hadoop/hadoopdata/tempDatas</value>
        </property>
		<!--用作序列化文件处理时读写buffer的大小-->
        <property>
                <name>io.file.buffer.size</name>
                <value>4096</value>
        </property>
		<!--HDFS垃圾箱设置,可以恢复误删除,分钟数,0为禁用,添加该项无需重启hadoop-->
        <property>
                <name>fs.trash.interval</name>
                <value>10080</value>
        </property>
</configuration>
2.2、 修改hdfs-site.xml
  • 命令
sudo vim hdfs-site.xml
  • 添加以下配置
<configuration>
<!-- 指定secondarynamenode的节点-->
    	<property>
              <name>dfs.namenode.secondary.http-address</name>
              <value>hadoop02.00joy.com:50090</value>
        </property>

        <property>
                <name>dfs.namenode.http-address</name>
                <value>hadoop01.00joy.com:50070</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:///data/hadoop/hadoopdata/namenodeDatas</value>
        </property>
        <!-- 定义dataNode数据存储的节点位置,先确定磁盘的挂载目录,然后多个目录用","进行分割 -->
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:///data/hadoop/hadoopdata/datanodeDatas</value>
        </property>

        <property>
                <name>dfs.namenode.edits.dir</name>
                <value>file:///data/hadoop/hadoopdata/dfs/nn/edits</value>
        </property>
        <property>
                <name>dfs.namenode.checkpoint.dir</name>
                <value>file:///data/hadoop/hadoopdata/dfs/snn/name</value>
        </property>
        <property>
                <name>dfs.namenode.checkpoint.edits.dir</name>
                <value>file:///data/hadoop/hadoopdata/dfs/nn/snn/edits</value>
        </property>
		<!--hdfs文件的副本个数,默认是3-->
        <property>
                <name>dfs.replication</name>
                <value>2</value>
        </property>
		<!--如果是true则检查权限,否则不检查(每一个人都可以存取文件)-->
        <property>
                <name>dfs.permissions</name>
                <value>false</value>
        </property>
		<!--hadoop2.X默认的block块大小是128M,用户可以根据处理文件的大小进行修改-->
        <property>
                <name>dfs.blocksize</name>
                <value>134217728</value>
        </property>
</configuration>
2.3、 修改mapred-site.xml
  • 命令
sudo vim mapred-site.xml
  • 添加以下配置
<configuration>
        <!--使用yarn运行作为mapreduce程序运行的资源调度-->
        <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>hadoop01.00joy.com:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>hadoop01.00joy.com:19888</value>
        </property>
</configuration>
2.4、 修改yarn-site.xml
  • 命令
sudo vim yarn-site.xml
  • 添加以下配置
<configuration>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>hadoop01.00joy.com</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.log-aggregation-enable</name>
                <value>true</value>
        </property>
        <property>
                <name>yarn.log-aggregation.retain-seconds</name>
                <value>604800</value>
        </property>
</configuration>
2.5、 修改slaves 文件
  • 命令
sudo vim slaves
  • 添加以下配置
    hadoop01.00joy.com
    hadoop02.00joy.com
    hadoop03.00joy.com
    hadoop04.00joy.com

3.创建文件配置目录

  • 在第一台机器上创建以下目录
mkdir -p /data/hadoop/hadoopdata/tempDatas
mkdir -p /data/hadoop/hadoopdata/namenodeDatas
mkdir -p /data/hadoop/hadoopdata/datanodeDatas
mkdir -p /data/hadoop/hadoopdata/dfs/nn/edits
mkdir -p /data/hadoop/hadoopdata/dfs/snn/name
mkdir -p /data/hadoop/hadoopdata/dfs/nn/snn/edits

4.安装包的分发

  • 从第一台分发到其他节点
cd /data/
scp -r hadoop/ hadoop@hadoop01.00joy.com:$PWD
scp -r hadoop/ hadoop@hadoop02.00joy.com:$PWD
scp -r hadoop/ hadoop@hadoop03.00joy.com:$PWD

5.配置环境变量

  • 四台机器都要配置环境变量
sudo vim .bashrc
export HADOOP_HOME=/data/hadoop
export PATH=:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
source .bashrc

6.格式化环境

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

  • 两种方式(作用相同)

cd /data/hadoop
bin/hdfs namenode -format 或者 bin/hadoop namenode -format

7.集群的启动与访问

7.1单一节点逐个启动

  • 在主节点上使用以下命令启动 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 即可

7.2 脚本一键启动

  • 如果配置了 etc/hadoop/slaves 和 ssh 免密登录,则可以使用程序脚本启动所有Hadoop 两个集群的相关进程,在主节点所设定的机器上执行。

  • 主节点上执行以下命令

cd /data/hadoop
sbin/start-dfs.sh
sbin/start-yarn.sh
sbin/mr-jobhistory-daemon.sh start historyserver

7.3 集群的访问

  • 集群访问
hdfs集群访问地址
http://hadoop01.00joy.com:50070/dfshealth.html#tab-overview
yarn集群访问地址
http://hadoop01.00joy.com:8088/cluster
jobhistory访问地址:
http://hadoop01.00joy.com:19888/jobhistory
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hadoop服务器集群的搭建旨在实现分布式存储和计算,以满足大数据处理的需求。以下是Hadoop服务器集群搭建的主要目的: 1. 大数据存储:Hadoop提供了分布式文件系统HDFS,它能够将大规模数据分散存储在集群中的多个节点上。通过搭建Hadoop集群,可以获得高容量和可靠的存储系统,能够处理大量数据的存储需求。 2. 数据处理:Hadoop通过MapReduce框架,将数据分成小块进行并行计算,并在集群中的多个节点上同时执行计算任务。通过搭建Hadoop集群,可以实现高性能的并行计算,加快大数据处理的速度。 3. 高可用性:Hadoop集群支持故障转移和冗余备份,可以确保在节点故障时不丢失数据和服务中断。通过搭建Hadoop集群并配置高可用性特性,可以提高系统的可靠性和稳定性。 4. 水平扩展:Hadoop集群可以方便地进行水平扩展,即通过添加更多的节点来增加集群的处理能力和存储容量。通过搭建Hadoop集群,可以应对不断增长的数据量和计算需求,实现系统的可扩展性。 5. 数据共享和协作:Hadoop集群中的数据可以被多个用户和应用程序共享和访问。通过搭建Hadoop集群,可以提供一个统一的数据平台,方便不同团队或部门之间的数据共享和协作。 总而言之,Hadoop服务器集群的搭建旨在提供一个高可用、可扩展和高性能的大数据处理平台,能够存储和处理海量数据,并支持并行计算和分布式存储,以满足大数据应用的需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值