当前位置:   article > 正文

大数据技术之Hadoop学习(一)_mapred-site.xmltemplate

mapred-site.xmltemplate

目录

一、搭建虚拟机

二、配置

三、Hadoop集群搭建

四、集群体验



http://链接: https://pan.baidu.com/s/14icx_oFkSvFiT5Asxlcw7A?pwd=j6ed 提取码: j6ed

一、搭建虚拟机

1、这里以Centos7为例,准备好Centos7的光驱,和hadoop和jdk的压缩包,hadoop和jdk的压缩包已经放在百度网盘了,有需要可自行提取。

2、创建三台虚拟机,这里我们创建第一台虚拟机hadoop01.bgd01,接下来以图片为例。

 

 

这里将虚拟机命名为hadoop01.bgd01,存放目录可以自行选择。

 

 

这里选择桥接

 

 

 

到这一步,已经初步完成了虚拟机的创建,接下来是配置镜像。

这里选择事先放好的Centos7镜像存放的目录,然后可以开始启动虚拟机了。

启动虚拟机,选择第一个,按回车键确认。

 

点击键盘,这里选择英语(美国)并将其设为第一位。

点击软件选择,选择基本网页服务器,然后选择MariaDB数据库客户端、Web服务器程序引擎、系统管理工具这三个,然后保存。

然后点击安装位置,点击并不做其他配置保存即可。

这里陪配置主机名,点击应用。

接着点击配置,为虚拟机设置IP地址、子网掩码、网关等,在之前先查询本机IP地址,window系统按住win+r键输入cmd,或者直接打开命令提示符,输入ipconfig即可查询IP地址,linux系统输入ifconfig即可查询IP地址,注意这里为虚拟机配置IP地址要在同一网段下,比如作者的电脑的IP地址是192.168.8.117,那么为虚拟机配置的IP地址可以为192,168.8.121,也就说前面三个必须一样。

 网络连接配置可以参照作者的来配置。

 

然后点击开始安装,不设置用户,只创建人root密码。

到这一步,第一台虚拟机已经安装完成,接着以同样的方式再安装两台虚拟机。为了便于后续管理,作者建议三台虚拟机名字分别为,hadoop01、hadoop02、hadoop03。

二、配置

在三台虚拟机上分别输入以下指令。

vi /etc/sysconfig/network-scripts/ifcfg-ens33

 

 按照下面这个进行修改。

BOOTPROTO=static           #使用静态IP地址

接着实行以下指令,关闭防火墙。

  1. 执行如下命令关闭防火墙:
  2. systemctl stop firewalld
  3. 执行如下命令关闭防火墙开机启动:
  4. systemctl disable firewalld
  5. 执行命令成功后,会出现如下2行信息。
  6. Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
  7. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

在hadoop.bgd01的etc目录下hosts文件添加IP地址和主机名映射表。

  1. vi /etc/hosts
  2. 127.0.0.1 localhost localhost.hugs localhost4 localhost4.localdomain4
  3. ::1 localhost localhost.hugs localhost6 localhost6.localdomain6
  4. 192.168.16.121 hadoop01.bgd01
  5. 192.168.16.122 hadoop02.bgd01
  6. 192.168.16.123 hadoop03.bgd01

 

 接下来配置ssh免密登录,

  1. 在hadoop01.bgd01上,进入root用户主目录 /root,执行如下命令,生成 .ssh 目录和密匙对及免密登录授权文件:
  2. 执行如下命令,生成密匙对:
  3. ssh-keygen -t rsa
  4. 下面是生成密匙对的过程:
  5. Generating public/private rsa key pair. #提示生成 公/私 密匙对
  6. Enter file in which to save the key (/root/.ssh/id_rsa): #提示保存私匙的目录路径及文件名,按回车
  7. Created directory '/root/.ssh'. #在“/root”下创建了“.ssh”目录
  8. Enter passphrase (empty for no passphrase): #提示输入密码短语,如果不需要,按回车
  9. Enter same passphrase again: #提示再次输入相同密码短语,如果不需要,按回车
  10. Your identification has been saved in /root/.ssh/id_rsa. #生成了密匙文件id_rsa
  11. Your public key has been saved in /root/.ssh/id_rsa.pub. #生成了公匙文件id_rsa.pub
  12. 分别在hadoop02.bgd01、hadoop03.bgd01上执行相同的操作,生成密钥。
  13. 将公钥合并到hadoop01.bgd01上的authorized_keys文件中。
  14. 分别在hadoop01.bgd01、hadoop02.bgd01、hadoop03.bgd01上执行如下命令:
  15. ssh-copy-id hadoop01.bgd01
  16. 出现如下提示时,按#提示操作:
  17. Are you sure you want to continue connecting (yes/no)? #输入"yes"
  18. root@hadoop01.hugs's password: #输入hadoop01.bgd01的root账号密码
  19. 这样就完成了对公匙的合并。hadoop01.bgd01的“/root/.ssh”目录下会产生公匙授权文件 authorized_keys。其实该步操作是将三台主机上id_rsa.pub中的内容合并添加到authorized_keys中。
  20. 实现hadoop01、hadoop02、hadoop03之间的相互免密码登录。
  21. 在hadoop01上执行如下命令,将hadoop01上的公匙授权文件 authorized_keys 同步分发给hadoop02到hadoop03 :
  22. scp /root/.ssh/authorized_keys hadoop02.bgd01:/root/.ssh/
  23. 执行该命令时,会提示输入hadoop02.bgd01的root登录密码,输入相应密码即可。
  24. scp /root/.ssh/authorized_keys hadoop03.bgd01:/root/.ssh/
  25. 执行该命令时,会提示输入hadoop03.bgd01的root登录密码,输入相应密码即可。
  26. 以后三台主机之间,相互登录其它主机就不需要输入密码了。登录命令如下:
  27. ssh 主机名称

这里配置完以后可以使用远程登录软件,远程连接三台虚拟机,远程连接工具已经放在百度网盘需要可自行下载。

三、Hadoop集群搭建

  1. 在hadoop01.bgd01上创建以下文件
  2. 在根目录“/”下创建3个目录
  3. /export/data/ :存放数据类文件
  4. /export/servers/ :存放服务类文件
  5. /export/software/ :存放安装包文件
  6. mkdir -p /export/software /export/servers /export/data

1、配置jdk

  1. 预备工作-在主机hadoop01上安装上传文件工具rz软件
  2. yum install lrzsz -y
  3. 进入/export/sofewate目录下输入rz上传jdk
  4. cd /export/software
  5. rz
  6. 解压jdk到/export/servers目录下
  7. tar -zvxf jdk-8u333-linux-x64.tar.gz -C /export/servers/
  8. 进入到/export/servers目录下对jdk进行重命名。
  9. cd /export/servers
  10. mv jdk1.8.0_333/ jdk
  11. 配置环境变量
  12. vi /etc/profile
  13. export JAVA_HOME=/export/servers/jdk
  14. export PATH=$JAVA_HOME/bin:$PATH
  15. export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  16. 保存后退出。然后执行 "source /etc/profile"指令使配置文件生效。
  17. 使用如下命令验证JDK安装是否成功,如果成功,会出现版本等信息。
  18. java -version

 

 

 

2、配置hadoop

  1. 进入/export/software/目录下对hadoop进行解压
  2. cd /export/software/
  3. tar -zxvf hadoop-2.10.1.tar.gz -C /export/servers/
  4. /etc/profile文件中, 配置 Hadoop 系统环境变量
  5. 执行如下命令:
  6. vi /etc/profile
  7. 添加如下2行:
  8. export HADOOP_HOME=/export/servers/hadoop-2.10.1
  9. export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  10. 保存后退出。
  11. 执行如下命令,使配置文件生效:
  12. source /etc/profile
  13. 使用如下命令验证hadoop安装是否成功,如果成功,会出现版本等信息。
  14. hadoop version

接下对hadoop集群的文件进行修改

  1. cd /export/servers/hadoop-2.10.1/etc/hadoop/
  2. 修改 hadoop-env.sh 文件
  3. vi hadoop-env.sh
  4. export JAVA_HOME=/export/servers/jdk

 

  1. 修改 core-site.xml 文件
  2. <configuration>
  3. <!-- 设置Hadoop的文件系统,由URI指定 -->
  4. <property>
  5. <name>fs.defaultFS</name>
  6. <value>hdfs://hadoop01.bgd01:9000</value>
  7. </property>
  8. <!-- 配置Hadoop的临时目录,默认 /tmp/hadoop-$(user.name) -->
  9. <property>
  10. <name>hadoop.tmp.dir</name>
  11. <value>/export/servers/hadoop-2.10.1/tmp</value>
  12. </property>
  13. </configuration>

 

  1. 修改 hdfs-site.xml 文件
  2. <configuration>
  3. <!-- 指定HDFS的副本数量 -->
  4. <property>
  5. <name>dfs.replication</name>
  6. <value>3</value>
  7. </property>
  8. <!-- 设置第二namenode所在主机的IP和端口 -->
  9. <property>
  10. <name>dfs.namenode.secondary.http-address</name>
  11. <value>hadoop02.bgd01:50090</value>
  12. </property>
  13. </configuration>

 

  1. 修改 mapred-site.xml 文件
  2. 先将mapred-site.xml.template 复制到 mapred-site.xml
  3. cp mapred-site.xml.template mapred-site.xml
  4. vi mapred-site.xml
  5. <configuration>
  6. <!-- 指定MapReduce运行时框架,这里指定在YARN上,默认是local -->
  7. <property>
  8. <name>mapreduce.framework.name</name>
  9. <value>yarn</value>
  10. </property>
  11. </configuration>

 

  1. 修改 yarn-site.xml 文件
  2. (根据该节点上可用的物理内存总量调整yarn.nodemanager.resource.memory-mb的值,文件中是2048M,默认是8192M;如果节点内存不够8GB,则需要调整,否则NodeManager进程无法启动或者启动后自动结束)
  3. <configuration>
  4. <!-- 指定YARN集群的管理者(ResourceManager)的地址 -->
  5. <property>
  6. <name>yarn.resourcemanager.hostname</name>
  7. <value>hadoop01.bgd01</value>
  8. </property>
  9. <property>
  10. <name>yarn.nodemanager.aux-services</name>
  11. <value>mapreduce_shuffle</value>
  12. </property>
  13. </configuration>

 

  1. 修改 slaves 文件
  2. hadoop01.bgd01
  3. hadoop02.bgd01
  4. hadoop03.bgd01
  5. 注:上述配置中,hadoop01.bgd01、hadoop02.bgd01、hadoop03.bgd01是主机名称,每个人根据自己的情况进行修改。

 

  1. 将集群主节点的配置文件和/export整个目录分发到其它节点
  2. 完成Hadoop集群主节点hadoop01的配置后,还需要将系统环境配置文件、JKD安装目录和Hadoop安装目录分发到子节点hadoop02和hadoop03上。具体指令如下:
  3. /export整个目录分发到其它节点"/"目录下:
  4. scp -r /export hadoop02.bgd01:/
  5. scp -r /export hadoop03.bgd01:/
  6. 将配置文件/etc/profile分发到其它节点:
  7. scp /etc/profile hadoop02.bgd01:/etc/profile
  8. scp /etc/profile hadoop03.bgd01:/etc/profile
  9. 执行完上述命令后,还需在hadoop02、hadoop03上分别执行"source /etc/profile"指令立即刷新配置文件。

 Hadoop集群测试

  1. 格式化HDFS文件系统
  2. hdfs namenode -format
  3. 执行格式化指令后必须出现 successfulluy formatted 才表示格式化成功。
  4. 在Hadoop01上启动所有HDFS服务进程
  5. start-dfs.sh
  6. 在Hadoop01上启动所有YARN服务进程
  7. start-yarn.sh
  8. 开启所有服务
  9. start-all.sh
  10. 查看服务进程
  11. 集群启动后,如果正常,执行命令:
  12. JPS
  13. 查看进程。
  14. hadoop01上可以查看到如下进程:
  15. ResourceManager
  16. NodeManager
  17. JPS
  18. DataNode
  19. NameNode
  20. hadoop02上可以查看到如下进程:
  21. NodeManager
  22. JPS
  23. DataNode
  24. SecondaryNameNode
  25. hadoop03上可以查看到如下进程:
  26. NodeManager
  27. JPS
  28. DataNode
  29. 通过UI查看Hadoop运行状态
  30. 在浏览器中查看和管理集群。
  31. Hadoop状态查看
  32. http://hadoop01.bgd01:50070/dfshealth.html
  33. HDFS状态查看
  34. http://hadoop01.bgd01:50070/explorer.html
  35. YARN状态查看
  36. http://hadoop01.hugs:8088/cluster
  37. 关闭Hadoop集群
  38. 在Hadoop01上关闭所有YARN服务进程
  39. stop-yarn.sh
  40. 在Hadoop01上关闭所有HDFS服务进程
  41. stop-dfs.sh
  42. 关闭所有服务
  43. stop-all.sh

 

 

 

四、集群体验

  1. /export/data下创建文件 word.txt,内容如下:
  2. hello itcast
  3. hello itheima
  4. hello hadoop
  5. vi /export/data/word.txt
  6. 在HDFS上创建目录
  7. hadoop fs -mkdir -p /wordcount/input #-p参数表示递归创建,与Linux的mkdir命令一致
  8. 上传文件word.txt
  9. hadoop fs -put word.txt /wordcount/input/
  10. 查看 HDFS 上 /wordcount/input/ 目录下的内容
  11. hadoop fs -ls /wordcount/input/
  12. 进行词频统计
  13. cd /export/servers/hadoop-2.10.1/share/hadoop/mapreduce
  14. hadoop jar hadoop-mapreduce-examples-2.10.1.jar wordcount /wordcount/input /wordcount/output
  15. 打开HDFS的UI界面,查看HDFS中词频统计结果
  16. /wordcount/output/part-r-00000 中是统计结果

 

 

 

 

 

 

 

 

 

 

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/398773
推荐阅读
相关标签
  

闽ICP备14008679号