• 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
    
    技术让生活更优质!
  • 相关阅读:
    【连载】【FPGA黑金开发板】NIOSII那些事儿USB设备模式(十九)
    【连载】【FPGA黑金开发板】NIOSII那些事儿LCD中英文字符显示(二十三)
    Asp.Net缓存
    Repeater实现颜色交替
    C#迭代器简单应用
    C#泛型编程初级入门
    利用vs.net快速开发windows服务(c#) (转)
    简单的c#验证类(转)
    编写适合于自己的代码生成器 (zhuan)
    HashTable的使用(转)
  • 原文地址:https://www.cnblogs.com/chennuo/p/7754357.html
Copyright © 2020-2023  润新知