zoukankan      html  css  js  c++  java
  • Hadoop集群及基本组件搭建

    本人采用一个master和两个slave的网络结构,具体搭建如下

    1.准备安装包

    1.下载安装包
    http://pan.baidu.com/s/1jIoZulw
    
    2.安装包清单
    scala-2.12.4.tar
    hadoop-2.7.4.tar
    zookeeper-3.4.10.tar
    jdk-8u151-linux-x64.tar
    spark-2.2.0-bin-hadoop2.7.tar
    hbase-1.3.1-bin.tar.gz
    

     2.基本安装准备

    1.安装virtualbox(自行下载安装)
    2.安装unbunt(自行下载安装)
    3.设置root用户密码并切换到root用户
    sudo passwd root(回车输入要设置为root用户的密码)
    su root(回车后输入密码)
    4.在unbunt上安装ssh服务,vim,net-tools
    apt install vim
    apt install net-tools
    apt install openssh-server
    5.修改ssh配置文件并重启ssh服务
    vim /etc/ssh/sshd.config(将32行改为PermitRootLogin yes)
    /etc/init.d/ssh restart(重启ssh服务)
    

     3.集群的命名和ssh无密码登陆验证

    1.将虚拟服务器复制2台
    2.使用ifconfig命令确认服务器的ip地址
    3.使用root账号ssh登陆所有服务器
    ssh root@192.168.0.127(回车输入密码)
    ssh root@192.168.0.128(回车输入密码)
    ssh root@192.168.0.129(回车输入密码)
    4.分别在三台服务器上修改服务器的名字
    vim /etc/hostname(三台服务器分别设置为master,slave1,slave2)
    5.vim /etc/hosts里添加(每台服务器都相同)
    192.168.0.127 master
    192.168.0.128 slave1
    192.168.0.129 slave2
    5.重新启动3台服务器(可以看到服务器名已变更成功)
    6.分别在每台服务器上运行ssh-keygen(一直敲回车回到命令行)
    7.在master服务器上
    cd ~/.ssh/
    cat id_rsa.pub > authorized_keys
    8.分别在slave1和slave2上运行命令
    cat ~/.ssh/id_rsa.pub
    9.将slave1和slave2上cat出的内容复制到master的authorized_keys文件里并保存
    10.将master的authorized_keys分别拷贝到slave1和slave2的~/.ssh/目录里
    11.在master服务器上测试(如无需输入密码登录即为成功)
    ssh slave1
    ssh slave2
    

     4.安装JDK

    1.将安装包传送到mastr主机的/usr/local/src/目录上
    scp -rp jdk-8u151-linux-x64.tar root@192.168.0.127:/usr/local/src/ (这里是Mac的传送方式,windows请使用ftp工具)
    2.登录master解压安装包
    cd /usr/local/src
    tar -zxvf jdk-8u151-linux-x64.ta
    3.设置jdk环境变量
    vim /etc/profile(在末尾添加)
    export export JAVA_HOME=/usr/local/src/jdk1.8.0_151
    export PATH=:$PATH:$JAVA_HOME/bin:$JAVA_HOME/sbin
    4.使配置生效并测试是否成功
    source /etc/profile
    输入java或java -version无报错即为成功
    5.在slave1和slave2上做相同操作
    

     5.安装scala

    1.将scala安装包上传到master的/usr/local/src/目录里(同上)
    2.解压scala安装包
    tar -zxvf scala-2.12.4.tar
    3.设置环境变量
    vim /etc/profile 
    export JAVA_HOME=/usr/local/src/jdk1.8.0_151
    export SCALA_HOME=/usr/local/src/scala-2.12.4
    export PATH = :$PATH:$JAVA_HOME/bin:$JAVA_HOME/sbin:$SCALA_HOME/bin
    4.使配置生效
    source /etc/profile
    5.在slave1和slave2上做相同操作
    

     6.安装hadoop

    1.将hadoop安装包上传到master的/usr/local/src/目录里(同上)
    2.解压hadoop安装包
    tar -zxvf hadoop-2.7.4.tar
    3.设置环境变量
    vim /etc/profile 
    export JAVA_HOME=/usr/local/src/jdk1.8.0_151
    export SCALA_HOME=/usr/local/src/scala-2.12.4
    export HADOOP_HOME=/usr/local/src/hadoop-2.7.4
    export PATH = :$PATH:$JAVA_HOME/bin:$JAVA_HOME/sbin:$SCALA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME:/sbin
    4.使配置生效
    source /etc/profile
    5.配置hadoop核心文件
    cd /usr/local/src/hadoop-2.7.4/etc/hadoop
    
    vim core-site.xml
    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://master:9000</value>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/usr/local/src/hadoop-2.7.4/tmp</value>
        </property>
    </configuration>
    
    vim hdfs-site.xml
    <configuration>
        <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>master:50090</value>
        </property>
        <property>
            <name>dfs.replication</name>
            <value>2</value>
        </property>
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>/usr/local/src/hadoop-2.7.4/tmp/dfs/name</value>
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>/usr/local/src/hadoop-2.7.4/tmp/dfs/data</value>
        </property>
    </configuration>
    
    vim mapped-site.xml
    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
        <property>
            <name>mapreduce.jobhistory.address</name>
            <value>master:10020</value>
        </property>
        <property>
            <name>mapreduce.jobhistory.webapp.address</name>
            <value>master:19888</value>
        </property>
    </configuration>
    
    vim yarn-site.xml
    <configuration>
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>master</value>
        </property>
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
    </configuration>
    
    vim hadoop-env.sh文末添加:export JAVA_HOME=/usr/local/src/jdk1.8.0_151
    
    vim slaves里内容为
    slave1
    slave2
    
    6.将master配置好的hadoop文件分别复制到slave1和slave2(这是Mac上的操作,windows使用ftp工具)
    cd /usr/local/src/
    scp -rp hadoop-2.7.4 slave1:/usr/local/src/
    scp -rp hadoop-2.7.4 slave2:/usr/local/src/
    
    7.在slave1和slave2上重复本节的3,4步骤
    8.在master上进行磁盘格式化
    hadoop namenode -format
    cd /usr/local/src/hadoop-2.7.4/sbin/
    start-all.sh
    9.在master上jps可以看到
    2022 SecondaryNameNode
    1769 NameNode
    5401 Jps
    2175 ResourceManager
    10.在slave1和slave2上jps可以看到
    4020 Jps
    1606 DataNode
    1775 NodeManager
    11.master上将/etc/passwd拖入到hdfs上
    hadoop fs -put /etc/passwd /
    12.查看如果有/passwd则拖入成功
    hadoop fs -ls /
    

     7.安装spark

    1.将spark安装包上传到master的/usr/local/src/目录里(同上)
    2.解压spark安装包
    tar -zxvf spark-2.2.0-bin-hadoop2.7.tar
    3.设置环境变量
    vim /etc/profile 
    export JAVA_HOME=/usr/local/src/jdk1.8.0_151
    export HADOOP_HOME=/usr/local/src/hadoop-2.7.4
    export SCALA_HOME=/usr/local/src/scala-2.12.4
    export SPARK_HOME=/usr/local/src/spark-2.2.0-bin-hadoop2.7
    export PATH=:$PATH:$JAVA_HOME/bin:$JAVA_HOME/sbin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SCALA_HOME/bin:$SPARK_HOME/bin
    4.使配置生效
    source /etc/profile
    5.配置spark文件
    cd /usr/local/src/spark-2.2.0-bin-hadoop2.7/conf
    cp spark-env.sh.template spark-env.sh
    vim spark-env.sh里文末添加
    export JAVA_HOME=/usr/local/src/jdk1.8.0_151
    export SCALA_HOME=/usr/local/src/scala-2.12.4
    export HADOOP_HOME=/usr/local/src/hadoop-2.7.4
    export HADOOP_CONF_DIR=/usr/local/src/hadoop-2.7.4/etc/hadoop
    SPARK_MASTER_IP=master
    SPARK_LOCAL_DIRS=/usr/local/src/spark-2.2.0-bin-hadoop2.7
    SPARK_DRIVER_MEMORY=1G
    保存退出
    vim slaves
    slave1
    slave2
    6.将spark配置好的文件复制到slave1和slave2
    cd /usr/local/src
    scp spark-2.2.0-bin-hadoop2.7 slave1:/usr/local/src
    scp spark-2.2.0-bin-hadoop2.7 slave2:/usr/local/src
    7.在slave1,slave2上分别重复本节3,4步骤
    8.分别在master,slave1,slave2上启动spark
    cd /usr/local/src/spark-2.2.0-bin-hadoop2.7/sbin
    start-all.sh
    9.在master上jps可以看到
    4320 Master
    2022 SecondaryNameNode
    1769 NameNode
    5499 Jps
    2175 ResourceManager
    10.在slave1,slave2上jps可以看到
    4020 Jps
    1606 DataNode
    3323 Worker
    1775 NodeManager
    

     8.安装zookeeper

    1.将zookeeper安装包上传到master的/usr/local/src/目录里(同上)
    2.解压zookeeper安装包
    tar -zxvf zookeeper-3.4.10.tar
    3.配置spark配置文件
    cd /usr/local/src/zookeeper-3.4.10/conf
    cp zoo_sample.cfg zoo.cfg
    vim zoo.cfg
    将此三个参数修改为
    clientPort=2181
    dataDir=/usr/local/src/zookeeper-3.4.10/zoo_data
    tickTime=2000
    并在尾部添加ip地址填写自己实际的ip地址
    server.1=master:2888:3888
    server.2=slave1:2888:3888
    server.3=slave2:2888:3888
    保存退出
    4.在zookeeper-3.4.10目录里创建文件夹zoo_data
    cd /usr/local/src/zookeeper-3.4.10/zoo_data
    vim myid(此机是master所以写为1,与上一步骤中的server:后对应的一致)
    5.将zookeeper-3.4.10文件复制到slave1和slave2(此例是Mac操作方式,windows请用ftp工具)
    scp -rp zookeeper-3.4.10 save1:/usr/local/src/
    scp -rp zookeeper-3.4.10 save2:/usr/local/src/
    6.分别将slave1和slave2里/usr/local/src/ookeeper-3.4.10/zoo_data/myid里的数字改为2和3
    7.分别在mater,slave1和slave2里启动zookeeper服务
    cd /usr/local/src/ookeeper-3.4.10/
    bin/zkServer.sh start
    8.使用jps分别在master,slave1,slave2查看进程可以看到都多了QuorumPeerMain
    9.master进程为
    3729 Jps
    2723 NameNode
    3413 Master
    3126 ResourceManager
    2972 SecondaryNameNode
    3694 QuorumPeerMain
    10.slave1和slave2进程为
    2560 DataNode
    3251 Jps
    3124 QuorumPeerMain
    2966 Worker
    2749 NodeManager
    

     9.安装Hbase

    1.将hbase安装包上传到master的/usr/local/src/目录里(同上)
    2.解压hbase安装包
    tar -zxvf hbase-1.3.1.tar.gz
    3.设置环境变量并使之生效
    vim /etc/profile
    export JAVA_HOME=/usr/local/src/jdk1.8.0_151
    export HADOOP_HOME=/usr/local/src/hadoop-2.7.4
    export SCALA_HOME=/usr/local/src/scala-2.12.4
    export SPARK_HOME=/usr/local/src/spark-2.2.0-bin-hadoop2.7
    export HBASE_HOME=/usr/local/src/hbase-1.3.1
    export PATH=:$PATH:$JAVA_HOME/bin:$JAVA_HOME/sbin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SCALA_HOME/bin:$SPARK_HOME/bin:$HBASE_HOME/bin
    4.配置hbase配置文件
    cd /usr/local/src/hbase-1.3.1/conf
    vim base-env.sh
    文末添加
    export JAVA_HOME=/usr/local/src/jdk1.8.0_151
    export HBASE_MANAGES_ZK=false
    vim base-site.xml添加
    <configuration>
        <property>
            <name>hbase.rootdir</name>
            <value>hdfs://master:9000/hbase</value>
        </property>
        <property>
            <name>hbase.cluster.distributed</name>
            <value>true</value>
        </property>
        <property>
            <name>hbase.zookeeper.quorum</name>
            <value>master,slave1,slave2</value>
        </property>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
    </configuration>
    vim regionservers改为
    slave1
    slave2
    5.将/usr/local/src/hbase-1.3.1分别拷贝到slave1和slave2的/usr/local/src目录
    6.在slave1,salve2上进行本次3,4步骤
    7.分别在master,slave1,slave2上启动base
    cd /usr/local/src/hbase-1.3.1/bin
    start-hbase.sh
    8.在master上jps查看发现多了HMaster
    3313 Jps
    1955 SecondaryNameNode
    1702 NameNode
    2507 QuorumPeerMain
    3198 HMaster
    2399 Master
    2111 ResourceManager
    9.在slave1,slave2上jps查看发现多了HRegionServer
    1971 Worker
    1752 NodeManager
    2507 Jps
    1579 DataNode
    2044 QuorumPeerMain
    2396 HRegionServer
    
    技术让生活更优质!
  • 相关阅读:
    Java学习二十九天
    Java学习二十八天
    47. Permutations II 全排列可重复版本
    46. Permutations 全排列,无重复
    subset ii 子集 有重复元素
    339. Nested List Weight Sum 339.嵌套列表权重总和
    251. Flatten 2D Vector 平铺二维矩阵
    217. Contains Duplicate数组重复元素
    209. Minimum Size Subarray Sum 结果大于等于目标的最小长度数组
    438. Find All Anagrams in a String 查找字符串中的所有Anagrams
  • 原文地址:https://www.cnblogs.com/chennuo/p/7754357.html
Copyright © 2011-2022 走看看