hadoop分布式环境搭建过程

这篇文章主要介绍了hadoop分布式环境搭建过程,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

1. Java安装与环境配置

Hadoop是基于Java的,所以首先需要安装配置好java环境。从官网下载JDK,我用的是1.8版本。 在Mac下可以在终端下使用scp命令远程拷贝到虚拟机linux中。

 danieldu@daniels-MacBook-Pro-857 ~/Downloads scp jdk-8u121-linux-x64.tar.gz root@hadoop100:/opt/software root@hadoop100's password: danieldu@daniels-MacBook-Pro-857 ~/Downloads 

其实我在Mac上装了一个神器-Forklift。 可以通过SFTP的方式连接到远程linux。然后在操作本地电脑一样,直接把文件拖过去就行了。而且好像配置文件的编辑,也可以不用在linux下用vi,直接在Mac下用sublime远程打开就可以编辑了 :)

然后在linux虚拟机中(ssh 登录上去)解压缩到/opt/modules目录下

 [root@hadoop100 include]# tar -zxvf /opt/software/jdk-8u121-linux-x64.tar.gz -C /opt/modules/

然后需要设置一下环境变量, 打开 /etc/profile, 添加JAVA_HOME并设置PATH用vi打开也行,或者如果你也安装了类似forklift这样的可以远程编辑文件的工具那更方便。

vi /etc/profile

按shift + G 跳到文件最后,按i切换到编辑模式,添加下面的内容,主要路径要搞对。

 #JAVA_HOME export JAVA_HOME=/opt/modules/jdk1.8.0_121 export PATH=$PATH:$JAVA_HOME/bin

按ESC , 然后 :wq存盘退出。

执行下面的语句使更改生效

 [root@hadoop100 include]# source /etc/profile

检查java是否安装成功。如果能看到版本信息就说明安装成功了。

 [root@hadoop100 include]# java -version java version "1.8.0_121" Java(TM) SE Runtime Environment (build 1.8.0_121-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode) [root@hadoop100 include]#

2. Hadoop安装与环境配置

Hadoop的安装也是只需要把hadoop的tar包拷贝到linux,解压,设置环境变量.然后用之前做好的xsync脚本,把更新同步到集群中的其他机器。如果你不知道xcall、xsync怎么写的。可以翻一下之前的文章。这样集群里的所有机器就都设置好了。

 [root@hadoop100 include]# tar -zxvf /opt/software/hadoop-2.7.3.tar.gz -C /opt/modules/ [root@hadoop100 include]# vi /etc/profile 继续添加HADOOP_HOME #JAVA_HOME export JAVA_HOME=/opt/modules/jdk1.8.0_121 export PATH=$PATH:$JAVA_HOME/bin #HADOOP_HOME export HADOOP_HOME=/opt/modules/hadoop-2.7.3 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin [root@hadoop100 include]# source /etc/profile 把更改同步到集群中的其他机器 [root@hadoop100 include]# xsync /etc/profile [root@hadoop100 include]# xcall source /etc/profile [root@hadoop100 include]# xsync hadoop-2.7.3/

3. Hadoop分布式配置

然后需要对Hadoop集群环境进行配置。对于集群的资源配置是这样安排的,当然hadoop100显得任务重了一点 :)

编辑0/opt/modules/hadoop-2.7.3/etc/hadoop/mapred-env.sh、yarn-env.sh、hadoop-env.sh 这几个shell文件中的JAVA_HOME,设置为真实的绝对路径。

export JAVA_HOME=/opt/modules/jdk1.8.0_121 

打开编辑 /opt/modules/hadoop-2.7.3/etc/hadoop/core-site.xml, 内容如下

   fs.defaultFShdfs://hadoop100:9000 hadoop.tmp.dir/opt/modules/hadoop-2.7.3/data/tmp

编辑/opt/modules/hadoop-2.7.3/etc/hadoop/hdfs-site.xml, 指定让dfs复制5份,因为我这里有5台虚拟机组成的集群。每台机器都担当DataNode的角色。暂时也把secondary name node也放在hadoop100上,其实这里不太好,最好能和主namenode分开在不同机器上。

   dfs.replication5 dfs.namenode.secondary.http-addresshadoop100:50090 dfs.permissionsfalse

YARN 是hadoop的集中资源管理服务,放在hadoop100上。 编辑/opt/modules/hadoop-2.7.3/etc/hadoop/yarn-site.xml

   yarn.nodemanager.aux-servicesmapreduce_shuffle yarn.resourcemanager.hostnamehadoop100 yarn.log-aggregation-enbaletrue yarn.log-aggregation.retain-seconds604800

为了让集群能一次启动,编辑slaves文件(/opt/modules/hadoop-2.7.3/etc/hadoop/slaves),把集群中的几台机器都加入到slave文件中,一台占一行。

hadoop100
hadoop101
hadoop102
hadoop103
hadoop104

最后,在hadoop100上全部做完相关配置更改后,把相关的修改同步到集群中的其他机器

xsync hadoop-2.7.3/

在启动Hadoop之前需要format一下hadoop设置。

hdfs namenode -format 

然后就可以启动hadoop了。从下面的输出过程可以看到整个集群从100到104的5台机器都已经启动起来了。通过jps可以查看当前进程。

 [root@hadoop100 sbin]# ./start-dfs.sh Starting namenodes on [hadoo

以上就是hadoop分布式环境搭建过程的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Java