hadoop(二:hadoop3.3.0搭建,HDFS shell 命令,MapReduce程序)

 

 3台: 

hadoop集群
名称IP
hadoop01192.168.204.130
hadoop02192.168.204.131
hadoop03192.168.204.132

目录

1:下载jdk,镜像:

2:创建文件夹

1:在/创建mwd文件夹放压缩包

2:在/usr/lib/目录下创建jvm文件放jdk

3:创建/data/hadoop目录放hadoop

3:解压安装包更改haoop名字

1:解压jdk-8u161-linux-x64.tar.gz

2:解压hadoop3.3.0

3:把/data/hadoop 下面hadoop-3.3.0重命名为app

4:配置jdk,hadoop环境

1:编辑/etc/profile文件添加

2:刷新一下用户配置

3:查看配置

5:hadoop配置

1:进入hadoop配置目录

2:配置hadoop-env.sh

3:配置core-site.xml

4:配置vim hdfs-site.xml文件

5:配置mapred-site.xml

6:配置yarn-site.xml

7:配置workers文件

6:分发目录

1:在执行scp命令之前,请确保目标目录存在或根据需要进行创建。可以使用以下命令创建目录如果有就没有必要执行

2:分发环境目录

3:分发jdk目录

4:分发hadoop目录

5:刷新一下hadoop02 hadoop03用户配置

6:查看hadoop02 hadoop03配置

7:格式化NameNode

8:启动和停止hadoop

1:全部启动和停止HDFS 和YARN

2:jps查看进程

9:通过WEB管理界面查看集群状态

10:HDFS shell 命令

1:查看

2:创建文件夹

3:上传文件到HDFS

4:查看HDFS文件内容

5:向HDFS下载文件到当前文件夹下

6:追加数据到HDFS文件中(小文件合并)

7:HDFS删除文件

11:MapReduce程序

1:评估pi的值

2:WordCoun概述


1:下载jdk,镜像:

1下载hadoop3.3.0.tar.gz

2下载jdk-8u161-linux-x64.tar.gz

jdk-8u161-linux-x64.tar.gz

2:创建文件夹

1:在/创建mwd文件夹放压缩包

mkdir /mwd

2:在/usr/lib/目录下创建jvm文件放jdk

mkdir /usr/lib/jvm

3:创建/data/hadoop目录放hadoop

mkdir -p /data/hadoop

3:解压安装包更改haoop名字

1:解压jdk-8u161-linux-x64.tar.gz

cd /mwd 
tar -zxvf jdk-8u161-linux-x64.tar.gz -C/usr/lib/jvm

2:解压hadoop3.3.0

cd /mwd
tar -zxvf hadoop-3.3.0.tar.gz -C/data/hadoop

3:把/data/hadoop 下面hadoop-3.3.0重命名为app

cd /data/hadoop/
mv /data/hadoop/hadoop-3.3.0 app

4:配置jdk,hadoop环境

1:编辑/etc/profile文件添加

vim /etc/profile
#配置java路径
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_161
export PATH=$JAVA_HOME/bin:$PATH 
#配置hadoop路径
export HADOOP_HOME=/data/hadoop/app 
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
#指定进程的用户名字
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

2:刷新一下用户配置

source /etc/profile

3:查看配置

java -version
hadoop version

5:hadoop配置

1:进入hadoop配置目录

cd /data/hadoop/app/etc/hadoop/

2:配置hadoop-env.sh

vim hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_161

3:配置core-site.xml

vim core-site.xml
<configuration>
  <!--设置默认使用的文件系统Hadoop支持file,HDFS,GFS,ali|Amazon云等文件系统 -->
    <property>
            <name>fs.defaultFS</name>
            <value>hdfs://hadoop01:8020</value>
    </property>
  <!--于指定文件读写时的缓冲区大小。缓冲区是一块内存区域,用于临时存储文件数据,以提高文件读写的性能-->
    <property>
            <name>io.file.buffer.size</name>
            <value>131072</value>
    </property>
  <!--文件系统垃圾桶保存时间-->
    <property>
            <name>fs.trash.interval</name>
            <value>1440</value>
    </property>
     
  <!--设置Hadoop本地保存数据路径-->
    <property>
            <name>hadoop.tmp.dir</name>
            <value>/data/hadoop/temp</value>
    </property>
  
  <!-- 设置HDFS web UI用户身份-->
    <property>
            <name>hadoop.http.staticuser.user</name>
            <value>root</value>
    </property>
  
  <!--整合hive用户代理设置-->
    <property>
            <name>hadoop.proxyuser.root.hosts</name>
            <value>*</value>
    </property>
  
  <!--配置Hadoop代理用户(proxyuser)的用户组(groups)权限-->
    <property>
           <name>hadoop.proxyuser.root.groups</name>
           <value>*</value>
     </property>
</configuration>

4:配置vim hdfs-site.xml文件

vim hdfs-site.xml
<configuration>
  <!--设置SNN进程运行机器位置信息-->
    <property>
           <name>dfs.namenode.secondary.http-address</name>
           <value>hadoop02:9868</value>
    </property>
</configuration>

5:配置mapred-site.xml

vim mapred-site.xml
<configuration>
  <!--设置MR程序默认运行模式:YARN集群模式 local本地模式-->
    <property>
           <name>mapreduce.framework.name</name>
           <value>yarn</value>
    </property>
  <!--MR程序历史服务地址-->
     <property>
           <name>mapreduce.jobhistory.webapp.address</name>
           <value>hadoop01:10020</value>
     </property>
  <!--MR程序历史服务器web端地址-->
      <property>
           <name>mapreduce.jobhistory.webapp.address</name>
           <value>hadoop01:19888</value>
      </property>  
  <!---->
    <property>
          <name>yarn.app.mapreduce.am.env</name>
          <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
  <!---->
    <property>
          <name>mapreduce.map.env</name>
          <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
  <!---->
    <property>
          <name>mapreduce.reduce.env</name>
          <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
</configuration>

6:配置yarn-site.xml

vim yarn-site.xml
<configuration>
  <!--设置YARN集群主角色运行机器位置-->
    <property>
          <name>yarn.resourcemanager.hostname</name>
          <value>hadoop01</value>
    </property>
  <!---->
    <property>
          <name>yarn.nodemanager.aux-services</name>
          <value>mapreduce_shuffle</value>
    </property>
  <!--是否对容器实施物理内存限制-->
     <property>
            <name>yarn.nodemanager.pmem-check-enabled</name>
            <value>false</value>
     </property> 
   <!--开启日志聚集-->
     <property>
            <name>yarn.log-aggregation-enable</name>
            <value>true</value>
     </property>
    <!--设置yare历史服务器地址-->  
     <property>
            <name>yarn.log.server.url</name>  
            <value>http://hadoop01:1988/jobnistory/logs</value>
     </property>
</configuration>

7:配置workers文件

vim workers
hadoop01
hadoop02
hadoop03

6:分发目录

1:在执行scp命令之前,请确保目标目录存在或根据需要进行创建。可以使用以下命令创建目录如果有就没有必要执行

ssh root@hadoop02 "mkdir -p /data/hadoop"
ssh root@hadoop02 "mkdir -p usr/lib/jvm/jdk1.8.0_161/"
ssh root@hadoop03 "mkdir -p /data/hadoop"
ssh root@hadoop03 "mkdir -p usr/lib/jvm/jdk1.8.0_161/" 

2:分发环境目录

scp -r /etc/profile root@hadoop02:/etc/profile
scp -r /etc/profile root@hadoop03:/etc/profile

3:分发jdk目录

scp -r /usr/lib/jvm/jdk1.8.0_161/ root@hadoop02:/usr/lib/jvm/
scp -r /usr/lib/jvm/jdk1.8.0_161/ root@hadoop03:/usr/lib/jvm/

4:分发hadoop目录

scp -r /data/hadoop/app/ root@hadoop02:/data/hadoop/
scp -r /data/hadoop/app/ root@hadoop03:/data/hadoop/

5:刷新一下hadoop02 hadoop03用户配置

source /etc/profile

6:查看hadoop02 hadoop03配置

java -version
hadoop version

7:格式化NameNode

规划中是hadoop01作为NameNode,在该机器下进行格式化:

hadoop namenode -format

格式化NameNode成功的控制台日志如下:

8:启动和停止hadoop

1:全部启动和停止HDFS 和YARN

start-all.sh 
stop-all.sh

2:jps查看进程

jps
[root@hadoop01 ~]# jps
4691 DataNode      #从角色  HDES
5494 NodeManager   #从角色  YNRN
7190 Jps
5294 ResourceManager
4495 NameNode      #主角色  HDFS

[root@hadoop02 ~]# jps
6275 Jps
4313 DataNode           #从角色  HDES
4476 SecondaryNameNode  # 主角色辅助角色  HDFS
4733 NodeManager        #从角色  YNRN

[root@hadoop03 ~]# jps
6266 Jps
4315 DataNode     #从角色  HDES
4668 NodeManager  #从角色  YNRN

9:通过WEB管理界面查看集群状态

访问入口如下:

  • HDFS入口:http://192.168.204.130:9870 或者 hdoop01:9870(来自于hdfs-site.xmldfs.http.address配置项)(如果hadoop01:9870访问不了可能是没有在主机上添加IP win(在主机上可以ping hadoop01))

  • YARN入口:http://192.168.204.130:8088/cluster或者 hdoop01:8088(ResourceManager所在节点的8088端口)

10:HDFS shell 命令

1:查看

hadoop fs -ls file:///  #查看本地文件系统
hadoop fs -ls hdfs://hadoop01:50070/ #读取HDFS里面目录
hadoop fs -ls /   #读取HDFS里面目录core-site.xml配置好了
hadoop fs -ls -h /
hadoop fs -ls -R / #递归查看目录和子目录

2:创建文件夹

hadoop fs -mkdir /itcast #在hdfs更目录下创建itcast目录
hadoop fs -mkdir -p /itcast/iter  #在hdfs上递归创建目录

3:上传文件到HDFS

hadoop fs -put anaconda-ks.cfg /itcast #上传文件到HDFS下的itcast目录下

4:查看HDFS文件内容

hadoop fs -cat /1.txt

5:向HDFS下载文件到当前文件夹下

hadoop fs -get anaconda-ks.cfg ./ 

6:追加数据到HDFS文件中(小文件合并)

hadoop fs -appendToFile 2.txt 3.txt /1.txt

7:HDFS删除文件

hdfs dfs -rm <文件路径>
hdfs dfs -rm -r <文件夹路径>

11:MapReduce程序

示例程序路径

cd /data/hadoop/app/share/hadoop/mapreduce/

示例程序

hadoop-mapreduce-examples-3.3.0.jar

MapReduce程序提交命令

hadoop jar hadoop-mapreduce-examples-3.3.0.jar..

1:评估pi的值

 

cd /data/hadoop/app/share/hadoop/mapreduce/
hadoop jar hadoop-mapreduce-examples-3.3.0.jar pi 100 200

2:WordCoun概述

上传1.txt文件(里面是一些单词)到HDFS

1.txt

 hadoop jar hadoop-mapreduce-examples-3.3.0.jar wordcount /input /outp

 

 

  • 29
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值