Hadoop部署


前期准备 (1)JAVA_HOME:因为Hadoop的配置文件中依赖 $JAVA_HOME。修改/etc/profile文件。 (2)hostname:修改主机名,方便管理。/etc/sysconfig/network。 (3)ip hostname:方便管理,hadoop默认是使用hostname作为ip的域名。/etc/hosts。 (4)iptables stop:关闭防火墙,由于集群需要用到的端口比较多,所以最好是先关掉。7版本:systemctl stop firewalld (5)visudo:赋予sudo权限,CentOS中其他用户都没有sudo权限。/etc/sudoers。 (6)chown:更改hadoop文件夹的所有者。sudo chown -R user:group hadoop。 (7)验证:在hadoop根目录输入 bin/hadoop,验证是否配置正常。 (8)hadoop-env.sh添加 JAVA_HOME变量。   1,单机部署 ··· 以wordcount为例:     (1)输入数据:在根目录下创建 wcinput文件夹,并添加word.txt文件。     (2)执行命令:bin/hadoop jar share/hadoop/mapreduce/......jar wordcount wcinput wcoutput   # 注意:根目录不能存在wcoutput目录,必须由hadoop创建。     (3)查看输出:cat wcoutput/part-00000。   2,伪分布式部署 ··· 以wordcount为例:     (1)修改core-site.xml 文件                                                                    fs.defaultFS                     hdfs://hostname:8020                                                                          hadoop.tmp.dir                     /opt/app/hadoop/data/tmp                                   (2)修改hdfs-site.xml文件                                                                    dfs.replication                     1                                   (3)对HDFS进行格式化             bin/hadoop namendoe -format             注意:只可以格式化一次,如果再次格式化,需要删除配置的临时文件目录 data文件夹     (4)启动NameNode和DataNode进程             sbin/hadoop-daemon.sh start namenode             sbin/hadoop-daemon.sh start datanode             注意:                 启动NameNode时一定要联网。                 可以通过jps查看进程是否启动。                 可以通过web访问HDFS(http://主机IP(或域名):50070/explorer.html#     (5)上传文件到HDFS             创建文件夹:bin/hdfs dfs -mkdir /input             添加文件到HDFS的input目录:bin/hdfs dfs -put input.txt  /input             查看是否上传成功:bin/hdfs dfs -ls /input     (6)运行与查看             运行:bin/hadoop  jar  share/..../....jar  wordcount  /input  /output             查看结果:bin/hdfs dfs -cat /output/par*   ··· 在YARN上运行MapReduce     (1)复制一份 mapred-site.xml文件             cp mapred-site.xml.template  mapred-site.xml     (2)配置 MapReduce的计算框架为yarn                                           mapreduce.framework.name                 yarn                  (3)配置yarn-site.xml文件                                           yarn.nodemanager.aux-services                 mapreduce_shuffle                  (4)启动             sbin/yarn-daemon.sh start resourcemanager             sbin/yarn-daemon.sh start nodemanager             或者:start-yarn.sh             通过:http://hostname:8088 查看yarn上执行的程序。   ··· 配置历史服务器和日志聚集:     (1)配置mapred-site.xml文件                                           mapreduce.jobhistory.address                 mini:10020                                                          mapreduce.jobhistory.webapp.address                 mini:19888                    (2)启动         sbin/mr-jobhistory-daemon.sh start historyserver  # 启动历史服务器         查看:http://hadoop11:19888       (3)日志聚集         作用:在MR任务运行结束后,将相关的运行日志上传到HDFS文件系统中。         配置yarn-site.xml文件:                                           yarn.log-aggregation-enable                 true                                                          yarn.log-aggregation.retain-seconds                 604800                      配置完后需要 重启 历史服务器和 yarn   ··· 注意事项:     · start-dfs.sh 可以一次启动NameNode、DataNode和 SecondaryNameNode,但是需要输入三次密码,可以通                    过设置本地免密登录,来面输密码;ssh-copy-id -i ~/.ssh/id_rsa.pub  shendeng@hadoop11(本地主机名)。     · start-yarn.sh 可以一次启动 resourcemanager和nodemanager。   3,完全分布式 ··· 集群规划
hadoop11 hadoop22 hadoop33
NameNode ResourceManager SecondaryNameNode
DataNode DataNode DataNode
NodeManager NodeManager NodeManager
    HistoryServer
  ··· 5个配置文件 · core-site.xml:配置hadoop的文件系统为hdfs以及地址、临时文件夹位置。 · hdfs-site.xml:配置SecondaryNameNode的主机地址、NameNode的web地址、关闭文件系统的权限控制。 · yarn-site.xml:配置ResourceManager主机的位置、shuffle服务、开启日志聚集功能、日志保存的时间。 · mapred-site.xml:配置MapReduce的计算框架为yarn、MapReduce历史记录地址、历史记录web地址。 · slaves:在该文件中添加从节点的主机名(注意不能有空格)。 具体配置文件 提取码:0gkn   ··· 启动 · 复制配置文件:     将配置文件复制到其他节点上。scp -r /opt/app/hadoop27/etc/hadoop/   hadoop22:/opt/app/hadoop27/etc/ · 初始化NameNode节点:     注意:必须删除 /tmp和 hadoop根目录中的 data/tmp文件,否则无法初始化     在部署NameNode的节点上初始化NameNode。hadoop namenode -format · 启动守护进程     在部署NameNode的节点上启动 HDFS。start-hdfs.sh     在部署resourcemanager的节点上启动YARN。start-yarn.sh