你好,游客 登录
背景:
阅读新闻

Hadoop集群环境搭建

[日期:2017-09-12] 来源:简书  作者:听城 [字体: ]

本篇文章将从头开始介绍hadoop大数据平台的一系列搭建工作

虚拟机下载安装

我使用的是VMware station12,下载地址为链接: http://pan.baidu.com/s/1geX11pL 密码:uylp

本软件为注册软件现提供一个注册码 AV5R2-8LW53-484RP-H5YQZ-XU8RF ,大家也可以自行百度。

centos下载

因为工作中常用的为不带可视化界面的版本,现提供一个centos6.8_64下载,地址 点我

centos安装

打开安装好的VMware station,右键选择新建虚拟机,选择典型安装。

选择稍后安装操作系统,点击下一步

选择linux操作系统,版本为CentOS64位

输入计算机名称以及你想要安装的位置

指定磁盘容量,这里要说明的是你选择的20G并不会一下占用你20G的硬盘空间,而是跟随你虚拟机大小进行变化的

点击完成即可

此时你会发现在你VMwarestation左面有了安装的虚拟机,现在需要做两件事。

  • 设定虚拟机镜像位置

  • 更改电脑虚拟化设置。有的电脑并没有开启Intel虚拟化,因此不能安装64位虚拟机。检测的方法是点击开启此虚拟机,如果进入安装界面则证明你的虚拟化是打开的,否则会报错,这时你需要开机进入BIOS,Advanced-CPU Setup将Intel Virtualization Technology和VT-d打开

    设置完成后选择开启此虚拟机,进入系统安装界面。这里需要注意的就是skip测试你的安装媒体。剩下的都是可视化的安装,自己选择就可以。

Linux环境配置

  • 修改Linux的主机名

    进入 vi /etc/sysconfig/network ,修改内容

NETWORKING=yes
HOSTNAME=node-1
  • 修改IP地址

    如果你此时执行ifconfig命令你会发现并没有常见的etho网卡,这时因为系统默认没有启动。需要将配置文件改成如下内容。首先进入配置文件 vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
TYPE=Ethernet
IPADDR=192.168.213.100
NETMASK=255.255.255.0

这里需要注意的是ip地址的设置,首先你需要查看你的网络连接方式,我采用默认的NAT模式,从下图可以看到子网地址为192.168.213.0,因此我设置的为192.168.213.100。另外如果你想让虚拟机联网需要设置gateway和dns。

配置好后用 service network restart 重启网络服务,用 ifconfig

可以查看是否配置成功。然后可以在Windows上ping该ip查看是否可以ping通。ping通后就可以使用putty或者SecureCRT连接虚拟机了。

  • 配置主机名和IP地址的映射关系 
    vi /etc/hosts 打开hosts文件,新增一行 192.168.213.100 node-1
  • 关闭防火墙 
    查看防火墙状态 
    service iptables status 
    关闭防火墙 
    service iptables stop 
    设置防火墙开机不启动 
    chkconfig iptables off

最后reboot或者通过 hostname node-1 以及 exit

,使我们配置的主机名生效

  • 删除Mac地址与网卡映射文件

    我们想将这个虚拟机作为模板机,为了避免以后Mac地址冲突,因此要删除Mac地址与网卡映射文件,以后启动机器的时候会自动生成。

    rm -rf /etc/udev/rules.d/70-persistent-net.rules 

    然后用 halt 关机

创建克隆机

做大数据肯定不可能只有一个虚拟机,我们现在用配置好的这台机器,克隆出几台虚拟机出来。

  • 选择模板机,然后点击右键 –> 选择Manage –> clone ->创建一个完整的克隆 –> 
    ->配置机器的名字和存放位置
  • 开启虚拟机之前一定要生成一个新的mac地址
  • 开启虚拟机,修改其主机名和ip地址 
    如果在执行 service network restart 命令时出现以下错误,则可能是没有删除模板机Mac地址与网卡映射文件,注意这个文件每次启动都会自动生成的。解决方法是 rm -rf /etc/udev/rules.d/70-persistent-net.rules 删除该文件然后重启 
    都修改完成后可以用一台虚拟机依次ping其它虚拟机,可以ping通即可

修改hosts文件

在101机器上修改hosts文件,完成主机名和ip地址映射

ssh免密码登录

  • 在第一台机器上生成一对钥匙,一个公钥,一个私钥 ssh-keygen –t rsa 执行上面的命令后,输入四个回车
  • 将公钥拷贝到希望名登录的机器 ssh-copy-id 192.168.213.102 执行上面的命令第一次要输入第二台机器的密码
  • 然后执行scp操作就不需要输入密码了 scp /etc/hosts [email protected]:/etc ,现在可以将修改好的hosts文件发送到其他具有公钥的机器。 
    注意这种免密码登录是单向的,如果想相互免密码登录则需要在每一台机器上都生成一个公钥和一个私钥。

Hadoop集群规划

现在我们有四台机器,分别为node-1,node-2,node-3,node-4,我们要做成下图形式的架构。第一台作为主节点,其他三台作为从节点

Java安装

将安装包上传到虚拟机上

  • 安装Java
    • 创建文件夹 mkdir /usr/java
    • 解压 tar -zxvf jdk.tar.gz -C /usr/java
    • 添加环境变量 
      进入文件 vi /etc/profile ,按G到文件末尾,按o插入一行,加入下面语句 
      export JAVA_HOME=/usr/java/jdk1.8.0_111 
      export PATH=$PATH:$JAVA_HOME/bin 
      执行 source /etc/profile 重新加载环境变量
    • 若需要传到其他虚拟机上则 
      scp –r /usr/java/ node-2:/usr 
      scp /etc/profile node-2:/etc

Hadoop安装

  • 解压Hadoop

    mkdir /bigdata 

    tar -zxvf hadoop-2.6.5.tar.gz -C /bigdata/

  • 在Hadoop安装包目录下有几个比较重要的目录

    sbin : 启动或停止Hadoop相关服务的脚本

    bin :对Hadoop相关服务(HDFS,YARN)进行操作的脚本

    etc : Hadoop的配置文件目录

    share :Hadoop的依赖jar包和文档,文档可以被删掉

    lib :Hadoop的本地库(对数据进行压缩解压缩功能的)

  • 修改配置文件

    进入到Hadoop的etc目录下

    cd /bigdata/hadoop-2.6.5/etc/hadoop

修改第1个配置文

vi hadoop-env.sh 

export JAVA_HOME=/usr/java/jdk1.8.0_111

修改第2个配置文件

vi core-site.xml

<configuration>
  <!-- 配置hdfs的namenode(老大)的地址 -->
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://node-1:9000</value>
  </property>

  <!-- 配置Hadoop运行时产生数据的存储目录,不是临时的数据 -->
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/bigdata/hadoop-2.6.5/tmp</value>
  </property>
</configuration>

修改第3个配置文件

vi hdfs-site.xml

<configuration>
 <!-- 指定HDFS存储数据的副本数据量 -->
  <property>
    <name>dfs.replication</name>
    <value>3</value>
  </property>
</configuration>

修改第4个配置文件

mv mapred-site.xml.template mapred-site.xml 

vi mapred-site.xml

<configuration>
  <!-- 指定mapreduce编程模型运行在yarn上  -->
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>

修改第5个配置文件

vi yarn-site.xml

<configuration>
  <!-- 指定yarn的老大(ResourceManager的地址) -->
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>node-1</value>
  </property>
  
  <!-- mapreduce执行shuffle时获取数据的方式 -->
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
</configuration>

第6个配置文件slaves

vi slaves 

原来的localhost要删掉

node-2
node-3
node-4

将配置好的Hadoop安装包拷贝到其他服务上

scp -r /bigdata  node-2:/
scp -r /bigdata  node-3:/
scp -r /bigdata  node-4:/

在第一台机器(NameNode所在的机器)上对hdfs进行初始化(格式化HDFS)

cd /bigdata/hadoop-2.6.5/bin/ 

./hdfs namenode -format

配置自己到自己的免密码登录,输入当前机器的密码

ssh-copy-id node-1

在第一台机器(NameNode所在的机器)上对hdfs进行初始化(格式化HDFS)

cd /bigdata/hadoop-2.6.5/bin/ 
./hdfs namenode -format 

格式化成功的标志是出现以下提示

Paste_Image.png

配置自己到自己的免密码登录,输入当前机器的密码

ssh-copy-id node-1

启动并测试Hadoop

cd /bigdata/hadoop-2.6.5/sbin/
./start-dfs.sh
./start-yarn.sh

可以使用jps检查进程是否存在

node1

node2

也可以访问网页测试

访问hdfs的管理界面

192.168.213.101:50070

访问yarn的管理界面

192.168.213.101:8088

Paste_Image.png

关闭hdfs/yarn服务

./stop-dfs.sh
./stop-yarn.sh




收藏 推荐 打印 | 录入:Cstor | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款