zoukankan      html  css  js  c++  java
  • Centos 7下VMware三台虚拟机Hadoop集群初体验

    一、下载并安装Centos 7

      传送门:https://www.centos.org/download/

         注:下载DVD ISO镜像

    这里详解一下VMware安装中的两个过程

    网卡配置

    是Additional search domains:8.8.4.4也是谷歌提供的免费DNS服务器Ip地址

    二、SecureCRT远程操控

    ping www.baidu.com 发现slave1,2不通,而master可以ping通,查看master配置,发现两个从机少了一些配置。 

    安装vim:yum install vim-enhanced

    分别修改配置:vim /etc/sysconfig/network 增加"nameserver 192.168.200.2"

    再ping 发现问题解决

    三台机器分别执行:vim /etc/sysconfig/network 像下图这样进行配置

    三台机器分别执行:vim /etc/hosts 配置内容相同,增加

    192.168.200.130 master
    192.168.200.120 slave1
    192.168.200.110 slave2

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

    将dhcp 换位static 静态ip

    systemctl restart network.service

    之后重启并执行ping验证 ping master/ping slave1/ping slave2

    三、下载安装jdk配置环境变量

    传送门:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

    注:下载的是 jdk-8u191-linux-x64.tar.gz

    在home文件加下新建文件夹hadoop,上传本地jdk文件至该目录中yum install lrzsz    rz为上传指令

    因为我安装的centos7 为minimal版,若为其他版本例如图形界面版则需卸载本地jdk后再解压配置自己下载的jdk,可参考:https://www.cnblogs.com/sxdcgaq8080/p/7492426.html 前两个步骤。

    解压  [root@master hadoop]# tar -zxvf jdk-8u191-linux-x64.tar.gz

    配置java环境变量:vim /etc/profile
    export JAVA_HOME=/home/hadoop/jdk1.8.0_191
    export PATH=$PATH:$JAVA_HOME/bin
    刷新配置:source /etc/profile
    验证 java/javac/java -version

    四、免秘钥登录操作——以master主机为例

    第一步:ssh-keygen -t dsa

    第二步:cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

    第三步:在~/.ssh目录下执行 scp authorized_keys root@192.168.200.120:~/.ssh/和scp authorized_keys root@192.168.200.120:~/.ssh/分别将授权文件复制给slave1,slave2

    同样的三步骤要分别在slave1,slave2上执行,之后查看三台主机的authorized_keys:

    看懂没?

    五、下载安装完全分布式hadoop

    注:下载二进制binary版本 传送门:http://hadoop.apache.org/releases.html

     [root@slave2 hadoop]# tar -axvf hadoop-2.8.5.tar.gz

    在/home/hadoop/hadoop-2.8.5/etc/hadoop下面要进行七项配置:

    配置1:vim hadoop-env.sh

    export JAVA_HOME=/home/hadoop/jdk1.8.0_191

    配置2:vim yarn-env.sh

    export JAVA_HOME=/home/hadoop/jdk1.8.0_191

    配置3:vim slaves

    配置4:vim core-site.xml

    1 <property>
    2      <name>fs.defaultFS</name>
    3      <value>hdfs://master:9000</value>
    4 </property>
    5 <property>
    6      <name>hadoop.tmp.dir</name>
    7      <value>/home/hadoop/hadoop-2.8.5/tmp</value>
    8 </property>

    配置5:vim hdfs-site.xml

    1 <property>
    2      <name>dfs.replication</name>
    3      <value>2</value>
    4 </property>
    5 <property>
    6      <name>dfs.secondary.http.address</name>
    7      <value>master:50090</value>
    8 </property>

    配置6:mapred-site.xml是不存在的所以需要复制一份,怎么做呢? mv mapred-site.xml.template mapred-site.xml

    1 <property>
    2      <name>mapreduce.framework.name</name>
    3      <value>yarn</value>
    4 </property>

    配置7:vim yarn-site.xml

    1 <property>
    2     <name>yarn.resourcemanager.hostname</name>
    3     <value>master</value>
    4 </property>
    5 <property>
    6     <name>yarn.nodemanager.aux-services</name>
    7     <value>mapreduce_shuffle</value>
    8 </property>

    六、将配置好的hadoop复制到另外两台机器

    1 scp -r /home/hadoop/hadoop-2.8.5 slave1:/home/hadoop/
    2 scp -r /home/hadoop/hadoop-2.8.5 slave2:/home/hadoop/

    七 、配置 bin、sbin路径  

    1 vim /etc/profile
    2 
    3 export JAVA_HOME=/home/hadoop/jdk1.8.0_191
    4 
    5 export HADOOP_HOME=/home/hadoop/hadoop-2.8.5
    6 
    7 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

    source /etc/profile

    八、重启并测试

    1 hdfs namenode -format
    2 start-dfs.sh

    SUCCESS!

    目前这篇随笔更像是什么都不懂的外行人按照博客以及自己的实践从头到尾跑下来的成功案例,本人羞愧的说也确实这样。至于其中的众多道理我还不怎么懂,我会在今后不断维护这篇博客,让其更有料,让其完全成为自己肚子里的知识。

    [2018.11.27更新 新增了测试wordcount]  如果想测试hadoop 自带wordcount例子,参考这篇 https://blog.csdn.net/hliq5399/article/details/78193113 对应部分就好了,先创建本地输入文件,创建dfs上输出文件,执行就ok

    删除自带jdk
    rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64
    rpm -e --nodeps java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64
    rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64
    rpm -e --nodeps java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64
    永久修改主机名
    hostnamectl set-hostname centos7 
    su
    hostname
    配置host
    vim /etc/hosts
    
    关闭防火墙
    systemctl status firewalld.service
    systemctl stop firewalld.service
    systemctl disable firewalld.service
    关闭selinux
    vim /etc/sysconfig/selinux
    
    配置jdk环境变量
    vim /etc/profile
    修改完则个文件后一定要执行一条指令使配置生效source /etc/profile
    export JAVA_HOME=/opt/modules/jdk1.8.0_191
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH
    配置hadoop环境变量
    vim /etc/profile
    export HADOOP_HOME=/opt/modules/hadoop-2.5.8
    export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
    source /etc/profile
    
    进入/opt/modules/hadoop-2.8.5/etc/hadoop进行一些配置
    vim hadoop-env.sh
    vim core-site.xml
    
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://centos7:8020</value>
    </property>
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/data/tmp</value>
    </property>
    
    vim hdfs-site.xml
    
    <property>
    <name>dfs.replication</name>
    <value>1</value>
    </property>
    
    格式化hdfs 
    [root@centos7 hadoop-2.8.5]# bin/hdfs namenode -format
    查看有无dfs文件夹
    ls /opt/data/tmp
    ll /opt/data/tmp/dfs/name/current
    cat /opt/data/tmp/dfs/name/current/VERSION
    执行当前目录下的命令要以./xxx的形式
    启动namenode
    /opt/modules/hadoop-2.8.5/sbin
    ./hadoop-daemon.sh start namenode
    启动datanode
    ./hadoop-daemon.sh start datanode
    启动secondarynamenode
    ./hadoop-daemon.sh start secondarynamenode
    
    jps查看启动情况
    
    HDFS上测试创建目录、上传、下载文件
    
    创建目录
    在/opt/modules/hadoop-2.8.5/bin目录下
    ./hdfs dfs -mkdir /demo
    ./hdfs dfs -put 待上传文件路径 /demo
    ./hdfs dfs -cat 待读取文件
    ./hdfs dfs -get 下载
    不存在的复制一份模板 配置mapred-site.xml
    cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
    
    <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property>
    配置yarn-site.xml
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>
    <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>centos7</value>
    </property>/opt/modules/hadoop-2.8.5目录下
    启动resourcemanager
    sbin/yarn-daemon.sh start resourcemanager
    启动nodemanager
    sbin/yarn-daemon.sh start nodemanager
    jps查看启动情况
    查看yarn web页面
    http://192.168.200.134:8088/cluster
    
    运行Mapreduce job
    创建测试用Input文件bin/hdfs dfs -mkdir -p /wordcountdemo/input
    本地/opt/data目录创建一个文件wc.input内容为
    hadoop mapreduce hive
    hbase spark storm
    sqoop hadoop hive
    spark hadoop
    上传
    bin/hdfs dfs -put /opt/data/wc.input /wordcountdemo/input
    运行WordCount MapReduce Job
    
    [hadoop@bigdata-senior01 hadoop-2.5.0]$ bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.5.jar wordcount /wordcountdemo/input /wordcountdemo/output
     查看输出结果目录
    bin/hdfs dfs -ls /wordcountdemo/output
    查看输出文件内容
    bin/hdfs dfs -cat /wordcountdemo/output/part-r-00000

    我贴上整个过程用到的命令

    参考文章:https://www.cnblogs.com/biehongli/p/7640469.html 感谢该作者~

    https://blog.csdn.net/hliq5399/article/details/78193113 感谢该作者~

  • 相关阅读:
    8.22
    webstrom安装流程
    8.21
    8.20
    8.20学习笔记
    使用WebClient异步获取http资源
    导航栏,可直接使用
    asp.net mvc5实现单点登录
    使用C#调用Word的接口生成doc文件与html文件
    下载网页并保存
  • 原文地址:https://www.cnblogs.com/Miracle-Maker/p/9910591.html
Copyright © 2011-2022 走看看