【Hadoop】hadoop2.6.4集群搭建

说在前面的话

在安装Hadoop集群的时候,需要先配置好JDK环境,配置很简单,教程参见:Linux安装JDK环境

1、环境准备

事先准备好三台虚拟机(当然一台也无妨)主机名和ip分别为:
lantingshuxu –> ip:192.168.77.128【此主机作为主节点】
mini1 –> ip:192.168.77.129
mini2 –> ip:192.168.77.130

【注意,这三台机器的环境要保证一样(JDK安装目录、用户名等环境必须一样)】

可以通过一下的命令去修改主机名【主机名和下面的hosts配置的域名必须要一致!】

vi /etc/sysconfig/network

#配置如下
NETWORKING=yes
# 需要修改的主机名,重启后生效
HOSTNAME=lantingshuxu    

修改了主机名后,修改本地host

vim /etc/hosts

#配置添加内容如下
192.168.77.128  lantingshuxu
192.168.77.129  mini1
192.168.77.130  mini2

关闭防火墙 or 为防火墙添加白名单

#查看防火墙状态
service iptables status
#关闭防火墙
service iptables stop
#查看防火墙开机启动状态
chkconfig iptables --list
#关闭防火墙开机启动
chkconfig iptables off

#--------------------
出于安全考虑,我们也可以只添加防火墙白名单,需要添加的端口为9000, 50070, 50010, 8088, 8032
【补充,除了上面的端口外,好像还会有其他的端口,在跑MapReduce的时候如果是关闭了防火墙可以正常运行,但是白名单却不能正常运行】


# 添加端口白名单的命令如下:
/sbin/iptables  -I(大写的i)  INPUT  -p  tcp --dport  端口号   -j  ACCEPT 
/etc/rc.d/init.d/iptables   save    #将该设置添加到防火墙的规则中

注意本地时间,需要同步各个主机的本地时间,如果不一致,运行MapReduce时会出异常

#设置本地时间
date -s "2010-10-10 10:10:00"

2、下载Hadoop并解压

下载Hadoop
64位机器下载链接: https://pan.baidu.com/s/10ESl1QlK2rHscI-MZXv16w 密码: rkr4
32位机器下载链接:链接: https://pan.baidu.com/s/1pDECG9l_D-DbooMzhLrw4A 密码: ejpw。

下载到本地后,我们可以通过scp或者sftp工具(scp可以使用 git的gitbash命令工具,sftp可以使用 filezilla),将该tar.gz包上传到Linux上(假设我们上传到了/home/lanting/hadoop/下)然后解压。

#scp上传命令
scp 本地文件  远程用户名@远程ip:/远程文件路径
#例如:
scp cenos-6.5-hadoop-2.6.4.tar.gz  root@192.168.77.128:/home/lanting/hadoop/cenos-6.5-hadoop-2.6.4.tar.gz

# 解压命令
tar -zxvf cenos-6.5-hadoop-2.6.4.tar.gz

3、配置Hadoop

假设经过前面几步,我们已经将 hadoop-2.6.4.tar.gz 解压在了 /home/lanting/hadoop/hadoop-2.6.4 下,我们使用cd命令cd /home/lanting/hadoop/hadoop-2.6.4,进入此文件夹下,然后接着向下的步骤走。

然后再进入 hadoop-2.6.4 下的 etc/hadoop 下 cd etc/hadoop

有几个配置文件需要修改,如下:

1)修改 hadoop-env.sh

vi hadoop-env.sh

#第27行 这里修改为自己的jdk路径
export JAVA_HOME=/home/lanting/java/jdk1.8.0_172

2)修改 core-site.xml,在configuration标签中添加下面的配置

<configuration>
    <!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <!-- lantingshuxu为主节点主机名 -->
        <value>hdfs://lantingshuxu:9000</value>
    </property>

    <!-- 指定hadoop运行时产生文件的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/lanting/hadoop-2.4.1/tmp</value>
    </property>
</configuration>

3)修改hdfs-site.xml(可选,不改也可以)在configuration标签中添加下面的配置

<configuration>
    <!-- 指定HDFS副本的数量,默认3 -->
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
</configuration>

4)修改mapred-site.xml,在configuration标签中添加下面的配置

#拷贝一份模板,并在模板上进行修改
cp mapred-site.xml.template mapred-site.xml
#编辑模板
vi mapred-site.xml

#在configuration标签内添加如下内容
<configuration>
    <!-- 指定mr运行在yarn上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

5)修改yarn-site.xml,在configuration标签中添加下面的配置

<configuration>
    <!-- 指定YARN的老大(ResourceManager)的地址 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <!-- lantingshuxu为主节点主机名 -->
        <value>lantingshuxu</value>
    </property>

    <!-- reducer获取数据的方式 -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
<configuration>

4、将Hadoop配置到环境变量

vim /etc/proflie

# 末尾添加内容如下
export HADOOP_HOME=/home/lanting/hadoop/hadoop-2.4.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

# 添加完毕后执行命令使之生效
source /etc/profile

5、格式化namenode

hdfs namenode -format 

6、将配置复制给其他节点(如果只有一台,忽略此步骤)

以上的操作均在主节点主机 lantingshuxu 上操作,由于 mini1 和 mini2 也需要做相同的配置,并且 mini1 和 mini2 的环境和 lantingshuxu 相同,因此,我们只需要将配置好的配置文件直接复制过去即可。

# 复制 hosts 到另外两台机器
scp /etc/hosts  root@mini1:/etc/hosts
scp /etc/hosts  root@mini2:/etc/hosts

# 复制profile(环境变量)到另外两台机器
scp /etc/profile  root@mini1:/etc/profile
scp /etc/profile  root@mini2:/etc/profile

#分别另外两台机器mini1 , mini2 上执行下面命令,使环境变量生效
source /etc/profile

# 复制hadoop到另外两台机器
scp -r /home/lanting/hadoop  lanting@mini1:/home/lanting/hadoop
scp -r /home/lanting/hadoop  lanting@mini2:/home/lanting/hadoop

7、配置“一键启动”

由于hadoop会有一个namenode和多个datanode,如果我们一个个去启动hadoop是非常麻烦的,我们可以在我的主节点上配置到另外几台的免密登录,直接通过脚本即可一次性启动,免密登录配置很简单,我的博客也有写详情见:Linux SSH免密登录配置
免密登录配置成功后,我们可以在hadoop安装目录下的etc/hadoop下的slaves中添加我们需要启动的机器

# 进入hadoop配置文件目录
cd /home/lanting/hadoop/hadoop-2.6.4/etc/hadoop

#编辑“一键启动”主机列表
vi slaves

#添加主机内容
mini1
mini2

8、启动

配置好后,我们就可以启动服务了。

# 启动dfs服务和yarn服务
start-dfs.sh
start-yarn.sh

#停止服务
stop-dfs.sh
stop-yarn.sh


#查看启动情况
jps

输出如下:
3009 Jps
2758 ResourceManager
2617 SecondaryNameNode
2442 NameNode


# 网页后台管理
http://主节点ip:50070 (HDFS管理界面)
http://主节点ip:8088 (MR管理界面)


------------

也可以通过下面的方式一个个服务器上去启动


#先启动HDFS
hadoop-daemon.sh start namenode(或者datanode)

#关闭hdfs
hadoop-daemon.sh stop namenode(或者datanode)

#再启动YARN
sbin/start-yarn.sh

9、进入网页查看

启动成功后,我们可以通过浏览器 http://主节点ip:50070 (HDFS管理界面) 去查看我们的hdfs。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值