设为首页 收藏本站
查看: 760|回复: 0

[经验分享] Hadoop 2.7.5 集群搭建基于CentOS7u3-balich

[复制链接]

尚未签到

发表于 2018-10-28 14:22:28 | 显示全部楼层 |阅读模式
  记录在64位CentOS 7环境下搭建Hadoop 2.7集群的步骤,这些记录都仅供参考!

1、操作系统环境配置

1.1、操作系统环境

主机名
IP地址
角色
Hadoop用户
hadoop-master
192.168.30.60
NameNode、ResourceManager、SecondaryNameNode
hadoop
hadoop-slave01
192.168.30.61
DataNode、NodeManager
hadoop
hadoop-slave02
192.168.30.62
DataNode、NodeManager
hadoop
hadoop-slave03
192.168.30.63
DataNode、NodeManager
hadoop
1.2、关闭防火墙和SELinux

1.2.1、关闭防火墙
  

$ systemctl stop firewalld  
$ systemctl disable firewalld
  

1.2.2、关闭SELinux
  

$ setenforce 0  
$ sed -i 's/enforcing/disabled/' /etc/sysconfig/selinux
  

  注:以上操作需要使用root用户

1.3、hosts配置
  $ vi /etc/hosts
  

########## Hadoop host ##########  
192.168.30.60   hadoop-master
  
192.168.30.61   hadoop-slave01
  
192.168.30.62   hadoop-slave02
  
192.168.30.63   hadoop-slave03
  

  注:以上操作需要使用root用户,通过ping 主机名可以返回对应的IP即可

1.4、配置无密码访问
  首先要创建hadoop用户,然后在4台主机上使用hadoop用户配置无密码访问,所有主机的操作相同,以hadoop-master为例
  生成私钥和公钥
  $ ssh-keygen -t rsa
  拷贝公钥到主机(需要输入密码)
  

$ ssh-copy-id hadoop@hadoop-master  
$ ssh-copy-id hadoop@hadoop-slave01
  
$ ssh-copy-id hadoop@hadoop-slave02
  
$ ssh-copy-id hadoop@hadoop-slave03
  

  注:以上操作需要在hadoop用户,通过hadoop用户ssh到其他主机不需要密码即可。

2、Java环境配置

2.1、下载JDK
  注:使用hadoop用户操作
  

$ cd /home/hadoop  
$ curl -o jdk-8u151-linux-x64.tar.gz http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz?AuthParam=1516091623_fa4174d4b1eed73f36aa38230498cd48
  

2.2、安装java
  安装java可使用hadoop用户操作;
  

$ mkdir -p /home/hadoop/app/java  
$ tar -zxf jdk-8u151-linux-x64.tar.gz
  
$ mv jdk1.8.0_151 /home/hadoop/app/java/jdk1.8
  


  • 配置Java环境变量:  $ vi /home/hadoop/.bash_profile

  

export JAVA_HOME=/home/hadoop/app/java/jdk1.8  
export JRE_HOME=$JAVA_HOME/jre

  
export>  
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
  

  启用环境变量
  $ source /home/hadoop/.bash_profile
  注:通过java –version命令返回Java的版本信息即可

3、Hadoop安装配置
  hadoop的安装配置使用hadoop用户操作;

3.1、安装Hadoop


  • 下载hadoop 2.7.5
  $ curl -O http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.5/hadoop-2.7.5.tar.gz


  • 创建hadoop安装目录
  $ mkdir -p /home/hadoop/app/hadoop/{tmp,hdfs/{data,name}}


  • 解压hadoop文件并移动到hadoop安装目录下
  $ tar zxf tar -zxf hadoop-2.7.5.tar.gz -C /home/hadoop/app/hadoop

3.2、配置Hadoop
  Hadoop配置文件都是XML文件,使用hadoop用户操作即可;

3.2.1、配置core-site.xml
  $ vi /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/core-site.xml
  

  
  hadoop.tmp.dir
  file:/home/hadoop/app/hadoop/tmp
  
  
  fs.defaultFS
  hdfs://hadoop-master:9000
  
  
  io.file.buffer.size
  131072
  
  

  

  core-site默认参数参考

3.2.2、配置hdfs-site.xml
  $ vi /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/hdfs-site.xml
  

  
  dfs.replication
  3
  
  
  dfs.namenode.name.dir
  /home/hadoop/app/hadoop/hdfs/name
  
  
  dfs.datanode.data.dir
  /home/hadoop/app/hadoop/hdfs/data
  
  
  dfs.webhdfs.enabled
  true
  
  

  

  hdfs-site默认参数配置

3.2.3、配置mapred-site.xml
  mapred-site.xml需要从一个模板拷贝在修改
  $ cp /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/mapred-site.xml.template /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/mapred-site.xml
  $ vi /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/mapred-site.xml
  

  
  mapreduce.framework.name
  yarn
  
  
  mapreduce.jobhistory.address
  hadoop-master:10020
  
  
  mapreduce.jobhistory.webapp.address
  hadoop-master:19888
  
  
  mapreduce.jobhistory.done-dir
  /history/done
  
  
  mapreduce.jobhistory.intermediate-done-dir
  /history/done_intermediate
  
  

  

  mapred-site默认参数配置

3.2.4、配置yarn-site.xml
  $ vi /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/yarn-site.xml
  

  

  

  
  yarn.nodemanager.aux-services
  mapreduce_shuffle
  
  
  yarn.resourcemanager.hostname
  hadoop-master
  
  
  yarn.resourcemanager.address
  hadoop-master:8032
  
  
  yarn.resourcemanager.scheduler.address
  hadoop-master:8030
  
  
  yarn.resourcemanager.resource-tracker.address
  hadoop-master:8031
  
  
  yarn.resourcemanager.admin.address
  hadoop-master:8033
  
  
  yarn.resourcemanager.webapp.address
  hadoop-master:8088
  
  

  

  yarn-site默认参数配置

3.2.5、配置slaves
  $ vi /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/slaves
  

hadoop-slave01  
hadoop-slave02
  
hadoop-slave03
  

3.2.6、配置hadoop-env
  修改hadoop-env.sh文件的JAVA_HOME环境变量,操作如下:
  $ vi /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/hadoop-env.sh
  export JAVA_HOME=/home/hadoop/app/java/jdk1.8

3.2.7、配置yarn-env
  修改yarn-env.sh文件的JAVA_HOME环境变量,操作如下:
  $ vi /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/yarn-env.sh
  export JAVA_HOME=/home/hadoop/app/java/jdk1.8

3.2.8、配置mapred-env
  修改mapred-env.sh文件的JAVA_HOME环境变量,操作如下:
  $ vi /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/mapred-env.sh
  export JAVA_HOME=/home/hadoop/app/java/jdk1.8

3.3、拷贝Hadoop程序到slave
  

$ scp -r /home/hadoop/app/hadoop hadoop@hadoop-slave01:/home/hadoop/app/  
$ scp -r /home/hadoop/app/hadoop hadoop@hadoop-slave02:/home/hadoop/app/
  
$ scp -r /home/hadoop/app/hadoop hadoop@hadoop-slave03:/home/hadoop/app/
  

3.4、配置Hadoop环境变量
  在所有机器hadoop用户家目录下编辑 .bash_profile 文件,在最后追加:
  $ vi /home/hadoop/.bash_profile
  

### Hadoop PATH  
export HADOOP_HOME=/home/hadoop/app/hadoop/hadoop-2.7.5
  
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  

  让环境变量生效:
  source /home/hadoop/.bash_profile
  注:这是配置hadoop的用户环境变量,如果系统变量设置在 /etc/profile.d/ 目录下新增

3.5、启动Hadoop
  在hadoop主节点上初始化HDFS文件系统,然后启动hadoop集群

3.5.1、初始化HDFS文件系统
  $ hdfs namenode –format

3.5.2、启动和关闭Hadoop集群


  • 启动:  $ start-all.sh

  注:在mapreduce.site.xml中配置了jobhistory,需要启动日志记录服务:
  $ mr-jobhistory-daemon.sh start historyserver


  • 关闭:  $ stop-all.sh

  注:也可以一步一步执行启动,首先启动namenode-->datanode-->YARN -->NodeManagers -->historyserver


  •   master进程:
      

    $ jps  
    3124 NameNode
      
    3285 SecondaryNameNode
      
    3451 ResourceManager
      
    4254 Jps
      


  •   slave进程:
      

    $ jps  
    3207 Jps
      
    2409 NodeManager
      
    2332 DataNode
      


  • MapReducer PI运算  $ hadoop jar /home/hadoop/app/hadoop/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar pi 5 10

  返回的结果是:Estimated value of Pi is 3.28000000000000000000


  • YARN管理界面:http://192.168.30.60:8088
  • HDFS管理界面:http://192.168.30.60:50070
3.6、MapReduce wordcount测试


  • 创建存放文件目录和计算结果输出目录  

    $ hadoop fs -mkdir  /user/hadoop/input  
    $ hadoop fs -mkdir  /user/hadoop/output

  • 上传测试文件The_Man_of_Property  

    $ hadoop fs -put The_Man_of_Property /user/hadoop/input
  •   启动测试
      

    $ hadoop jar /home/hadoop/app/hadoop/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount /user/hadoop/input /user/hadoop/output/wordcounttest  


  • 查看输出结果
  

$ hadoop fs -ls /user/hadoop/output/wordcounttest  
Found 2 items
  
-rw-r--r--   3 hadoop supergroup          0 2018-01-17 14:32 /user/hadoop/output/wordcounttest/_SUCCESS
  
-rw-r--r--   3 hadoop supergroup     181530 2018-01-17 14:32 /user/hadoop/output/wordcounttest/part-r-00000
  
$ hadoop fs -get /user/hadoop/output/wordcounttest/part-r-00000 ./
  
$ cat part-r-00000 |sort -k2 -nr|head
  
the 5144
  
of  3407
  
to  2782
  
and 2573
  
a   2543
  
he  2139
  
his 1912
  
was 1702
  
in  1694
  
had 1526
  

4、参考资料
  https://hadoop.apache.org/docs/r2.7.5/hadoop-project-dist/hadoop-common/ClusterSetup.html



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-627586-1-1.html 上篇帖子: Hadoop MapReduce计算框架 下篇帖子: 小白学习大数据测试之hadoop初探
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表