hadoop集群的搭建

Hadoop集群搭建

注意:本文使用的镜像来自于Index of /centos/6/isos/ (sohu.com)

本文是很单纯的hadoop集群搭建,并没有涉及其余组件(flume,kafka等)

准备

  • 三台虚拟机,名字分别为hadoop102,hadoop103,hadoop104
  • 修改克隆虚拟机的静态IP
  • 关闭防火墙
  • 虚拟机的映射搭建好
  • 配置好SSH

虚拟机以hadoop103为核心,脚本创建在hadoop103中

需要使用的几个脚本

在hadoop103的home下创建bin目录

[root@hadoop103 ~]$ mkdir bin

在bin目录下存储脚本

xsync脚本

xsync脚本用于向其他虚拟机分发文件

在bin目录下创建脚本xsync

vim xsync
脚本内容
 #!/bin/bash
 #验证参数
 if(($#!=1))
 then
         echo 请传入要分发的单个文件!
         exit;
 fi

 #获取分发文件的绝对路径
 dirpath=$(cd -P `dirname $1`; pwd)
 filename=$(basename $1)

 echo "要分发的文件路径是:$dirpath/$filename"

 #获取当前的用户名
 user=$(whoami)
 #分发,前提是集群中的机器都有当前分发文件所在的父目录
 for((i=102;i<=104;i++))
 do
         echo -----------------------hadoop$i---------------------
         rsync -rvlt $dirpath/$filename $user@hadoop$i:$dirpath
 done

xcall脚本

xcall用于调动全部三台虚拟机,xcall + 命令语句 在三台虚拟机上全部执行

同样在bin目录下创建

vim xcall

脚本内容
#!/bin/bash
 #验证参数
 if(($#==0))
 then
         echo 请传入要执行的命令!
         exit;
 fi

 echo "要执行的命令是:$@"

 #批量执行
 for((i=102;i<=104;i++))
 do
         echo -----------------------hadoop$i---------------------
         ssh  hadoop$i $@
 done

在三台虚拟机上创建module,和soft目录

 xcall mkdir /opt/module/   

 xcall mkdir /opt/soft

soft目录用于存放组件的压缩包

module用于存放解压缩后的组件

安装jdk

将jdk存放于soft目录中

在soft中解压到module目录下

[root@hadoop103 soft] `tar -zxvf   **jdk压缩包的名字**    -C /opt/module` 

配置JDK环境变量

1、先获取JDK路径
 [root@hadoop103 jdk1.8.0_144]$ pwd
 /opt/module/jdk1.8.0_144
2、打开/etc/profile文件

[root@hadoop103 software]$ sudo vi /etc/profile

在profile文件末尾添加JDK路径

 #JAVA_HOME
JAVA_HOME=/opt/module/jdk1.8.0_144
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME
3、保存后退出
 :wq
4、让修改后的文件生效
 [root@hadoop103 jdk1.8.0_144]$ source /etc/profile
5、测试JDK是否安装成功
 [root@hadoop103 jdk1.8.0_144]$ java -version
 java version "1.8.0_144"
可能出现的问题

如果版本与安装的版本不同

[root@hadoop103 module]$ which java

若出现的路径不是/opt/module/jdk1.8.0_144/bin/java

输入

[root@hadoop103 module]$ rm -rf /usr/bin/java
[root@hadoop103 module]$ source /etc/profile

即可解决问题

以上完成后JDK即安装成功

6、分发

向其余虚拟机分发jdk

[root@hadoop103 module]$ xsync jdk1.8.0_144/

再分发/etc/profile

 [root@hadoop103 module]$ xsync /etc/profile/`

继续在其余虚拟机上刷新

 [root@hadoop103 module]$ source /etc/profile/

若其他虚拟机上也出现上述问题,也可按上述方法解决

也可用xcall直接全部更改

搭建hadoop集群

将hadoop的压缩包导入hadoop103中的soft文件中

在soft中解压缩到module中

[root@hadoop103 soft]$ tar -zxvf   **hadoop压缩包的名字**    -C /opt/module 

需要配置的四个文件

进入hadoop中

[root@hadoop103 ~] $ cd /opt/module/hadoop-2.7.2/etc/hadoop

更改以下四个文件的配置

core-site.xml

[root@hadoop103 hadoop] $ vim core-site.xml

<!-- 指定HDFS中NameNode的地址 -->

<property>

<name>fs.defaultFS</name>

  <value>hdfs://hadoop102:9000</value>

</property>

 

<!-- 指定Hadoop运行时产生文件的存储目录 -->

<property>

​	<name>hadoop.tmp.dir</name>

​	<value>/opt/module/hadoop-2.7.2/data/tmp</value>

</property>
hfds-site.xml

[root@hadoop103 hadoop] $ vim hfds-site.xml

<!-- 指定Hadoop辅助名称节点主机配置 -->

<property>

   <name>dfs.namenode.secondary.http-address</name>

   <value>hadoop104:50090</value>

</property>
yarn-site.xml
 [root@hadoop103 hadoop]$ vim yarn-site.xml
<property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
</property>

<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop103</value>
</property>

<!-- 日志聚集功能使能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>

<!-- 日志保留时间设置7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
mapred-site.xml

[root@hadoop103 hadoop]$ vim mapred-site.xml

<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop102:10020</value>
</property>

<!-- 历史服务器web端地址 -->
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hadoop102:19888</value>
</property>
<!--第三方框架使用yarn计算的日志聚集功能 -->
<property>
        <name>yarn.log.server.url</name>
        <value>http://hadoop102:19888/jobhistory/logs</value>
</property>

<!-- 指定MR运行在YARN上 -->
<property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
</property>
更改slaves文件
 [root@hadoop103 hadoop]$ vim slaves

将内容改为

hadoop102

hadoop103

hadoop104

wq保存

分发

将hadoop-2.7.2分发给其他虚拟机

[root@hadoop103 module]$ xsync hadoop-2.7.2/

更改环境

 [root@hadoop103 module]$ vim /etc/profile

添加

 HADOOP_HOME=/opt/module/hadoop-2.7.2

将向PATH后添加

 :$HADOOP_HOME/bin:$HADOOP_HOME/sbin

在export后添加

 HADOOP_HOME

分发/etc/profile

 xsync /etc/profile

分别在三台虚拟机上刷新

 source /etc/profile

格式化

在hadoop102上格式化

 [root@hadoop102 module] $ hadoop namenode -format

启动集群

在hadoop103中启动

[root@hadoop103 hadoop-2.7.2]$ sbin/start-dfs.sh
[root@hadoop103 hadoop-2.7.2]$ sbin/start-yarn.sh

在浏览器中输入hadoop102:50070或hadoop103:8088即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RE:0-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值