Big Data第三部分《Hadoop集群搭建》

编程入门 行业动态 更新时间:2024-10-26 12:22:22

Big Data第三部分《Hadoop<a href=https://www.elefans.com/category/jswz/34/1771240.html style=集群搭建》"/>

Big Data第三部分《Hadoop集群搭建》

  1. 文章目录

    • CDH版本Hadoop重新编译
      • 安装jdk1.7
      • 安装maven
      • 安装findbugs
      • 安装protobuf
      • 安装snappy
      • 下载cdh源码准备编译
    • 一:大数据集群安装部署
    • 二:CDH 分布式环境搭建
    • Hadoop集群初体验
    • MapReduce的jobHistory介绍

CDH版本Hadoop重新编译

准备编译环境linux环境

  • 准备一台linux环境,内存4G或以上,硬盘40G或以上,我们这里使用的是Centos6.9 64位的操作系统(注意:一定要使用64位的操作系统)
  • 虚拟机联网,关闭防火墙,关闭selinux

关闭防火墙命令

[root@node01 ~]# service iptables stop[root@node01 ~]# chkconfig iptables off

关闭selinux

[root@node01 ~]# vim /etc/selinux/config

安装jdk1.7

注意:亲测证明hadoop-2.6.0-cdh5.14.0 这个版本的编译,只能使用jdk1.7,如果使用jdk1.8那么就会报错

查看centos6.9自带的openjdk

rpm -qa | grep java 


将所有这些openjdk全部卸载掉

[root@node01 ~]# rpm -e  java-1.6.0-openjdk-1.6.0.41-1.13.13.1.el6_8.x86_64 tzdata-java-2016j-1.el6.noarch java-1.7.0-openjdk-1.7.0.131-2.6.9.0.el6_8.x86_64

注意:这里一定不要使用jdk1.8,亲测jdk1.8会出现错误
将我们jdk的安装包上传到/export/softwares(我这里使用的是jdk1.7.0_71这个版本)解压我们的jdk压缩包

统一两个路径

[root@node01 ~]# mkdir -p /export/servers
[root@node01 ~]# mkdir -p /export/softwares
[root@node01 ~]# cd /export/softwares
[root@node01 ~]# tar zxvf jdk-7u75-linux-x64.tar.gz   -C ../servers/

配置环境变量

[root@node01 ~]# vim /etc/profile.d/java.sh#在java.sh内添加一下内容,保存退出:wq
export JAVA_HOME=/export/servers/jdk1.7.0_75
export PATH=:$JAVA_HOME/bin:$PATH

让修改立即生效

[root@node01 ~]# source /etc/profile

注意:

  • 有种办法是将配置信息追加到系统配置文件/etc/profile内的最后,此方法也行,但profile是系统核心配置文件,若修改时不小心损坏了配置文件,会导致系统很多基本功能失效,此方法风险较高,不建议使用。

安装maven

这里使用maven3.x以上的版本应该都可以,不建议使用太高的版本,强烈建议使用3.0.5的版本即可

  • 将maven的安装包上传到/export/softwares
  • 然后解压maven的安装包到/export/servers
[root@node01 ~]# cd /export/softwares/[root@node01 ~]# tar -zxvf apache-maven-3.0.5-bin.tar.gz -C ../servers/

配置maven的环境变量

vim /etc/profile.d/maven.sh#在maven.sh内添加一下内容,保存退出:wq
export MAVEN_HOME=/export/servers/apache-maven-3.0.5
export MAVEN_OPTS="-Xms4096m -Xmx4096m"
export PATH=:$MAVEN_HOME/bin:$PATH

让修改立即生效

[root@node01 ~]# source /etc/profile

解压maven的仓库

[root@node01 ~]# tar -zxvf mvnrepository.tar.gz -C /export/servers/

修改maven的配置文件

[root@node01 ~]# cd  /export/servers/apache-maven-3.0.5/conf[root@node01 ~]# vim settings.xml

指定我们本地仓库存放的路径

<localRepository>/export/servers/mvnrepository</localRepository>

添加一个阿里云的镜像地址,会让我们下载jar包更快

 <mirror><id>alimaven</id><name>aliyun maven</name><url>/</url><mirrorOf>central</mirrorOf></mirror>

安装findbugs

下载findbugs

[root@node01 ~]# cd /export/softwares

解压findbugs

[root@node01 ~]# tar -zxvf findbugs-1.3.9.tar.gz -C ../servers/

配置findbugs的环境变量

[root@node01 ~]# vim /etc/profile.d/findbugs.sh#在findbugs.sh内添加一下内容,保存退出:wq
export FINDBUGS_HOME=/export/servers/findbugs-1.3.9
export PATH=:$FINDBUGS_HOME/bin:$PATH

让修改立即生效

[root@node01 ~]# source  /etc/profile

在线安装一些依赖包

[root@node01 ~]# yum install -y autoconf automake libtool cmake[root@node01 ~]# yum install -y ncurses-devel[root@node01 ~]# yum install -y openssl-devel[root@node01 ~]# yum install -y lzo-devel zlib-devel gcc gcc-c++

bzip2压缩需要的依赖包

[root@node01 ~]# yum install -y  bzip2-devel

安装protobuf

protobuf下载百度网盘地址:
下载之后上传到 /export/softwares,解压protobuf并进行编译

[root@node01 ~]# cd  /export/softwares[root@node01 ~]# tar -zxvf protobuf-2.5.0.tar.gz -C ../servers/[root@node01 ~]# cd   /export/servers/protobuf-2.5.0[root@node01 ~]# ./configure[root@node01 ~]# make && make install

安装snappy

snappy下载地址:/

[root@node01 ~]# cd /export/softwares/[root@node01 ~]# tar -zxvf snappy-1.1.1.tar.gz  -C ../servers/[root@node01 ~]# cd ../servers/snappy-1.1.1/[root@node01 ~]# ./configure[root@node01 ~]# make && make install

下载cdh源码准备编译

源码下载地址为:
.6.0-cdh5.14.0-src.tar.gz
下载源码进行编译

[root@node01 ~]# cd  /export/soft[root@node01 ~]# tar -zxvf hadoop-2.6.0-cdh5.14.0-src.tar.gz -C ../servers/[root@node01 ~]# cd  /export/servers/hadoop-2.6.0-cdh5.14.0

编译不支持snappy压缩:

[root@node01 ~]# mvn package -Pdist,native -DskipTests –Dtar

编译支持snappy压缩:

[root@node01 ~]# mvn package -DskipTests -Pdist,native -Dtar -Drequire.snappy -e -X

编译完成之后我们需要的压缩包就在下面这个路径里面

[root@node01 ~]# pwd
/export/servers/hadoop-2.6.0-cdh5.14.0/hadoop-dist/target


常见编译错误

  • 如果编译时候出现这个错误
    An Ant BuildException has occured: exec returned: 2
  • 这是因为tomcat的压缩包没有下载完成,需要自己下载一个对应版本的apache-tomcat-6.0.53.tar.gz的压缩包放到指定路径下面去即可

这两个路径下面需要放上这个tomcat的 压缩包

[root@node01 ~]# pwd
/export/servers/hadoop-2.6.0-cdh5.14.0/hadoop-hdfs-project/hadoop-hdfs-httpfs/downloads/export/servers/hadoop-2.6.0-cdh5.14.0/hadoop-common-project/hadoop-kms/downloads

一:大数据集群安装部署

准备工作

  • 1、 关闭防火墙
[root@node01 ~]# /etc/init.d/iptables stop[root@node01 ~]# chkconfig iptables off
  • 2、 关闭selinux
[root@node01 ~]#vim /etc/selinux/config

  • 3、修改主机名(记得重启:reboot)
[root@node01 ~]# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node01
  • 4、设置主机名和IP的对应
[root@node01 ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 
::1       localhost localhost.localdomain localhost6 localhost6.localdomain6 
#(IP    对应    主机名)
192.168.100.201 node01      
192.168.100.202 node02      
192.168.100.203 node03     远程拷贝到其他节点
[root@node01 ~]# scp /etc/hosts  node02:/etc/(yes/no?)输入yes
[root@node01 ~]# scp /etc/hosts  node03:/etc/
  • 5、ssh无密码拷贝数据
    特别说明(在主节点无密码访问到从节点)
[root@node01 ~]# ssh-keygen -t rsa     (按回车三次)[root@node01 ~]# ssh-copy-id 192.168.100.201  (拷贝ip或node01节点)
[root@node01 ~]# ssh-copy-id 192.168.100.202  (拷贝ip或node01节点)
[root@node01 ~]# ssh-copy-id node03   (拷贝ip或node01节点)(yes/no?)输入yes和密码
[root@node01 ~]# ssh  192.168.100.202  (通过IP远程登录)
[root@node02 ~]# ssh node03            (通过节点远程登录)
  • 6、jdk1.8 安装详情
# 1 创建安装软件包目录 
[root@node01 /]# mkdir -p /export/soft
[root@node01 /]# mkdir -p /export/install[root@node01 /]# cd /export/soft/           (进入到该目录下)
[root@node01 soft]# yum install -y lrzsz    (是否安装)
[root@node01 soft]# rz                      (rz 选择上传配置文件)方法一:绝对路径解压
[root@node01 soft]# tar -zxvf jdk-8u141-linux-x64.tar.gz -C /export/install解压完毕
[root@node01 soft]# cd ../install/         (软件在该目录下)#2. 创建java的配置文件
在/etc/profile.d目录内创建java.sh文件,编辑一下内容
[root@node01 install]# vi /etc/profile.d/java.sh
进入编辑输入该信息
export  JAVA_HOME=/export/install/jdk1.8.0_144        (java 解压后的路径)
export  PATH=$PATH:$JAVA_HOME/bin			($PATH:加上  JAVA_HOME/bin)#3.修改软连接
[root@node01 install]# whereis java
java: /usr/bin/java


让修改立即生效

[root@node01 install]# source /etc/profile    (重新加载配置文件)
[root@node01 install]# jps      		(安装成功)
​29601 Jps
--------------------------------->(node01节点 jdk1.8安装完毕)#拷贝jdk1.8到node02节点上   (r:表示所有)
[root@node01 install]# scp -r export node02:/  #拷贝java.sh的配置文件到node02节点上
[root@node01 install]# scp -r /etc/profile.d/java.sh  node02:/etc/profile.d/
------------------>(每个节点拷贝完都得重新加载配置文件)
[root@node01 install]# source /etc/profile    (重新加载配置文件)
[root@node01 install]# jps      		(安装成功)
​29601 Jps
-------------------->(每个节点修改软连接)
删除软链接
​[root@node01 install]# rm -rf /etc/alternatives/java     
创建软链接
​[root@node01 install]# ln -s /export/install/jdk1.8.0_144/bin/java   /etc/alternatives/java # 再次确认版本号
[root@node01 install]# java -version
java version "1.8.0_144"
[root@node01 install]# jps      		(安装成功)
​29601 Jps

大数据集群准备完毕

二:CDH 分布式环境搭建

安装环境服务部署规划

第一步:上传压缩包并解压

  • 将我们重新编译之后支持snappy压缩的Hadoop包上传到第一台服务器并解压
    第一台机器执行以下命令
[root@node01 ~]# cd /export/soft/
[root@node01 ~]# rz      (rz 选择上传配置文件)解压安装包
[root@node01 ~]# tar -zxvf hadoop-2.6.0-cdh5.14.0.tar.gz -C ../install/

进入目录查看解压是否成功

[root@node01 ~]#  cd /export/soft
[root@node01 soft]# ll
总用量 188112
-rw-r--r--. 1 root root   7110610 8月   7 21:25 apache-tomcat-6.0.53.tar.gz
-rw-r--r--. 1 root root 185515842 10月 10 2017 jdk-8u144-linux-x64.tar.gz
[root@node01 soft]#  cd ../install/
[root@node01 install]# ll
总用量 12
drwxr-xr-x  11 root root 4096 10月 27 07:49 hadoop-2.6.0-cdh5.14.0
drwxr-xr-x.  8 uucp  143 4096 7月  22 2017 jdk1.8.0_144[root@node01 install]# cd hadoop-2.6.0-cdh5.14.0
[root@node01 hadoop-2.6.0-cdh5.14.0]# ll
总用量 140
drwxr-xr-x 2 root root  4096 10月 27 07:36 bin
drwxr-xr-x 3 root root  4096 10月 27 07:36 etc
drwxr-xr-x 6 root root  4096 10月 27 07:36 hadoopDatas
drwxr-xr-x 2 root root  4096 10月 27 07:36 include
drwxr-xr-x 3 root root  4096 10月 27 07:36 lib
drwxr-xr-x 3 root root  4096 10月 27 07:36 libexec
-rw-r--r-- 1 root root 85063 10月 27 07:37 LICENSE.txt
drwxr-xr-x 3 root root  4096 10月 27 07:49 logs
-rw-r--r-- 1 root root 14978 10月 27 07:36 NOTICE.txt
-rw-r--r-- 1 root root  1366 10月 27 07:36 README.txt
drwxr-xr-x 2 root root  4096 10月 27 07:37 sbin
drwxr-xr-x 4 root root  4096 10月 27 07:36 share
[root@node01 hadoop-2.6.0-cdh5.14.0]# pwd
/export/install/hadoop-2.6.0-cdh5.14.0
  • 配置hadoop环境变量
通过拷贝java.sh的方法
[root@node01 hadoop-2.6.0-cdh5.14.0]# cp /etc/profile.d/java.sh  /etc/profile.d/hadoop.sh
编辑Hadoop.sh
[root@node01 hadoop-2.6.0-cdh5.14.0]# vi /etc/profile.d/hadoop.sh
添加如下信息
export HADOOP_HOME=/export/install/hadoop-2.6.0-cdh5.14.0
export PATH=$PATH:$HADOOP_HOME/bin

第二步:查看Hadoop支持的压缩方式以及本地库

  • 第一台机器执行以下命令
[root@node01 /]# cd /export/install/hadoop-2.6.0-cdh5.14.0
验证hadoop支持哪些算法
[root@node01 hadoop-2.6.0-cdh5.14.0]# bin/hadoop checknative

验证hadoop支持哪些算法 bin/hadoop checknative

  • 如果出现openssl为false,那么所有机器在线安装openssl即可,执行以下命令,虚拟机联网之后就可以在线进行安装了
[root@node01 hadoop-2.6.0-cdh5.14.0]# yum -y install openssl-devel


第三步:修改配置文件

  • core-site.xml Hadoop的核心配置文件
  • hdfs-site.xml 存储组件的核心配置文件
  • mapred-site.xml 计算组件的核心配置文件
  • yarn-site.xml 资源调度的核心配置文件
  • 修改core-site.xml
    第一台机器执行以下命令
[root@node01 ]# cd /export/install/hadoop-2.6.0-cdh5.14.0/etc/hadoop[root@node01 hadoop]# vim core-site.xml

把以下代码复制粘贴到 vim core-site.xml

注意节点node01和路径是否相同
<configuration><property><name>fs.defaultFS</name><value>hdfs://node01:8020</value></property><property><name>hadoop.tmp.dir</name><value>/export/install/hadoop-2.6.0-cdh5.14.0/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
    第一台机器执行以下命令
[root@node01 ]# cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop[root@node01 hadoop]# vim hdfs-site.xml

把以下代码复制粘贴到 vim hdfs-site.xml

注意节点node01和路径是否相同
<configuration><!-- NameNode存储元数据信息的路径,实际工作中,一般先确定磁盘的挂载目录,然后多个目录用,进行分割   --> <!--   集群动态上下线 <property><name>dfs.hosts</name><value>/export/install/hadoop-2.6.0-cdh5.14.0/etc/hadoop/accept_host</value></property><property><name>dfs.hosts.exclude</name><value>/export/install/hadoop-2.6.0-cdh5.14.0/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:///export/install/hadoop-2.6.0-cdh5.14.0/hadoopDatas/namenodeDatas</value></property><!--  定义dataNode数据存储的节点位置,实际工作中,一般先确定磁盘的挂载目录,然后多个目录用,进行分割  --><property><name>dfs.datanode.data.dir</name><value>file:///export/install/hadoop-2.6.0-cdh5.14.0/hadoopDatas/datanodeDatas</value></property><property><name>dfs.namenode.edits.dir</name><value>file:///export/install/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/edits</value></property><property><name>dfs.namenode.checkpoint.dir</name><value>file:///export/install/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/snn/name</value></property><property><name>dfs.namenode.checkpoint.edits.dir</name><value>file:///export/install/hadoop-2.6.0-cdh5.14.0/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
    第一台机器执行以下命令
[root@node01 ]# cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop[root@node01 hadoop]# vim hadoop-env.sh

export JAVA_HOME=/export/servers/jdk1.8.0_141

  • 修改mapred-site.xml
    第一台机器执行以下命令
[root@node01 ]# cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop[root@node01 hadoop]# vim mapred-site.xml

把以下代码复制粘贴到 vim mapred-site.xml

注意节点node01和路径是否相同
<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
    第一台机器执行以下命令
[root@node01 ]# cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop[root@node01 hadoop]# vim yarn-site.xml

把以下代码复制粘贴到 vim yarn-site.xml

注意节点node01和路径是否相同
<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文件
    第一台机器执行以下命令
[root@node01 ]# cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop[root@node01 hadoop]# vim slaves     (slaves:表示工作者)
node01      (添加node01为工作者)
node02      (添加node02为工作者)
node03      (添加node03为工作者)

第四步:创建文件存放目录
第一台机器执行以下命令
node01机器上面创建以下目录

[root@node01 /]# mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/tempDatas
[root@node01 /]# mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/namenodeDatas
[root@node01 /]# mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/datanodeDatas 
[root@node01 /]# mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/edits
[root@node01 /]# mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/snn/name
[root@node01 /]# mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/snn/edits


第五步:安装包的分发
第一台机器执行以下命令

[root@node01 /]# cd /export/install/
把安装包拷贝到其他节点上
[root@node01 /]# scp -r hadoop-2.6.0-cdh5.14.0/ node02:/export/install/    (方式一)
[root@node01 /]# scp -r hadoop-2.6.0-cdh5.14.0/ node03:$PWD  (方式二)

第六步:配置Hadoop的环境变量
三台机器都要进行配置Hadoop的环境变量
三台机器执行以下命令

方式一:通过拷贝的方式 hadoop.sh
[root@node01 /]# scp -r /etc/profile.d/hadoop.sh  node02:/etc/profile.d/
方式二:hadoop.sh
[root@node02 /]# vim /etc/profile.d/hadoop.sh
编辑hadoop.sh 添加如下信息
export HADOOP_HOME=/export/install/hadoop-2.6.0-cdh5.14.0
export PATH=:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

配置完成之后生效

[root@node01 /]# source /etc/profile

第七步:集群启动
集群格式化(在主节点,hadoop的安装路径下 bin里 )

  • 要启动 Hadoop 集群,需要启动 HDFS 和 YARN 两个集群
  • 注意:首次启动HDFS时,必须对其进行格式化操作。本质上是一些清理和准备工作,因为此时的 HDFS 在物理上还是不存在的
  • bin/hdfs namenode -format
[root@node01 /]# bin/hdfs 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 即可。

脚本一键启动HDFS、Yarn

  • 如果配置了 etc/Hadoop/slaves 和 ssh 免密登录,则可以使用程序脚本启动所有Hadoop 两个集群的相关进程,在主节点所设定的机器上执行。
  • 启动集群
    node01节点上执行以下命令
    第一台机器执行以下命令
[root@node01 /]# cd /export/servers/hadoop-2.6.0-cdh5.14.0/
[root@node01 hadoop-2.6.0-cdh5.14.0]# sbin/start-dfs.sh
[root@node01 hadoop-2.6.0-cdh5.14.0]# sbin/start-yarn.sh
  • 停止集群:没事儿不要去停止集群
[root@node01 hadoop-2.6.0-cdh5.14.0]# sbin/stop-dfs.sh
[root@node01 hadoop-2.6.0-cdh5.14.0]# sbin/stop-yarn.sh
  • 脚本一键启动所有
一键启动集群
[root@node01 hadoop-2.6.0-cdh5.14.0]# sbin/start-all.sh一键关闭集群
[root@node01 hadoop-2.6.0-cdh5.14.0]# sbin/stop-all.sh

  • 集群启动验证

    从节点jps

  • 哪个节点的服务出现异常,就到哪个节点的log下面找对应的日志
    所有的启动信息(有异常或无异常),都包含在日志中
    集群不要轻易的去格式化(格式化后集群的所有数据都被删除且无法恢复)

第八步:浏览器查看启动页面
hdfs集群访问地址
http://192.168.100.201:50070

yarn集群访问地址
http://192.168.100.201:8088

Hadoop集群初体验

  • HDFS 使用初体验
    从Linux 本地上传一个文本文件到 hdfs 的/test/input 目录下
hadoop fs -mkdir -p /test/input 
hadoop fs -put /root/install.log  /test/input 
  • 在HDFS系统中创建一个文件夹或文件,若能创建表示集群可以
  • HDFS不支持目录或文件夹切换,所有路径必须写成绝对路径
  • HDFS权限与linux 的权限等完全相同
  • HDFS 体验
    创建文件夹
    hadoop fs -mkdir /abc
    上传文件
    hadoop fs -put /opt/a.txt /abc
    查看文件夹内的内容
    hadoop fs -ls /abc
  • mapreduce程序初体验
    在 Hadoop 安装包的 hadoop-2.6.0-cdh5.14.0/share/hadoop/mapreduce 下有官方自带的mapreduce 程序。我们可以使用如下的命令进行运行测试。
    示例程序jar: hadoop-mapreduce-examples-2.6.0-cdh5.14.0.jar
计算圆周率
hadoop jar /export/servers/hadoop-2.6.0-cdh5.14.0/share/hadoop/mapreduce/hadoop-mapreduceexamples-2.6.0-cdh5.14.0.jar pi 10 100

关于圆周率的估算,感兴趣的可以查询资料 Monte Carlo 方法来计算 Pi 值。

  • 第1个10指的是要运行10次map任务
    第2个数字指的是每个map任务,要投掷100次

MapReduce的jobHistory介绍

  • 我们可以通过Hadoop jar的命令来实现我们的程序jar包的运行,关于运行的日志,我们一般都需要通过启动一个服务来进行查看,就是我们的JobHistoryServer,我们可以启动一个进程,专门用于查看我们的任务提交的日志
  • 查看历史执行了哪些任务(所有任务)以及详细日志
    登录到resourceManager所在的节点IP +8088
    访问地址:http://192.168.100.201:8088
  • 需要查看任务的详细信息需要独立开启一个服务JobHistoryServer
    开启服务 ./mr-jobhistory-daemon.sh start historyserver
    访问地址:http://192.168.100.201:19888

第一步:node01修改mapred-site.xml
node01服务器修改mapred-site.xml,添加以下配置

[root@node01 /]# cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vim mapred-site.xml

把以下代码复制粘贴到 vim mapred-site.xml

注意节点node01是否相同
<property><name>mapreduce.jobhistory.address</name><value>node01:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>node01:19888</value></property>

第二步:node01修改yarn-site.xml
node01服务器修改yarn-site.xml,添加以下配置

[root@node01 /]# cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoopvim yarn-site.xml

把以下代码复制粘贴到 vim yarn-site.xml

注意节点node01和路径是否相同
<property><name>yarn.log-aggregation-enable</name><value>true</value>
</property>
<property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value>
</property>
<!--指定文件压缩类型用于压缩汇总日志-->
<property><name>yarn.nodemanager.log-aggregation.compression-type</name><value>gz</value>
</property>
<!-- nodemanager本地文件存储目录-->
<property><name>yarn.nodemanager.local-dirs</name><value>/export/install/hadoop-2.6.0/yarn/local</value>
</property>
<!-- resourceManager  保存最大的任务完成个数 -->
<property><name>yarn.resourcemanager.max-completed-applications</name><value>1000</value>
</property>

第三步:修改后的文件分发(拷贝)到其他机器上面去

  • 将node01修改后的mapred-site.xml和yarn-site.xml分发到其他机器上面去
    node01执行以下命令
[root@node01 /]# cd /export/install/hadoop-2.6.0-cdh5.14.0/etc/hadoopscp mapred-site.xml  yarn-site.xml node02:$PWDscp mapred-site.xml  yarn-site.xml node03:$PWD

第四步:重启yarn集群以及启动jobHistoryServer进程
node01执行以下命令重启yarn集群

[root@node01 /]# cd /export/servers/hadoop-2.6.0-cdh5.14.0/sbin/stop-yarn.shsbin/start-yarn.sh

启动jobhistoryserver

sbin/mr-jobhistory-daemon.sh start historyserver

第五步:页面访问jobhistoryserver
访问地址
192.168.100.201:19888

更多推荐

Big Data第三部分《Hadoop集群搭建》

本文发布于:2023-07-27 22:08:25,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1225236.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:集群   Big   Data   Hadoop

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!