Hadoop教程

Hadoop程序安装与配置

本文主要是介绍Hadoop程序安装与配置,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一.集群环境搭建

环境准备

(1) 服务器配置


IP

主机名

环境配置

安装

10.100.100.42

node01

关闭防火墙和selinux,host映射,时钟同步

JDK,NameNode,ResourceManager,Zookeeper

10.100.100.43

node02

关闭防火墙和selinux,host映射,时钟同步

JDK,DataNode,NodeManager,Zookeeper

10.100.100.44

node03

关闭防火墙和selinux,host映射,时钟同步

JDK,DataNode,NodeManager,Zookeeper

(2) 修改主机名与主机名映射

  • 编辑etc/hostname文件  编辑etc/hosts

(3) 关闭防火墙和SELinux

  • Service iptables stop (关闭防火墙)   Chkconfig iptables off  (禁止开机启动)
  • CentOS7
  • systemctl stop firewalld.service #停止firewall
  • systemctl disable firewalld.service #禁止firewall开机启动
  • 关闭Selinux
  • 查看状态命令   /usr/sbin/sestatus -v
  • 修改/etc/selinux/config 文件,将SELINUX=enforcing改为SELINUX=disabled
    • 设置后需要重启才能生效

(4) SSH免密登录

  • 集群三台机器生成公钥私钥对  ssh-keygen -t rsa
  • 将三台机器公钥拷贝到第一台  ssh-copy-id node01
  • 拷贝第一台机器的公钥到另外两台
  • scp /root/.ssh/authorized_keys node02:/root/.ssh
  • scp /root/.ssh/authorized_keys node03:/root/.ssh
  • 免密登录验证在node01 执行 ssh node02

(5) 时钟同步

  • 安装ntp   yum install -y ntp
  • 开启定时服务
  • crontab -e
  • */1 * * * * /usr/sbin/ntpdate ntp4.aliyun.com;

(6) 集群机器安装JDK(1.8)

  • 查看是否安装openJDK,如果安装需要卸载  rpm -qa | grep java
  • 卸载自带jdk   rpm -e jar包 --nodeps
  • 创建目 mkdir -p /export/softPage   mkdir -p /export/soft
  • 上传jdk并解压 安装上传工具 yum -y install lrzsz
  • 上传文件命令 rz -E             
  • 解压文件命令  tar -xvf 安装包(路径) -C /export/soft
  • 配置环境变量 vi /etc/profile
  • export JAVA_HOME=/export/soft/jdk1.8.0_144
  • export PATH=:$JAVA_HOME/bin:$PATH
  • 让配置文件生效 source /etc/profile
  • 验证jdk安装成功 java -version
  • 远程拷贝文件夹 scp -r 文件夹路径 node01:/export/soft
  • 配置其他机器的环境变量,具体操作见上
  • 取消日志提醒日志
  • vi /etc/profile添加unset MAILCHECK  然后让文件生效 source /etc/profile

二.Zookeeper集群环境搭建

(1) 集群规划

                                IP

主机名

MyId

10.100.100.42

Node01

1

10.100.100.43

Node02

2

10.100.100.44

Node03

3

(2) 下载Zookeeper(3.4.9)安装包

  • 下载地址:Index of /dist/zookeeper

(3) 解压文件

  • tar -xvf 安装包 -C /export/soft

(4) 修改配置文件

  • cd /export/soft/zookeeper-3.4.9/conf/
  • 拷贝模板配置文件  cp zoo_sample.cfg zoo.cfg
  • 创建zookeeper数据目录 mkdir -p /export/soft/zookeeper-3.4.9/zkdatas
  • 配置数据目录

  • 配置快照数

  • 配置日志清理时间

 

  • 配置zookeeper集群
  • server.1=node01:2888:3888
  • server.2=node02:2888:3888
  • server.3=node03:2888:3888

(5) 创建myid配置文件

  • vi myid
  • Echo 1 > /export/soft/zookeeper-3.4.9/zkdatas/myid

(6) 安装包分发到node02 node03

  • scp -r 文件夹路径 node02:/export/soft
  • scp -r 文件夹路径 node03:/export/soft

(7) 启动集群中每台机器的zookeeper服务

  • 启动服务    /export/soft/zookeeper-3.4.9/bin/zkServer.sh start
  • 查看服务状态  /export/soft/zookeeper-3.4.9/bin/zkServer.sh status

三.Hadoop集群环境搭建

(1) 集群规划

服务器IP

10.100.100.42

10.100.100.43

10.100.100.44

主机名

Node01

Node02

Node03

NameNode

SecondaryNameNode

dataNode

ResourceManager

NodeManager

(2) 安装包下载(Hadoop2.7.5)​​​​​

(3) 文件上传及解压  详细操作见上面类似的操作

(4) 修改配置文件  

  • 修改core-site.xml   文件路径  /export/soft/hadoop-2.7.5/etc/hadoop/core-site.xml
  • 修改内容

<configuration>

<!--设置文件类型和主节点-->

<property>

<name>fs.default.name</name>

<value>hdfs://192.168.1.200:8020</value>

</property>

<!--设置Hadoop临时目录-->

<property>

<name>hadoop.tmp.dir</name>

<value>/export/soft/hadoop-2.7.5/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

文件路径

/export/soft/hadoop-2.7.5/etc/hadoop/hdfs-site.xml

修改内容

<configuration>

<!-- 配置secondaryNameNode的访问地址 -->

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>node01:50090</value>

</property>

<!-- 配置nameNode的访问地址 -->

<property>

<name>dfs.namenode.http-address</name>

<value>node01:50070</value>

</property>

<!-- 配置nameNode存储元数据的位置 -->

<property>

<name>dfs.namenode.name.dir</name>

<value>file:///export/soft/hadoop-2.7.5/hadoopDatas/namenodeDatas,file:///export/soft/hadoop-2.7.5/hadoopDatas/namenodeDatas2</value>

</property>

<!-- 配置dataNode数据存储的节点位置 -->

<property>

<name>dfs.datanode.data.dir</name>

<value>file:///export/soft/hadoop-2.7.5/hadoopDatas/datanodeDatas,file:///export/soft/hadoop-2.7.5/hadoopDatas/datanodeDatas2</value>

</property>

<!-- 配置nameNode日志文件存放位置 -->

<property>

<name>dfs.namenode.edits.dir</name>

<value>file:///export/soft/hadoop-2.7.5/hadoopDatas/nn/edits</value>

</property>

<!-- 配置检查点文件存放位置 -->

<property>

<name>dfs.namenode.checkpoint.dir</name>

<value>file:///export/soft/hadoop-2.9.2/hadoopDatas/snn/name</value>

</property>

<!--   -->

<property>

<name>dfs.namenode.checkpoint.edits.dir</name>

<value>file:///export/soft/hadoop-2.9.2/hadoopDatas/dfs/snn/edits</value>

</property>

<!-- 单个数据分片文件存放的副本个数  -->

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<!-- 是否启用权限 -->

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>

<!-- 单个数据分片大小 128M-->

<property>

<name>dfs.blocksize</name>

<value>134217728</value>

</property>

</configuration>

修改hadoop-env.sh   主要是修改jdk的路径

/export/soft/jdk1.8.0_144

修改mapred-site.xml 修改内容

<configuration>

<!-- 开启MapReduce小任务模式  -->

<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,修改内容

<!-- 配置yarn主节点的位置 -->

<property>

<name>yarn.resourcemananger.hostname</name>

<value>node01</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>



<!-- 设置聚合日志文件在hdfs上保存的时间,单位为秒 -->

<property>

<name>yarn.log-aggregation.retain-seconds</name>

<value>604800</value>

</property>



<!-- 设置yarn集群的内存分配方案 -->

<property>

<name>yarn.nodemanager.resource.memory-mb</name>

<value>20480</value>

</property>

<property>

<name>yarn.scheduler.minimum-allocation-mb</name>

<value>2048</value>

</property>

<property>

<name>yarn.nodemanager.vmem-pmem-ratio</name>

<value>2.1</value>

</property>
  • 修改mapred-env.sh  主要是修改jdk的路径

  export JAVA_HOME=/export/soft/jdk1.8.0_144

 修改slaves 改文件主要是配置丛级关系  修改内容如下:Node01   Node02   Node03

  • 创建目录
mkdir -p /export/soft/hadoop-2.9.2/hadoopDatas/tempDatas

mkdir -p /export/soft/hadoop-2.9.2/hadoopDatas/namenodeDatas

mkdir -p /export/soft/hadoop-2.9.2/hadoopDatas/namenodeDatas2

mkdir -p /export/soft/hadoop-2.9.2/hadoopDatas/datanodeDatas

mkdir -p /export/soft/hadoop-2.9.2/hadoopDatas/datanodeDatas2

mkdir -p /export/soft/hadoop-2.9.2/hadoopDatas/nn/edits

mkdir -p /export/soft/hadoop-2.9.2/hadoopDatas/snn/name

mkdir -p /export/soft/hadoop-2.9.2/hadoopDatas/dfs/snn/edits
  • 安装包分发

        scp -r 安装包路径 node02:$PWD

        scp -r 安装包路径 node03:$PWD

  • 配置hadoop环境变量

        vi /etc/profile

        export HADOOP_HOME=/ export/soft/hadoop-2.9.2

        export PATH=:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

         source /etc/profile

  • 启动集群,在主节点上

        cd /export/soft/hadoop-2.7.5/

        bin/hdfs/ namenode -format(第一次启动才执行)

        sbin/start-dfs.sh   Sbin/start-yarn.sh

        sbin/mr-jobhistory-daemon.sh start historyserver

        网页查看hdfs http://node01:50070/explorer.html#/

        网页查看yarn集群   http://node01:8088/cluster

        网页查看历史完成的任务 http://node01:19888/jobhistory

四.Hbase(hadoop数据库)安装

(1)安装包下载并上传(hbase 2.1.0)

        下载路径 http://archive.apache.org/dist/hbase   软件版本 2.1.0

(2)修改hbase-env.sh文件

        export JAVA_HOME=/export/soft/jdk1.8.0_144

        export HBASE_MANAGES_ZK=false

 

 

 

(3)修改hbase-site.xml文件

 

<!-- Hbase数据在HDFS中的存放位置 -->
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://node01:8020/hbase</value>
  </property>
  <!-- Hbase运行模式 false 单击模式  true 分布式模式 -->
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <!-- ZooKeeper集群地址 -->
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>node01,node02,node03</value>
  </property>
  <!-- ZooKeeper快照数据地址 -->
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/export/soft/zookeeper-3.4.9/zkdatas</value>
  </property>
  <property>
    <name>hbase.tmp.dir</name>
    <value>./tmp</value>
  </property>
  <!-- 分布式模式设为false -->
  <property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
  </property>

(4)配置环境变量文件

        export HBASE_HOME=/export/soft/hbase-2.4.0

        export PATH=:$HBASE_HOME/bin:$HBASE_HOME/sbin:$PATH

(5)拷贝依赖库

       cp $HBASE_HOME/lib/client-facing-thirdparty/htrace-core4-4.2.0-incubating.jar                          $HBASE_HOME/lib

(6)修改regionservers文件

        

(7)安装包分发

        

        scp -r hbase-2.4.0/ node02:$PWD

        scp -r hbase-2.4.0/ node03:$PWD

(8)修改node02 node03的环境变量并生效

(9)启动Hbase

        首先要保证zookeeper集群和hadoop集群已经启动。然后在主节点上启动Hbase

        进入到Hbase的bin目录,执行start-hbase.sh

(10)验证Hbase是否启动成功

        

 

(11)Hbase网页界面

        Http://10.100.100.42:16010

五.Phoenix(5.0.0)插件安装

(1)文件下载

        文件下载地址   Http://phoenix.apache.org/download.html

(2)文件上传并解压  tar -xvf phoenix-hbase-2.4.0-5.1.2-bin.tar.gz -C /export/soft

(3)拷贝Jar包到Hbase目录

        cp  /export/soft/phoenix-hbase-2.4.0-5.1.2-bin/phoenix-*.jar /export/soft/hbase-2.4.0/lib/

(4)分发Jar包到Hbase的其他节点上

        scp phoenix-*.jar node02:$PWD

        scp phoenix-*.jar node03:$PWD

(5)修改配置文件

修改hbase的配置文件

cd /export/soft/hbase-2.4.0/conf/

修改hbase-site.xml文件

 <!-- 支持HBase命名空间映射 -->

  <property>

    <name>phoenix.schema.isNamespaceMappingEnabled</name>

    <value>true</value>

  </property>

  <!-- 支持索引日志预写编码 -->

  <property>

    <name>hbase.regionserver.wal.codec</name>

    <value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>

  </property>

(6)分发配置文件

        scp hbase-site.xml node02:$PWD

        scp hbase-site.xml node03:$PWD

(7)拷贝配置文件到phoenix目录中

        cp hbase-site.xml /export/soft/phoenix-hbase-2.4.0-5.1.2-bin/bin/

(8)重启Hbase服务

        新集群 zookeeper3.4.9 hadoop2.7.5  hbase 2.1.0  phoenix (5.0.0-Hbase2.0)

        检查hadoop2.7.5对本地库的支持

        Bin/hadoop/ checknative     SpringBoot 整合Hadoop

        客户端在windows环境下需要hadoop.dll

        上述新集群

 

这篇关于Hadoop程序安装与配置的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!