yarn命令是干嘛的(yarn 运行命令)

yarn命令是干嘛的(yarn 运行命令)是耳熟能详的卓越开源分布式文件存储及处理框架 它能让用户轻松地开发处理海量数据的应用程序 其主要优点有 高可靠性 Hadoop 按位存储和处理数据的能力值得人们信赖 高扩展性 Hadoop 在可用的计算机集簇间分配数据并完成计算任务的 这些集簇可以方便地扩展到数以干计的节点中 高效性 Hadoop 能够在节点之间动态地移动数据 并保证各个节点的动态平衡 因此处理速度非常快 高容错性

大家好,我是讯享网,很高兴认识大家。



是耳熟能详的卓越开源分布式文件存储及处理框架,它能让用户轻松地开发处理海量数据的应用程序,其主要优点有:
高可靠性:Hadoop 按位存储和处理数据的能力值得人们信赖。
高扩展性:Hadoop 在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以干计的节点中。
高效性:Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
高容错性:Hadoop自动保存数据的多个副本,并自动将失败任务重分配。
低成本:与一体机、商用数据仓库比,Hadoop 开源软件的成本更低。
随着版本的演进,Hadoop 实现了较好的资源隔离并增加其他特性,这里比较一下Hadoop 1.0和2.0版本的特性差异,Hadoop 1.0由HDFS和MapReduce两个系统组成,存在以下几个缺点:
静态资源配置:即每个节点实现配置好可用的slot总数,这些slot数目一旦启动后无法再动态修改;
资源无法共享:将slot分为Map slot和Reduce slot两种,且不允许共享;
资源划分粒度过大:基于无类别slot的资源划分方法的划分粒度仍过于粗糙,往往会造成节点资源利用率过高或者过低;
无有效资源隔离机制:采用基于jvm的资源隔离机制,过于粗糙,很多资源,如CPU无法进行隔离,这会造成同一个节点上的任务之间干扰严重。
Hadoop 2.0由HDFS、MapReduce和YARN三个系统组成,其中YARN是一个资源管理系统,负责集群资源管理和调度,2.0中YAR允许每个节点(NodeManager)配置可用的CPU和内存资源总量,而中央调度器则会根据这些资源总量分配给应用程序。










 
  
讯享网

  1. 静态IP

进入 /etc/sysconfig/network-scripts/ifcfg-* 修改配置

  • 修改

BOOTPROTO=“static”

ONBOOT=“yes”

  • 追加

IPADDR=“XXX.XXX.XXX.XXX”

GATEWAY=“XXX.XXX.XXX.2”

NETMASK=“XXX.XXX.XXX.0”

DNS1=“114.114.114.114”

  • 重启网络

service network restart

  1. 修改本机名称

vi /etc/hostname

hostnamectl set-hostname pure1 临时修改主机名

  1. 添加虚拟域名并拷贝至子机

/etc/hosts 中追加IP和主机名字,例:

192.168.140.200 pure1

192.168.140.201 pure2

192.168.140.202 pure3

scp /etc/hosts pure2:/etc/

  1. 免密登录
讯享网

  1. 检查CentOS7中是否自带了 , 若有将其卸载后重新安装
 
    

输入 命令删除Java (需删除多次)

讯享网

输入 命令删除Java

 
    

输入 命令查看文件是否已删除

讯享网
  1. 在 /opt 目录下创建 soft(放置安装包) 目录,利用 Xftp 将 上传至 目录下
  2. 解压文件 JDK 文件至 目录下 , 改名为 jdk
 
    
  1. 配置环境变量

vi /etc/profile 目录下的环境变量适用于所有用户

vi /root/.bash_profile 目录下的环境变量只适用于 root 用户。

  • 配置文件中追加内容如下 :
讯享网
  • 配置完成后输入代码使之立刻生效
 
    
  1. 查看 jdk 版本 , 验证是否配置成功
讯享网
  1. 多台机器同步安装JDK

从机经过第一部的检查后,开始从主机向从机进行拷贝

  • 拷贝jdk文件
 
    
  • 拷贝环境变量后从机重启环境

scp /root/.bash_profile pure2:/root

source /root/.bash_profile

  • 验证是否成功

java -version


  1. 配环境

添加环境变量

  • /root/.bash_profile 中追加内容后重启
讯享网

source /root/.bash_profile

  1. 配软件

进入 hadoop/etc/hadoop 目录下配置相关文件

  • 更改 hadoop-env.sh
 
     
  • core-site.xml
讯享网
  • hdfs-site.xml
 
     
  • mapred-site.xml

cp mapred-site.xml.template mapred-site.xml

讯享网
  • yarn-site.xml
 
     
  • slaves

删除localhost,将主、从机的主机名字写入

  1. 搭建Hadoop分布式

将主机配置文件复制到从机上

  • hadoop文件

scp -r /usr/local/src/hadoop pure2:/usr/local/src

scp -r /usr/local/src/hadoop pure3:/usr/local/src

  • 环境变量文件

scp /root/.bash_profile pure2:/root

scp /root/.bash_profile pure3:/root

  1. 测试

子机重启环境变量并测试是否生效

  • 重启环境变量

source /root/.bash_profile

  • 测试是否搭建完成

hadoop version

hdfs namenode -format

start-all.sh

jps

浏览器中访问HDFS的Web网站 : IP:50070 (关闭防火墙后再进入)

主机 : NameNode、NodeManager、DataNode、SecondaryNameNode、ResourceManager

从机 : DataNode、NodeManager

  1. 运行hadoop自带案例
  • 创建txt文件上传至HDFS上

hadoop fs -put /opt/MyHadoopText.txt /

  • 运行hadoop自带单词计数jar包进行测试

hadoop jar /usr/local/src/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /MyHadoopText.txt /out1

注意 : 要把主、从机的防火墙全部关闭

  • 查看结果

hadoop fs -cat /out1/part-r-00000


  1. 配环境

添加环境变量

  • /root/.bash_profile 中追加内容后重启
讯享网

source /root/.bash_profile

  1. 配软件

进入 hadoop/etc/hadoop 目录下配置相关文件

  • 更改 hadoop-env.sh
 
      
  • core-site.xml
讯享网
  • hdfs-site.xml
 
      
  • mapred-site.xml

cp mapred-site.xml.template mapred-site.xml

讯享网
  • yarn-site.xml
 
      
  • slaves

删除localhost,将主、从机的主机名字写入

  1. 搭建HadoopHA

将主机配置文件复制到从机上

  • hadoop文件

scp -r /usr/local/src/hadoop pure2:/usr/local/src

scp -r /usr/local/src/hadoop pure3:/usr/local/src

  • 环境变量文件

scp /root/.bash_profile pure2:/root

scp /root/.bash_profile pure3:/root

  • 重启环境变量

source /root/.bash_profile

  1. 启动HadoopHA
  • 在每台主机上启动zookeeper集群

zkServer.sh start

  • 每台主机上启动journalnode(最好是奇数台基数机器)

hadoop-daemon.sh start journalnode

jps看到 JournalNode 进程

  • 在zookeeper为主机的namenode节点上进行格式化

hdfs namenode -format

(格式化成功后在配置的data目录下,有个dfs,里面有name和data,因为没有启动集群,data是空的因为格式化后暂时没有内容)
(name种存储元数据,data存真数据)
(name下有current,下面有4个文件,就是元数据信息<fsimage…,seen_txid,VERSION>)

  • 格式化成功后在初始化的机器上找到存放数据的data(core-site.xml里面配置的元数据存储目录),拷贝至另一个namenode节点机器上

scp -r /opt/hadoop/data slave1:/opt/hadoop

  • 在任何一个namenode上格式化zookeeper

hdfs zkfc -formatZK

  • 随便在一个namenode节点上启动

start-dfs.sh

访问50070 一个显示 (主机) 一个显示 (备用)

  • 在两个yarn节点上都启动

start-yarn.sh

访问8088 点击about一个显示 (主机) 一个显示 (备用)

注意网址 : IP:/cluster/cluster 两个/cluster

  1. 测试是否配置成功(进行主备切换)
  • 进行namenode主备切换

在主机器上jps显示NameNode的进程号

kill -9 NameNode进程号 , 查看第二个NameNode的50070状态是不是从standby变为active

启动第一台电脑的NameNode
hadoop-daemon.sh start namenode
启动50070状态为standby

  • 进行yarn主备切换

yarn可以用同样的方法测试(resourcemanager)
单点启动yarn的命令为
yarn-daemon.sh start resourcemanager

  1. 查看 服务进程

cd hadoop

bin/hdfs haadmin -getServiceState nn1

bin/hdfs haadmin -getServiceState nn2

回到顶部

  1. 配环境

添加环境变量

  • /root/.bash_profile 中追加内容后重启
讯享网

source /root/.bash_profile

  1. 配软件

进入 spark/conf 目录下配置相关文件

  • spark-env.sh

cp spark-env.sh.template spark-env.sh

 
      
  • slaves

cp slaves.template slaves

删除localhost,将从机的主机名字写入

  1. 搭建Spark集群

将主机配置文件复制到从机上


讯享网

  • spark文件

scp -r /usr/local/src/spark pure2:/usr/local/src

scp -r /usr/local/src/spark pure3:/usr/local/src

  • 环境变量文件

scp /root/.bash_profile pure2:/root

scp /root/.bash_profile pure3:/root

  1. 测试

子机重启环境变量并测试是否生效

  • 重启环境变量

source /root/.bash_profile

  • 测试是否搭建完成

cd spark/sbin

https://download.csdn.net/blog/column//start-all.sh

jps

主机 : Master

从机 : Worker

  1. 普通运行spark内置案例测试spark是否正常

运行测试案例注意关闭防火墙 ! ! !

在程序运行时可以通过 IP:4040 查看运行过程

spark-submit –class org.apache.spark.examples.SparkPi –master spark://pure1:7077 /usr/local/src/spark/examples/jars/spark-examples_2.11-2.0.0.jar 100

若结束后可通过 IP:8080 访问历史记录

cd /spark/sbin

https://download.csdn.net/blog/column//start-history-server.sh

浏览器中输入 IP:8080 (需要关闭防火墙)

  1. spark on yarn 运行案例

完成on yarn相关配置

  • spark-env.sh
讯享网
  • yarn-site.xml

vi /usr/local/src/hadoop/etc/hadoop/

 
      

spark on yarn运行命令

spark-submit –class org.apache.spark.examples.SparkPi –master yarn /usr/local/src/spark/examples/jars/spark-examples_2.11-2.0.0.jar 100


  1. 配环境

添加环境变量

  • /root/.bash_profile 中追加内容后重启
讯享网

source /root/.bash_profile

  1. 配软件

进入 flink/conf 目录下配置相关文件

  • flink-conf.yaml
 
       

注意 : 后一定要有一个空格否则报错 ! ! !

  • slaves

删除原内容,将主机和子机名写入

  1. 配置子机Flink

将主机配置文件复制到从机上

  • flink文件

scp -r /usr/local/src/flink pure2:/usr/local/src

scp -r /usr/local/src/flink pure3:/usr/local/src

  • 环境变量文件

scp /root/.bash_profile pure2:/root

scp /root/.bash_profile pure3:/root

  1. 测试

子机重启环境变量并测试是否生效

  • 重启环境变量

source /root/.bash_profile

  • 测试是否搭建完成

start-cluster.sh

jps

可以进入webUI界面 : IP:8081 (需要关闭防火墙)

主机 : StandaloneSessionClusterEntrypoint、TaskManagerRunner

从机 : TaskManagerRunner

集群启动后TaskManagerRunner不能启动用命令单点启动TaskManager

taskmanager.sh start

  1. 普通运行flink内置案例测试flink是否正常
  • 连接端口 , 向端口发送数据

nc -l -p 端口号

随便输入一些单词,用空格隔开,通过回车发送。

注意 : 若提示找不到nc命令 则使用 下载nc

  • 启动flink中jar包

启动后每隔 5s 进行一次数据更新

讯享网

打开flink下log目录中的 flink-tlj-taskexecutor-O-bogon.out文件,会看到结果,对单词进行了统计。或是在8081的Task Managers中查看

  1. flink on yarn 运行案例
  • yarn-site.xml

vi /usr/local/src/hadoop/etc/hadoop/yarn-site.xml

 
       

flink on yarn运行命令(运行时不检查虚拟内存[yarn-site.xml中可以不用配置运行时不检查虚拟内存])

flink run -m yarn-cluster -p 2 -yjm 2G -ytm 2G $FLINK_HOME/examples/batch/WordCount.jar

flink on yarn运行命令(运行时检查虚拟内存)

flink run -m yarn-cluster /opt/flink/examples/batch/WordCount.jar

输入flink on yarn运行命令报错中含有 运行下面这条后再次运行(或在flink/bin中追加此条命令)

export HADOOP_CLASSPATH=`hadoop classpath`


  1. 检查CentOS7中是否自带了 , 若有将其卸载后重新安装MySql
  • 搜索查看是否有 mariadb 相关文件

rpm -qa|grep mariadb

  • 卸载 mariadb

rpm -e –nodeps mariadb…

卸载完后可以通过搜索再次检查确认

  1. 安装MySql
讯享网
  1. 启动MySQL服务并设置密码
  • 启动MySQL服务

service mysql start

  • 使用MySQL并设置密码
 
        
  • 再次登录时命令

mysql -u root -p

  1. 连接第三方软件(navicat)操作MySQL
  • 授权远程登录权限并刷新权限,否则无法远程连接

mysql> GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ IDENTIFIED BY ‘’ WITH GRANT OPTION;

mysql> FLUSH PRIVILEGES;

注意 : 远程连接时要关闭防火墙,否则无法连接


需提前在机器上配置好jdk、Hadoop、MySQL前置环境,Hive只需要在主机中安装

  1. 配环境

添加环境变量

  • /root/.bash_profile 中追加内容后重启
讯享网

source /root/.bash_profile

  1. 配软件

进入 hive/conf 目录下配置相关文件

  • hive-env.sh

cp hive-env.sh.template hive-env.sh

 
         
  • hive-site.xml

cp hive-default.xml.template hive-site.xml

(1) 改数据库连接地址

/ConnectionURL (搜索结果第二个)

讯享网

注意 : 字段可以随便输入

(2) 改连接数据库的驱动

/ConnectionDriverName

 
         

(3) 登录mysql的账号

/ConnectionUserName

讯享网

(4) 密码

/ConnectionPassword

 
         

(5) 临时数据目录

/querylog.location

讯享网

(6) 存储中间输出结果

/local.scratchdir

 
         

(7) 资源下载的临时目录

/resources.dir

讯享网
  • 输入hive --version查看版本
  • 将mysql驱动包拷贝至Hive下lib中

cp mysql-connector-java-5.1.39.jar /usr/local/src/hive/lib/

若以下任意一步报错则执行此步骤,常见错误为 :

cp jline-2.12.jar /usr/local/src/hadoop/share/hadoop/yarn/lib/

cd hadoop/share/hadoop/yarn/lib/

删除之前存在的jline的版本

  • 初始化hive

schematool -dbType mysql -initSchema

初始化成功后会出现 : Initialization script completed

注意 : 初始化hive之前需要删除mysql中之前创建的hive数据库

  1. 启动hive

启动hive之前必须启动hadoop(单机,、集群、高可用均可),若不启动hadoo常见报错为 :

hive


回到顶部

下载依赖Java和Hadoop,需要提前配置好Java和Hadoop

  1. 配环境

添加环境变量

  • /root/.bash_profile 中追加内容后重启
 
          

source /root/.bash_profile

  1. 配软件

进入 sqoop/conf 目录下配置相关文件

  • sqoop-env.sh

cp sqoop-env-template.sh sqoop-env.sh

讯享网

测试是否安装完成 sqoop version

  1. 测试和mysql的连接情况
  • 将Java连接myql的驱动包拷贝至 sqoop/lib目录下

cp mysql-connector-java-5.1.39.jar /usr/local/src/sqoop/lib/

  • 使用命令测试某个机器上所有的数据库列表

sqoop-list-databases --connect jdbc:mysql://localhost:3306 --username root --password

  • 使用命令测试某个机器上指定数据库中所有的表

sqoop-list-tables --connect jdbc:mysql://localhost:3306/bigdata_db --username root --password

  1. sqoop和mysql进行交互

数据表 : bigdata_db.sql

  • 把mysql某张数据表中的数据导入hdfs中

sqoop import --connect jdbc:mysql://localhost:3306/数据库名 --username root --password --target-dir 结果放入HDFS的路径 --table 表名 --m 1

  • 查看hdfs中是否已经成功导入命令

hdfs dfs -cat /mysql_import/part-m-00000

  • 把mysql某张数据表中的数据导入hdfs中 , 更改分隔符号为 “;”

sqoop import --connect jdbc:mysql://localhost:3306/bigdata_db --username root --password --target-dir /mysql_import --table tb_goods --m 1 --fields-terminated-by ‘;’

  • 将hdfs中数据导出到mysql中

sqoop export --connect jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf-8 --username root --password --table 要导入的数据表名 --export-dir HDFS中的数据路径 --fields-terminated-by ‘;’ --m 1

: 设计表不要处于打开状态 , 表结构全部允许空值 , 没有主键 , 没有递增 , 可以全部设为varchar

  1. 配环境

添加环境变量

  • /root/.bash_profile 中追加内容后重启
 
          

source /root/.bash_profile

  1. 配软件

进入 zookeeper/conf 目录下配置相关文件

  • zoo.cfg

cp zoo_sample.cfg zoo.cfg

讯享网

注意 : 自行在/opt下创建zkData及其目录下文件夹(data,logs)

  • myid

在/opt/zkData/data目录下创建myid

 
          
  1. 搭建zookeeper集群

将环境变量、zookeeper、zkData拷贝至从机 (注意不要忘记更改zkData/data下的myid文件值)

  1. 启动zookeeper

每台电脑输入启动命令

zkServer.sh start

集群中一定有一个zookeeper状态为leader(领导者),输入命令查看 (注意关闭防火墙 ! ! !)

zkServer.sh status

jps查看每台机器下进程有 : QuorumPeerMain


  1. 配环境

添加环境变量

  • /root/.bash_profile 中追加内容后重启
讯享网

source /root/.bash_profile

  1. 配软件

进入 kafka/config 目录下配置相关文件

  • server.properties
 
           

注意 : 、 、在每台主机上的配置内容都不同

  • 将环境变量和kafka拷贝至两台从机

scp -r /usr/local/src/kafka pure2:/usr/local/src

scp -r /usr/local/src/kafka pure3:/usr/local/src

scp /root/.bash_profile pure2:/root

scp /root/.bash_profile pure3:/root

从机上重启环境变量

source /root/.bash_profile

  • 在从机上配置server.properties文件
讯享网
  1. 启动kafka

对每台主机执行以下操作 :

首先需要启动zookeeper

zkServer.sh start

启动完后jps显示 : QuorumPeerMain

kafka-server-start.sh /usr/local/src/kafka/config/server.properties &

  1. kafka测试

任选一台机器执行命令

创建主题

kafka-topics.sh –create –zookeeper 主机名:2181 –replication-factor 1 –partitions 1 –topic (test为主题名称)

查看主题

kafka-topics.sh –zookeeper 主机名:2181 -list

启动集群生产者(发消息)

kafka-console-producer.sh –broker-list 主机IP:9092,从机1IP:9092,从机2IP:9092 –topic (test为主题名称)

在异于生产者的主机上启动集群消费者(收消息)

kafka-console-consumer.sh –bootstrap-server 主机IP:9092,从机1IP:9092,从机2IP:9092 –topic –from-beginning (test为主题名称)

删除主题

bin/kafka-topics.sh –zookeeper 本机IP:2181 –delete –topic (test为主题名称)

根据group查看kafka消费情况 (未测试)

kafka-consumer-groups.sh –new-consumer –bootstrap-server 192.168.140.151:9092 –describe –group test (test为主题名)

结束测试 (先关kafka)

kafka-server-stop.sh

zkServer.sh stop


  1. 配环境

添加环境变量

  • /root/.bash_profile 中追加内容后重启
 
            

source /root/.bash_profile

  1. 配软件

进入 flume/conf 目录下配置相关文件

  • flume-env.sh

cp flume-env.sh.template flume-env.sh

讯享网
  1. 测试
  • 监听 网络端口 发送信息将内容输出到控制台上

(1) 在 flume/conf 目录下创建配置文件,命名随意

vi console.conf

(2) 配置新文件

 
            

(3) 执行命令 (需在flume目录下执行)

bin/flume-ng agent -c conf -f conf/console.conf -name a1 -Dflume.root.logger=INFO,console

(4) 测试

检测网络端口是否被占用

netstat -tunlp | grep 44444

在另一台主机上进行网络信息发送

nc pure1 44444

注意 : 若nc命令找不到则使用 命令下载 , 解决错误办法:关闭防火墙

  • 监听 网络端口 发送信息将内容保存到文件中

将上步骤配置文件更改,其余步骤相同

注意 : 需提前将配置文件中的保存目录创建出来

讯享网
  • 监听 文件变化 收集配置文件到 指定目录

注意 : 需提前建好配置文件中的监听文件

配置文件 file.conf 内容如下

 
            

测试 :

bin/flume-ng agent -c conf -f conf/ -name -Dflume.root.logger=INFO,console

echo “要加入的内容” >> /opt/temp/flumetest.txt

  • 监听 文件变化 收集配置文件到 HDFS

配置文件 hdfs.conf 内容如下

讯享网

测试

bin/flume-ng agent -c conf -f conf/hdfs.conf -name a3 -Dflume.root.logger=INFO,console

echo “要加入的内容” >> /opt/temp/flumetest.txt

修改HDFS文件夹权限

hadoop fs -chmod -R 777 /tmp

查看HDFS文件夹下文件

hadoop fs -ls /tmp/flume



小讯
上一篇 2025-04-18 10:37
下一篇 2025-04-16 08:43

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/177623.html