Vmware 搭建基础大数据环境

注:使用VMware+Centos7

安装步骤

  1. 安装Centos7虚拟机,参考网上教程,安装时网络模式选择NAT方式

  2. 虚拟机左上方,编辑-》虚拟网络编辑器,选择VMnet8NAT模式,设置子网IP以及子网掩码,按心情配置即可,随后在DHCP设置中将起始IP地址和结束IP地址根据配置的子网IP和子网掩码进行填写即可(使用DHCP方式的话,不用在系统中设置静态IP,不过要把DHCP的租用时间尽可能的设置长一点,保证IP短时间不会改变),点击确定。


    enter image description here
  3. 假设安装好了一台虚拟机,即可利用VMware提供的克隆功能,克隆出剩余的几台机器,不用再单独安装,十分方便,具体操作,右键已经安装的虚拟机->管理->克隆,至此已经有了以下虚拟机(命名随意):


    enter image description here
  4. 打开四台虚拟机,首先是系统配置,添加epel源,更新,添加hadoop用户,添加sudo权限
    #sudo su 用root登陆或者切换为root账户
    yum install epel-release
    yum update -y
    yum install git curl vim wget -y
    useradd hadoop -s /bin/bash -d /home/hadoop -m -G wheel
    passwd hadoop

  5. 配置hosts, 演示所用四台虚拟机的IP地址分别为:

    • master: 192.168.175.5
    • slave1: 192.168.175.6
    • slave2: 192.168.175.4
    • client: 192.168.175.7

    首先要修改每个机器的机器名:
    vim /etc/sysconfig/network
    添加 "HOSTNAME=master",其余三台机器类似,分别添加"HOSTNAME=机器名",之后在每台机器上执行
    echo " 192.168.175.5 master 192.168.175.6 slave1 192.168.175.4 slave2 192.168.175.7 client " >> /etc/hosts

  6. 添加SSH信任,免密登录(master上操作)
    su hadoop
    #切换为hadoop用户
    ssh-keygen -t rsa
    #生成用户级公密钥
    #按3下回车,完成密钥生成
    #开启ssh服务(四台机器都要开启,不然没法连过去)
    service sshd start
    #关闭防火墙
    service iptables stop
    #配置信任公钥
    cd ~/.ssh
    cp id_rsa.pub authorized_keys
    chmod 400 authorized_keys
    #添加服务器的服务端公钥
    ssh master ssh node1 ssh node2
    #可以不用登陆,只要出现提示第一次连接添加密钥那一步,输入yes,就可以退出
    #建立信任关系
    #第一次scp需要输入其余服务器hadoop账户的密码
    scp -r ~/.ssh slave1:~
    scp -r ~/.ssh slave2:~
    scp -r ~/.ssh client:~
    #最后切换回root权限
    exit(至此,四台机器之间可ssh免密登录,随意切换)

  7. 接下来安装所需软件 JDK1.8、scala2.11.11、Spark2.2.0、Hadoop 2.7.4
    首先下载对应包,在root用户的家目录下执行
    mkdir soft
    cd soft
    wget 相应包文件链接
    或者为了方便, 直接用本机下载,完事scp到虚拟机上
    接着把soft整个目录copy到slave1 和slave2机器上,client不需要,client只是我们模拟提交代码的客户端机器。
    以下操作master、slave1、slave2都需要进行

    • 安装JDK
      mkdir -p /usr/local/java
      tar zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local/java

    • 安装Scala
      tar zxvf scala-2.11.11.tgz -C /opt
      ln -s /opt/scala-2.11.11 /usr/local/scala

    • 安装hadoop
      tar zxvf hadoop-2.7.4.tar.gz -C /opt
      ln -s /opt/hadoop-2.7.4 /usr/local/hadoop

    • 安装Spark
      tar zxvf spark-2.2.0-bin-hadoop2.7.tgz -C /opt
      ln -s /opt/spark-2.2.0-bin-hadoop2.7 /usr/local/spark
      chown hadoop:hadoop /opt -R

  8. 配置环境变量
    执行
    vim /etc/bashrc 在末尾添加:
    #JDK
    export JAVA_HOME="/usr/local/java/jdk1.8.0_151"
    export CLASSPATH=".:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar"
    export PATH="$PATH:$JAVA_HOME/bin"
    #scala
    export SCALA_HOME="/usr/local/scala"
    export PATH="$PATH:$SCALA_HOME/bin"
    #hadoop
    xport HADOOP_HOME="/usr/local/hadoop"
    export HADOOP_CONF_DIR="$HADOOP_HOME/etc/hadoop"
    export HADOOP_INSTALL="$HADOOP_HOME"
    export HADOOP_MAPRED_HOME="$HADOOP_HOME"
    export HADOOP_COMMON_HOME="$HADOOP_HOME"
    export HADOOP_HDFS_HOME="$HADOOP_HOME"
    export YARN_HOME="$HADOOP_HOME"
    export HADOOP_COMMON_LIB_NATIVE_DIR="$HADOOP_HOME/lib/native"
    export PATH="$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin"
    #spark
    export SPARK_HOME="/usr/local/spark"
    export PATH="$PATH:$SPARK_HOME/bin"
    export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"
    之后执行
    source /etc/bashrc
    查看jdk版本
    java -version
    注意有些系统会自带openjdk,这时执行上述命令会显示openjdk的版本,修改系统默认jdk:
    cd /usr/bin
    ln -s -f /usr/local/java/jdk1.8.0_151/jre/bin/java
    ln -s -f /usr/local/java/jdk1.8.0_151/bin/javac
    查看scala版本
    scala -version
    查看hadoop版本
    hadoop version

  9. Hadoop分布式配置
    分布式模式需要修改hadoop 中的5个配置文件:slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml。

    • slaves
      文件 slaves,将作为 DataNode 的主机名写入该文件,每行一个,默认为 localhost,所以在伪分布式配置时,节点既作为 NameNode 也作为 DataNode。
      这里我们让 Master 节点仅作为 NameNode 使用,slave1和slave2作为DataNode
      cd /usr/local/hadoop/etc/hadoop
      echo "slave1 slave2" > /usr/local/hadoop/etc/hadoop/slaves
    • core-site.xml
      <configuration>
      <-- 指定HDFS namenode 的通信地址 -->
      <property>
      <name>fs.defaultFS</name>
      <value>hdfs://master:8020</value>
      </property>
      <-- 指定hadoop运行时产生文件的存储路径 -->
      <property>
      <name>hadoop.tmp.dir</name>
      <value>file:/usr/local/hadoop/tmp</value>
      </property>
      </configuration>
    • hdfs-site.xml
      <configuration>
      <-- 设置hdfs副本数量 -->
      <property>
      <name>dfs.replication</name>
      <value>2</value>
      </property>
      <-- 设置namenode存放的路径 -->
      <property>
      <name>dfs.namenode.name.dir</name>
      <value>file:/usr/local/hadoop/tmp/dfs/name</value>
      </property>
      <-- 设置datanode存放的路径 -->
      <property>
      <name>dfs.datanode.data.dir</name>
      <value>file:/usr/local/hadoop/tmp/dfs/data</value>
      </property>
      </configuration>
    • mapred-site.xml
      执行
      mv /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml
      打开mapred-site.xml
      <configuration>
      <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
      </property>
      </configuration>
    • yarn-site.xml
      <configuration>
      <-- 设置 resourcemanager 在哪个节点-->
      <property>
      <name>yarn.resourcemanager.hostname</name>
      <value>master</value>
      </property>
      <-- reducer取数据的方式是mapreduce_shuffle -->
      <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
      </property>
      </configuration>
  10. 配置同步
    su hadoop
    scp -r /usr/local/hadoop/etc/hadoop/* slave1:/usr/local/hadoop/etc/hadoop
    scp -r /usr/local/hadoop/etc/hadoop/* slave2:/usr/local/hadoop/etc/hadoop

  11. 启动Hadoop(master)
    hadoop namenode -format
    start-dfs.sh
    start-yarn.sh
    mr-jobhistory-daemon.sh start historyserver
    使用jps查看状态
    jps

  1. 常见错误
    hadoop web50070端口界面打开之后没有找到dataNode,显示数量为0,,这时候检查一下自己的防火墙,centos7默认用的是firewall,把防火墙关掉。
    systemctl stop firewalld.service #停止firewall
    systemctl disable firewalld.service #禁止firewall开机启动
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,723评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,485评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,998评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,323评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,355评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,079评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,389评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,019评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,519评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,971评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,100评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,738评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,293评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,289评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,517评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,547评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,834评论 2 345

推荐阅读更多精彩内容

  • 最近在学习大数据技术,朋友叫我直接学习Spark,英雄不问出处,菜鸟不问对错,于是我就开始了Spark学习。 为什...
    Plokmijn阅读 26,483评论 6 26
  • hadoop2集群搭建详解------------------------天津九安医疗电子--吴伟 一、需要软件 ...
    hogface阅读 1,795评论 1 4
  • 1 目的将hadoop 2.7.1 安装到 166、167、168 三台机器上2 提供环境练习环境192.168....
    灼灼2015阅读 3,385评论 4 40
  • --------"道路是曲折的,前途是光明的。"最近又涉及到了hadoop以及spark的安装,之前课题设计中有要...
    九七学姐阅读 3,018评论 3 5
  • 世界是个怪圈,无论走到哪,都会出现相似的人,让你厌恶的人和事,面对这个,我总是无能为力
    f1814345ca78阅读 155评论 0 1