码迷,mamicode.com
首页 > 其他好文 > 详细

Hadoop集群搭建

时间:2019-03-15 19:31:36      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:style   查看   tables   tar.gz   prope   问题   脚本   sbin   服务器   

首先安装好一台CentOS6.9-64位机器

并安装jdk1.8的64位版本,这些基础步骤都很简单,百度即可

然后克隆三台,也就是总共四台虚拟机

 

第一台的网络配置是没有问题的,但是第二台需要进行配置:

网卡冲突问题解决:

vi /etc/udev/rules.d/70-persistent-net.rules 

删除eth0那行,并把eth1改为eth0

 

修改ip:这一选项适用于所有虚拟机,都要修改ip,而且ip不能冲突

vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"
BOOTPROTO="static"
ONBOOT="yes"
TYPE="Ethernet"
MM_CONTROLLED=yes
IPADDR=192.168.111.100
GATEWAY=192.168.111.2
NETMASK=255.255.255.0
DNS1=192.168.111.2

 

修改主机名:

vi /etc/sysconfig/network

修改为hdp-01-04,方便后边的使用

 

配置域名映射:

vi /etc/hosts

192.168.111.99 hdp-01
192.168.111.100 hdp-02
192.168.111.101 hdp-03
192.168.111.102 hdp-04

 

最终,可以相互ping通,主机也可以ping通,说明网络配置到这里就完成了

 

其实还少了一步:关闭所有虚拟机的防火墙,否则后边会出意外的情况 

service iptables stop

chkconfig iptables off

 

然后使用CRT等工具连接四台虚拟机

现在我们要尽量不去打开这四台虚拟机,而是模拟实际环境,使用工具连接

 

接下来就是安装hadoop,为了方便,我用共享文件夹复制

cp /mnt/hgfs/VM_SHARE_DIR/hadoop-2.7.2.tar.gz ~/apps

tar -zxvf hadoop-2.7.2.tar.gz

 

配置Hadoop中的java环境变量:

cd etc/hadoop

vi hadoop-env.sh

修改这一行即可

export JAVA_HOME=/root/apps/jdk1.8.0_65

 

 修改core-site.xml:

 这里指定了namenode是hdp-01虚拟机

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hdp-01:9000/</value>
</property>
</configuration>

 

修改hdfs-site.xml:

配置了namenode和datanode的具体目录

<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/root/hdpdata/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/root/hdpdata/data</value>
</property>
</configuration>

 

第一次启动,需要对namenode进行格式化:

./hadoop namenode -format

为了方便,更新环境变量

export HADOOP_HOME=/root/apps/hadoop-2.7.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

 

hdp-01启动namenode:

hadoop-daemon.sh start namenode

启动后,可以jps查看进程,如果有namenode,说明成功

 

开启了哪些端口:

netstat -nltp | grep [jps查到的id]

发现开启了端口:9000,50070

浏览器访问:http://192.168.111.99:50070是可以看到页面的

 

其他三台机器启动datanode:

hadoop-daemon.sh start datanode

 

关闭datanode:

hadoop-daemon.sh stop datanode

 

这样一台一台地启动,太麻烦,那么有没有什么简单的方式?

写一个脚本即可

在hadoop里面有写好的脚本,进行配置:

vi etc/hadoop/slave

hdp-01
hdp-02
hdp-03
hdp-04

 

需要先进行匿名登陆配置

ssh-keygen

ssh-copy-id hdp-01(以此类推给每一台服务器都配置无密登陆)

 

这时候如果要停止,只需要一个脚本:

stop-dfs.sh

 

开启也只需要一个脚本:

start-dfs.sh

 

其中有一项:secondaryNameNode,也可以进行手动配置

停止当前的:hadoop-daemon.sh stop secondarynamenode

配置hdfs-site.xml

<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hdp-02:50090</value>
</property>

 

这里最好不要配置在同一个服务器:因为如果崩掉一个,还有备份

 

start-dfs.sh

技术图片

 

到这里,hadoop集群就搭建完成了

Hadoop集群搭建

标签:style   查看   tables   tar.gz   prope   问题   脚本   sbin   服务器   

原文地址:https://www.cnblogs.com/xuyiqing/p/10537176.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!