导航

Hadoop集群搭建

Posted on 2019-07-17 16:56  两张10元钱  阅读(214)  评论(0编辑  收藏  举报

 

如需大数据开发整套视频(hadoop\hive\hbase\flume\sqoop\kafka\zookeeper\presto\spark):请联系QQ:1974983704

 

Hadoop分为伪集群模式和主从节点集群模式,本文搭建主从节点模式集群,主要有3个节点(master,slave1,slave2,其中master为主节点,slave1slave2为子节点。

 

 

所需软件hadoop2.7.3,MobaXterm_v8.1,jdk1.8

 

1、通过MobaXterm_v8.1连接CentOS虚拟机

点击左上角”Session”,再点击SSH”,输入“Remobte host(CentOS虚拟机IP)

输入Specify username(CentOS虚拟机用户名),修改“Session name”为虚拟机IPmaster),完成后点击“OK

 

 

 2、安装JDK

 新建文件夹application(后续所有的安装文件都放在该文件夹下)

将下载的jdk-8u111-linux-x64.tar.gz拖动到application文件夹下。

解压JDK

进入application文件下:

cd application

解压jdk包:

tar -zxvf jdk-8u111-linux-x64.tar.gz

将解压后的文件夹重命名:

mv jdk1.8.0_XXX jdk1.8

打开~/.bash_profile文件:

vi ~/.bash_profile

添加jdk路径配置:

export JAVA_HOME=/home/zhangc/application/jdk1.8(表示jdk所在路径)

export PATH=.:$JAVA_HOME/bin:$PATH

保存~/.bash_profile文件,执行

source ~/.bahs_profile

验证jkd是否正确:

java -version

 

 

 3、安装hadoop2.7.3

将下载的hadoop-2.7.3.tar.gz拖动到application文件夹下

进入application文件夹:

cd application

解压hadoop包:

tar -zxvf hadoop-2.7.3.tar.gz

重命名解压后的hadoop文件:

mv hadoop-2.7.3.XXX hadoop-2.7.3

修改~/.bash_profile文件:

vi ~/.bash_profile

添加hadoop路径配置:

export HADOOP_HOME=/home/zhangc/application/hadoop-2.7.3(hadoop所在路径)

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

保存~/.bash_profile文件,执行

source ~/.bahs_profile

 

 

4、修改hadoop的配置文件

 进入application下的hadoop-2.7.3/etc/hadoop文件夹

cd hadoop-2.7.3/etc/hadoop/

修改hadoop-env.shcore-site.xmlhdfs-site.xmlyarn-site.xmlmap-site.xml五个配置文件

(1)hadoop-env.sh

  修改JAVA_HOMEJDK的绝对路径

JAVA_HOME=/home/zhangc/application/jdk1.8

(2)core-site.xml

添加内容:

 1 <configuration>
 2         <property>
 3                 <name>fs.defaultFS</name>
 4                 <value>hdfs://master:9000</value>
 5         </property>
 6         <property>
 7                 <name>hadoop.tmp.dir</name>
 8                 <value>/home/zhangc/application/hadoopdata</value>
 9         </property> 
10 </configuration>

解释:

fs.defaultFS是设置的hadoop默认的文件系统地址,可以修改端口,机器名需要跟虚拟机一致(我的是master

hadoop.tmp.dir是这只hadoop存放临时文件的目录地址

 

(3)hdfs-site.xml

添加内容:

<configuration>
     <property>
         <name>dfs.replication</name>
         <value>1</value>
     </property>
     <property>
         <name>dfs.namenode.name.dir</name>
         <value>/home/zhangc/application/tmp/hdfs/namenode/</value>
     </property>
     <property>
         <name>dfs.datanode.data.dir</name>
         <value>/home/zhangc/application/tmp/hdfs/datanode/</value>
     </property>
</configuration>

解释:

dfs.replication是设置存储副本数量,可根据子节的虚拟节点来设置,默认是3,此处我把改为了1.

dfs.namenode.name.dir是设置namenode信息的存放位置,默认是在/tmp下。

dfs.datanode.data.dir是设置datanode的实际数据的存放位置,默认是在/tmp下。

 

(4)yarn-site.xml

添加内容:

 1 <configuration>
 2 <!-- Site specific YARN configuration properties -->
 3 <property>
 4         <name>yarn.nodemanager.aux-services</name>
 5         <value>mapreduce_shuffle</value>
 6 </property>
 7 <property>
 8         <name>yarn.resourcemanager.address</name>
 9         <value>master:18040</value>
10 </property>
11 <property>
12         <name>yarn.resourcemanager.scheduler.address</name>
13         <value>master:18030</value>
14 </property>
15 <property>
16         <name>yarn.resourcemanager.resource-tracker.address</name>
17         <value>master:18025</value>
18 </property>
19 <property>
20         <name>yarn.resourcemanager.admin.address</name>
21         <value>master:18141</value>
22 </property>
23 <property>
24         <name>yarn.resourcemanager.webapp.address</name>
25         <value>master:18088</value>
26 </property>
27 <property>
28         <name>yarn.log.server.url</name>
29         <value>http://master:19888/jobhistory/logs</value>
30 </property>
31 <property>
32         <name>yarn.nodemanager.vmem-check-enabled</name>
33         <value>false</value>
34 </property>
35 </configuration>

解释:

设置yarn各个服务的端口,我们常用的是webapp地址

设置yarn的日志服务

 

(5)mapred-site.xml

因为没有mapred-site.xml文件,需要从mapred-site.xml.tamplate复制一份

 cp mapred-site.xml.template map-site.xml

添加内容:

1 <configuration>
2     <property>
3         <name>mapreduce.framework.name</name>
4         <value>yarn</value>
5     </property>
6 </configuration>

解释:

设置mapreduce运行在yarn平台上

检查以上内容是否正确。

 

5、设置/etc/hosts文件,需要用到root权限

su root

vi /etc/hosts

输入:(ip hostname一一对应,有几个节点填写几个)

192.168.232.2   master

192.168.232.3   slave1

192.168.232.4   slave2

 

6、检查iphostname、防火墙是否关闭,关闭虚拟机

 

7、Master虚拟机克隆(Slave1Slave2

 

右击Master=》“管理”=》“克隆”

 

下一步

 

下一步

 

选择“创建完整克隆”,下一步

 

填写虚拟机名称Slave1,选择位置,完成

 

8、设置Slave1Slave2IPhostname(每个子节点都要修改)

修改network文件,需要用到root权限

su root

vi /etc/sysconfig/network

输入:

NETWORKING=yes

HOSTNAME=slave1

再执行:

hostname slave1(子节点名称)

 

设置完成后,在slave1slave2ping master或者ping masterIP

 

 

9设置hadoop集群节点之间SSH免密码登陆(请查看下一篇文章

  https://www.cnblogs.com/20kuaiqian/p/11202330.html

   此处一定要设置免密码登陆

10、设置3个虚拟机中的hadoopslaves文件

cd /home/zhangc/application/hadoop-2.7.3/etc/hadoop/

vi slaves

  输入:

master
slave1
slave2 (有多少子节点输入多少)

  可以一个个节点修改,也可以使用scp

11、格式化HDFS

hadoop namenode -format

 

12、启动hadoop命令

启动hdfs

start-dfs.sh

启动yarn:  

start-yarn.sh

或者使用start-all.sh,一次启动HDFSyarn

停止stop-all.sh

启动成功后查看进程:jps

Master主节点:

 

Slave1Slave2子节点

 

到此hadoop集群3个节点搭建完成。