查漏补缺-Hadoop集群搭建记录

Hadoop集群搭建

一、虚拟机设置

准备三台虚拟机,内存2g,硬盘20g

  • 设置hostname,master/slave1/slave2 

    • CentOS6版本修改network文件:vi /etc/sysconfig/network,新增:HOSTNAME=marster
    • CentOS7版本通过命令:hostnamectl set-hostname master
  • 设置网络
    • 配置ip
    • vim /etc/sysconfig/network-script/ifcfg-exx
    • onboot=yes
    • bootproto=static
    • 添加:
    • IPADDR=192.168.199.111(IP地址)
    • NETMASK=255.255.255.0(子网掩码)
    • GATEWAY=192.168.199.1(网关)
    • DNS1=192.168.199.1(dns)
    • 网络设置为桥接,手动配置IP,只需要仿照主机网卡的ip地址,设置一个同网段的地址即可。
  • 配置host
    • vi /etc/hosts
    • 192.168.43.101 master
    • 192.168.43.102 slave1
    • 192.168.43.103 slave2
  • 关闭防火墙
    • centos7版本:
      • systemctl stop firewalld  临时关闭防火墙
      • Systemctl disable firewalld 关闭开机启动
    • centos6版本:
      • service iptables stop
      • chkconfig iptables off
  • 关闭selinux
    • vi /etc/selinux/config
    • SELINUX=disable
  • 配置ssh 免密登陆(运行hadoop用户去配置)
    • 因为mater启动时,需要远程把slave机器启动起来,需要有权限访问slave机器,是通过ssh访问的,不配置免密登陆的话,每次访问都要输入密码,比较繁琐
    • 生成公私钥: ssh-keygen -t rsa
    • ssh-copy-id spring@master
    • ssh-copy-id spring@slave1
    • ssh-copy-id spring@slave2

二、安装环境

  • 安装JDK
    • 查询系统是否安装jdk,rpm -qa|grep java
    • 卸载已安装jdk,rpm -e --nodeps [java]
    • 解压jdk安装包
    • vim /etc/profile 
      • export JAVA_HOME=/home/spring/software/jdk1.8.0_231
      • export PATH=$PATH:$JAVA_HOME/bin
    • source /etc/profile
  • 安装hadoop
    • 拷贝安装包
      • scp ./hadoop-3.1.1.tar.gz spng@192.168.43.101:/home/spring/
    • 解压,用运行hadopp的用户解压
      • tar -zxf hadoop-3.1.1.tar.gz
    • 目录介绍
      • bin 用yarn或者hdfs的时候,查看hdfs系统的结构,里面的数据,需要bin里面的东西
      • sbin 启动的一些脚本
      • etc 存放一些配置文件
    • 修改配置文件
      • core-site.xml 配置namenode地址的和端口、临时文件的路径
      • hdfs.site.xml hdfs的一些配置,副本数,namenode存储路径,
      • yarn.site.xml yarn的配置
      • mapred.site.xml mapreduce配置
      • workers 配置运行datanode/nodemanager的节点机器名
      • hadoop-env.sh 配置javahome
    • 创建目录
      • 先创建data目录,再把data目录的owner给运行hadoop的用户
        • chown -R spring /data
      • 然后切换到hadoop用户创建如下目录
        • hdfs namenode目录:mkdir -p /data/hadoop/hdfs/namenode
        • hdfs datanode目录:mkdir -p /data/hadoop/hdfs/datanode
        • hdfs tmp目录:mkdir -p /data/hadoop/tmp
        • yarn nodemanager 文件目录:mkdir -p /data/hadoop/yarn/nodemanager
        • yarn log文件目录:mkdir -p /data/hadoop/yarn/logs
    • 设置环境变量
      • 因为要用到bin目录和sbin目录的命令,所以在环境变量里增加它们
      • export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

三、启动&验证

  • 格式化,初始化下namenode
    • hdfs namenode -format
    • 出现这种错,可能就是权限问题,重新创建目录,并设置好权限
      • 2019-12-31 14:01:47,997 WARN net.DNS: Unable to determine local hostname -falling back to 'localhost' java.net.UnknownHostException: bogon: bogon: 未知的名称或服务
    • 成功会在namenode目录下创建文件,可以使用查看下文件列表
      • ll /data/hadoop/hdfs/namenode/current
  • 启动hdfs
    • start-dfs.sh
  • 启动yarn
    • start-yarn.sh
  • 验证
    • hdfs dfs -mkdir /user
    • hdfs dfs -ls
    • 上传一个文件
      • hdfs dfs -copyFromLocal /home/spring/software/hadoop-3.1.2/etc/hadoop/workers /user
    • 跑一个yarn的例子,求pi的一个任务
      • hadoop jar hadoop-mapreduce-examples-3.1.1.jar pi 5 10
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值