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

[经验分享] 简单搭建hadoop运行环境

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-11-25 09:12:59 | 显示全部楼层 |阅读模式
Hadoop是Apache软件基金会旗下的一个开源分布式计算平台。以Hadoop分布式文件系统(HDFS,Hadoop Distributed Filesystem)和MapReduce(Google MapReduce的开源实现)为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构  对于Hadoop的集群来讲,可以分成两大类角色:Master和Salve。一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件系统的访问操作;集群中的DataNode管理存储的数据。MapReduce框架是由一个单独运行在主节点上的JobTracker和运行在每个集群从节点的TaskTracker共同组成的。主节点负责调度构成一个作业的所有任务,这些任务分布在不同的从节点上。主节点监控它们的执行情况,并且重新执行之前的失败任务;从节点仅负责由主节点指派的任务。当一个Job被提交时,JobTracker接收到提交作业和配置信息之后,就会将配置信息等分发给从节点,同时调度任务并监控TaskTracker的执行。
  从上面的介绍可以看出,HDFS和MapReduce共同组成了Hadoop分布式系统体系结构的核心。HDFS在集群上实现分布式文件系统,MapReduce在集群上实现了分布式计算和任务处理。HDFS在MapReduce任务处理过程中提供了文件操作和存储等支持,MapReduce在HDFS的基础上实现了任务的分发、跟踪、执行等工作,并收集结果,二者相互作用,完成了Hadoop分布式集群的主要任务


一、安装前的准备
  已安装"SoftwareDevelopment Workstation"软件包的linux虚拟机3台
  jdk-6u45-linux-x64.bin安装包、hadoop-1.0.0.tar.gz安装包

  1、设定linux虚拟机IP地址及主机名如下:
1
2
3
4
主机名  IP地址
master 192.168.232.129
salve1 192.168.232.130
salve2 192.168.232.131



  2、向/etc/hosts文件添加内容,使虚拟机之间使用主机名能够互ping(非常重要!!!)
1
2
3
4
5
6
7
8
9
10
11
12
13
# 可以只修改一个主机的/etc/hosts文件,然后用scp命令远程传输覆盖其他主机的hosts文件
[iyunv@master ~]# vim /etc/hosts
master 192.168.232.129
salve1 192.168.232.130
salve2 192.168.232.131

[iyunv@master ~]# scp /etc/hosts root@salve1:/etc/hosts
[iyunv@master ~]# scp /etc/hosts root@salve2:/etc/hosts

# 测试
[iyunv@master ~]# ping master
[iyunv@master ~]# ping salve1
[iyunv@master ~]# ping salve2



  3、设置三台主机ssh无密码验证配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 在master主机上生成密码对
[iyunv@master ~]# ssh-keygen -t rsa
# 敲两次回车,便会在/root/.ssh目录下生成id_rsa.pub(公钥文件)、id_rsa(私钥文件)
# 将公钥文件追加到/root/.ssh/authorized_keys文件中,并测试是否可以实现无密码登录
[iyunv@master ~]# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
[iyunv@master ~]# ssh master

# 将公钥文件远程传输到salve1、salve2主机上
[iyunv@master ~]# scp .ssh/id_rsa.pub root@salve1:/root/.ssh/
[iyunv@master ~]# scp .ssh/id_rsa.pub root@salve2:/root/.ssh/
# 将传输过来的公钥文件追加到authorized_keys,实现master主机ssh无密码登陆salve1、salve2主机
[iyunv@salve1 ~]# cat .ssh/id_rsa.pub >> .ssh/authorized_keys
[iyunv@salve2 ~]# cat .ssh/id_rsa.pub >> .ssh/authorized_keys

# 测试
[iyunv@master ~]# ssh salve1
[iyunv@master ~]# ssh salve2
# 需要注意的是,以上操作还需要在其他主机上操作一次,以实现三台主机均可以相互无密码登录

# 如果在以上操作完成后,出现登录失败的情况,请修改三个主机的ssh配置文件,修改以下参数,并重启ssh服务
[iyunv@master ~]# vim /etc/ssh/ssh_config
RSAAuthentication yes    # 启用RSA认证
PubkeyAuthentication yes # 启用公钥、私钥配对认证
[iyunv@master ~]# service sshd restart





二、开始安装配置

   1、Java环境安装(如果在安装linux时安装了SoftwareDevelopment Workstation软件包,这一步可跳过)


    1.1、安装JDK
    所有机器上都要安装JDK,现在就在master主机安装,然后其他主机按照步骤重复进行即可

1
2
3
4
5
6
7
8
9
# 创建/usr/java目录,将jdk-6u45-linux-x64.bin复制到此目录下,赋予执行权限,并执行
[iyunv@master ~]# mkdir /usr/java
[iyunv@master ~]# cp jdk-6u45-linux-x64.bin /usr/java/
[iyunv@master ~]# cd /usr/java/
[iyunv@master java]# chmod +x jdk-6u45-linux-x64.bin
[iyunv@master java]# ./jdk-6u45-linux-x64.bin
[iyunv@master java]# lsjdk1.6.0_45  jdk-6u45-linux-x64.bin

# 安装完成后发现当前目录下多了 jdk1.6.0_45 文件夹,安装结束



   1.2、配置环境变量
1
2
3
4
5
6
7
8
9
10
11
12
13
# 编辑/etc/profile文件,在尾部追加以下内容
[iyunv@master ~]# vim /etc/profile
# set java environment
export JAVA_HOME=/usr/java/jdk1.6.0_45
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin:$$JAVA_HOME/jre/bin

# 执行下面命令使其配置立即生效,并进行测试
[iyunv@master ~]# source /etc/profile
[iyunv@master ~]# java -version
java version "1.6.0_45"
OpenJDK Runtime Environment (rhel-2.4.3.3.el6-x86_64 u45-b15)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)



   1.3、安装配置其他主机(同上,略)



  2、hadoop集群安装配置


    2.1、hadoop集群安装
    所有机器上都要安装JDK,现在就在master主机安装,然后其他主机按照步骤重复进行即可
1
2
3
4
5
6
7
8
# 将软件包解压到/usr/目录下,并重命名
[iyunv@master ~]# tar –zxvf hadoop-1.0.0.tar.gz -C /usr/
[iyunv@master ~]# cd /usr/
[iyunv@master usr]# mv hadoop-1.0.0 hadoop

# 在hadoop目录下创建tmp文件夹
[iyunv@master usr]# cd hadoop
[iyunv@master hadoop]# mkdir tmp



   2.2、配置环境变量
1
2
3
4
5
6
7
8
# 编辑/etc/profile文件,在尾部追加以下内容
[iyunv@master ~]# vim /etc/profile
# set hadoop path
export HADOOP_HOME=/usr/hadoop
export PATH=$PATH:$HADOOP_HOME/bin

# 执行下面命令使其配置立即生效
[iyunv@master ~]# source /etc/profile




  2.3、配置hadoop
    1)配置hadoop-env.sh
    该文件位于/usr/hadoop/conf目录下
1
2
3
4
5
6
7
8
[iyunv@master conf]# vim hadoop-env.sh

# 如果是自己配置的JDK,则添加以下内容
# set java enviroment
export JAVA_HOME=/usr/java/jdk1.6.0_45

# 如果是安装SoftwareDevelopment Workstation软件包,则添加以下内容
# set java enviromentexport JAVA_HOME=/usr



    2)配置core-site.xml文件
1
2
3
4
5
6
7
8
9
10
11
12
[iyunv@master conf]# vim core-site.xml
<configuration>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/usr/hadoop/tmp</value>
                <description>A base for other temporary directories</description>
        </property>
        <property>
                <name>fs.default.name</name>
                <value>hdfs://192.168.232.129:9000</value>
        </property>
</configuration>



    3)配置hdfs-site.xml文件
1
2
3
4
5
6
7
[iyunv@master conf]# vim hdfs-site.xml
<configuration>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
</configuration>



    4)配置mapred-site.xml文件
1
2
3
4
5
6
7
[iyunv@master conf]# vim mapred-site.xml
<configuration>
        <property>
                <name>mapred.job.tracker</name>
                <value>http://192.168.232.129:9001</value>
        </property>
</configuration>



    5)配置masters文件
1
2
3
4
# 将原来的localhost去掉
[iyunv@master conf]# vim masters
192.168.232.129  # master主机的IP地址
# master    # master主机名(要保证hosts文件已修改)



    6)配置salves文件
1
2
3
4
5
[iyunv@master conf]# vim slaves
192.168.232.130    # salve1的IP地址
192.168.232.131    # salve2的IP地址
# salve1    # salve1主机名(要保证hosts文件已修改)
# salve1    # salve2主机名(要保证hosts文件已修改)




    master主机配置完成


   2.4、配置salve1主机、salve2主机

1
2
3
4
5
6
7
8
9
# 只需要将配置好的hadoop文件夹远程传输到salve1和salve2上即可
[iyunv@master ~]# scp -r /usr/hadoop root@salve1:/usr/
[iyunv@master ~]# scp -r /usr/hadoop root@salve2:/usr/
# 并且修改salve1主机、salve2主机的/etc/profile文件
[iyunv@salve1 ~]# vim /etc/profile
# set hadoop pathexport HADOOP_HOME=/usr/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
# 执行下面命令使其配置立即生效
[iyunv@salve1 ~]# source /etc/profile




    配置完成



三、启动及验证

   1、格式化HDFS文件系统(只需一次,下次启动不再需要格式化)
1
[iyunv@master ~]# hadoop namenode -format



   2、启动hadoop

1
[iyunv@master ~]# start-all.sh



   3、验证hadoop

    3.1、用java自带的jps查看进程

1
2
3
4
5
6
7
8
9
10
11
# 在master上查看
[iyunv@master ~]# jps
5434 JobTracker
4447 SecondaryNameNode
5221 NameNode
5535 Jps
# 在salve1上查看
[iyunv@salve1 ~]# jps
4313 Jps
4260 TaskTracker
4171 DataNode



    3.2、用"hadoop dfsadmin -report"查看Hadoop集群的状态
1
[iyunv@master ~]# hadoop dfsadmin -report



    3.3、用网页查看集群

    1)访问http://192.168.232.129:50030
    2)访问http://192.168.232.129:50070


运维网声明 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-305287-1-1.html 上篇帖子: spark过程 下篇帖子: Redhat 6.5 Hadoop安装详解 运行环境
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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