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

[经验分享] CentOS 6.5 搭建Hadoop 1.2.1集群

[复制链接]

尚未签到

发表于 2018-4-20 06:54:26 | 显示全部楼层 |阅读模式
  记录在64位CentOS 6.5环境下搭建Hadoop 2.5.2集群的步骤,同时遇到问题的解决办法,这些记录都仅供参考!

1、操作系统环境配置

1.1、操作系统环境


主机名
IP地址
角色
Hadoop用户




hadoop-master
192.168.30.50
Hadoop主节点
hadoop


hadoop-slave01
192.168.30.51
Hadoop从节点
hadoop


hadoop-slave02
192.168.30.52
Hadoop从节点
hadoop

1.2、关闭防火墙和SELinux

1.2.1、关闭防火墙

service iptables stop
chkconfig iptables off
1.2.2、关闭SELinux

setenforce 0
sed -i 's/enforcing/disabled/' /etc/sysconfig/selinux
1.3、hosts配置
  vim /etc/hosts

########## Hadoop host ##########
192.168.30.50   hadoop-master
192.168.30.51   hadoop-slave01
192.168.30.52   hadoop-slave02
  注:以上操作需要在root用户,通过ping 主机名可以返回对应的IP即可

1.4、配置无密码访问
  在3台主机上使用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
  注:以上操作需要在hadoop用户,通过hadoop用户ssh到其他主机不需要密码即可。

2、Java环境配置

2.1、下载JDK

mkdir -p /home/hadoop/app/java
cd /home/hadoop/app/java
wget -c http://download.oracle.com/otn/java/jdk/6u45-b06/jdk-6u45-linux-x64.bin
2.2、安装java

cd /home/hadoop/app/java
chmod +x jdk-6u45-linux-x64.bin
./jdk-6u45-linux-x64.bin
2.3、配置Java环境变量
  vim .bash_profile

export JAVA_HOME=/home/hadoop/app/java/jdk1.6.0_45
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
  启用环境变量
source .bash_profile
  注:使用hadoop用户在所有机器安装jdk,通过java –version命令返回Java的版本信息即可

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

3.1、安装Hadoop


  •   下载hadoop 1.2.1

    mkdir -p /home/hadoop/app/hadoop
    cd /home/hadoop/app/hadoop
    wget -c https://archive.apache.org/dist/hadoop/common/hadoop-1.2.1/hadoop-1.2.1-bin.tar.gz
    tar -zxf hadoop-1.2.1-bin.tar.gz
  • 创建hadoop临时文件目录
    mkdir -p /home/hadoop/app/hadoop/hadoop-1.2.1/tmp

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

3.2.1、配置core-site.xml
  vim /home/hadoop/app/hadoop/hadoop-1.2.1/conf/core-site.xml

<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/app/hadoop/hadoop-1.2.1/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.30.50:9000</value>
</property>
</configuration>
3.2.2、配置hdfs-site.xml
  vim /home/hadoop/app/hadoop/hadoop-1.2.1/conf/hdfs-site.xml

<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
3.2.3、配置mapred-site.xml
  vim /home/hadoop/app/hadoop/hadoop-1.2.1/conf/mapred-site.xml

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>http://192.168.30.50:9001</value>
</property>
</configuration>
3.2.4、配置master
  vim /home/hadoop/app/hadoop/hadoop-1.2.1/conf/masters

hadoop-master
3.2.5、配置slaves
  vim /home/hadoop/app/hadoop/hadoop-1.2.1/conf/slaves

hadoop-slave01
hadoop-slave02
3.2.6、配置hadoop-env.xml
  vim /home/hadoop/app/hadoop/hadoop-1.2.1/conf/hadoop-env.sh
  将JAVA_HOME修改为如下:

export JAVA_HOME=/home/hadoop/app/java/jdk1.6.0_45
3.3、拷贝Hadoop程序到slave

scp -r app hadoop-slave01:/home/hadoop/
scp -r app hadoop-slave02:/home/hadoop/
3.4、配置Hadoop环境变量
  在所有机器hadoop用户家目录下编辑 .bash_profile 文件,在最后追加:
vim /home/hadoop/.bash_profile

### Hadoop PATH
export HADOOP_HOME_WARN_SUPPRESS=1
export HADOOP_HOME=/home/hadoop/app/hadoop/hadoop-1.2.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  让环境变量生效:
source /home/hadoop/.bash_profile

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

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

3.5.2、启动和关闭Hadoop集群


  •   启动:
    start-all.sh

  • 关闭:
    stop-all.sh
  浏览NameNode和JobTracker的网络接口,它们的地址默认为:


  • NameNode - http://hadoop-master:50070/
  • JobTracker - http://hadoop-master:50030/

3.5.3、hadoop各节点的启动进程


  •   master

    $ jps
    22262 NameNode
    22422 SecondaryNameNode
    24005 Jps
    22506 JobTracker
  • slave
    $ jps
    2700 TaskTracker
    2611 DataNode
    4160 Jps

3.5.4、hadoop启动后验证


  • 简单的文件操作
  hadoop fs -ls hdfs:/

Found 2 items
drwxr-xr-x   - hadoop supergroup          0 2018-01-09 16:15 /home
drwxr-xr-x   - hadoop supergroup          0 2018-01-10 10:39 /user

  • 简单的MapReduce计算
    hadoop jar /home/hadoop/app/hadoop/hadoop-1.2.1/hadoop-examples-1.2.1.jar pi 10 10
      得到的计算结果是:

    Number of Maps  = 10
    Samples per Map = 10
    Wrote input for Map #0
    Wrote input for Map #1
    Wrote input for Map #2
    Wrote input for Map #3
    Wrote input for Map #4
    Wrote input for Map #5
    Wrote input for Map #6
    Wrote input for Map #7
    Wrote input for Map #8
    Wrote input for Map #9
    Starting Job
    18/01/10 13:49:35 INFO mapred.FileInputFormat: Total input paths to process : 10
    18/01/10 13:49:36 INFO mapred.JobClient: Running job: job_201801101031_0002
    18/01/10 13:49:37 INFO mapred.JobClient:  map 0% reduce 0%
    18/01/10 13:49:49 INFO mapred.JobClient:  map 10% reduce 0%
    18/01/10 13:49:50 INFO mapred.JobClient:  map 30% reduce 0%
    18/01/10 13:49:51 INFO mapred.JobClient:  map 40% reduce 0%
    18/01/10 13:49:59 INFO mapred.JobClient:  map 50% reduce 0%
    18/01/10 13:50:00 INFO mapred.JobClient:  map 60% reduce 0%
    18/01/10 13:50:02 INFO mapred.JobClient:  map 80% reduce 0%
    18/01/10 13:50:07 INFO mapred.JobClient:  map 100% reduce 0%
    18/01/10 13:50:12 INFO mapred.JobClient:  map 100% reduce 33%
    18/01/10 13:50:14 INFO mapred.JobClient:  map 100% reduce 100%
    18/01/10 13:50:16 INFO mapred.JobClient: Job complete: job_201801101031_0002
    18/01/10 13:50:16 INFO mapred.JobClient: Counters: 30
    18/01/10 13:50:16 INFO mapred.JobClient:   Job Counters
    18/01/10 13:50:16 INFO mapred.JobClient:     Launched reduce tasks=1
    18/01/10 13:50:16 INFO mapred.JobClient:     SLOTS_MILLIS_MAPS=95070
    18/01/10 13:50:16 INFO mapred.JobClient:     Total time spent by all reduces waiting after reserving slots (ms)=0
    18/01/10 13:50:16 INFO mapred.JobClient:     Total time spent by all maps waiting after reserving slots (ms)=0
    18/01/10 13:50:16 INFO mapred.JobClient:     Launched map tasks=10
    18/01/10 13:50:16 INFO mapred.JobClient:     Data-local map tasks=10
    18/01/10 13:50:16 INFO mapred.JobClient:     SLOTS_MILLIS_REDUCES=25054
    18/01/10 13:50:16 INFO mapred.JobClient:   File Input Format Counters
    18/01/10 13:50:16 INFO mapred.JobClient:     Bytes Read=1180
    18/01/10 13:50:16 INFO mapred.JobClient:   File Output Format Counters
    18/01/10 13:50:16 INFO mapred.JobClient:     Bytes Written=97
    18/01/10 13:50:16 INFO mapred.JobClient:   FileSystemCounters
    18/01/10 13:50:16 INFO mapred.JobClient:     FILE_BYTES_READ=226
    18/01/10 13:50:16 INFO mapred.JobClient:     HDFS_BYTES_READ=2450
    18/01/10 13:50:16 INFO mapred.JobClient:     FILE_BYTES_WRITTEN=682653
    18/01/10 13:50:16 INFO mapred.JobClient:     HDFS_BYTES_WRITTEN=215
    18/01/10 13:50:16 INFO mapred.JobClient:   Map-Reduce Framework
    18/01/10 13:50:16 INFO mapred.JobClient:     Map output materialized bytes=280
    18/01/10 13:50:16 INFO mapred.JobClient:     Map input records=10
    18/01/10 13:50:16 INFO mapred.JobClient:     Reduce shuffle bytes=280
    18/01/10 13:50:16 INFO mapred.JobClient:     Spilled Records=40
    18/01/10 13:50:16 INFO mapred.JobClient:     Map output bytes=180
    18/01/10 13:50:16 INFO mapred.JobClient:     Total committed heap usage (bytes)=1146068992
    18/01/10 13:50:16 INFO mapred.JobClient:     CPU time spent (ms)=7050
    18/01/10 13:50:16 INFO mapred.JobClient:     Map input bytes=240
    18/01/10 13:50:16 INFO mapred.JobClient:     SPLIT_RAW_BYTES=1270
    18/01/10 13:50:16 INFO mapred.JobClient:     Combine input records=0
    18/01/10 13:50:16 INFO mapred.JobClient:     Reduce input records=20
    18/01/10 13:50:16 INFO mapred.JobClient:     Reduce input groups=20
    18/01/10 13:50:16 INFO mapred.JobClient:     Combine output records=0
    18/01/10 13:50:16 INFO mapred.JobClient:     Physical memory (bytes) snapshot=1843138560
    18/01/10 13:50:16 INFO mapred.JobClient:     Reduce output records=0
    18/01/10 13:50:16 INFO mapred.JobClient:     Virtual memory (bytes) snapshot=7827865600
    18/01/10 13:50:16 INFO mapred.JobClient:     Map output records=20
    Job Finished in 41.091 seconds
    Estimated value of Pi is 3.20000000000000000000
  hadoop搭建完成,如果有错误,可以查看日志信息。

4、参考资料


  • [hadoop文档]<http://hadoop.apache.org/docs/r1.0.4/cn/cluster_setup.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-449315-1-1.html 上篇帖子: centos6 revive 下篇帖子: centos搭建seafile
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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