zoukankan      html  css  js  c++  java
  • 搭建Centos集群和Spark集群

    1、在虚拟机中安装CentOS

           1. 安装好虚拟机后首先配置网络

    vi /etc/sysconfig/network-scripts/ifcfg-eth0
    
    //先将ONBOOT改成yes DEVICE=eth0 TYPE=Ethernet ONBOOT=yes BOOTPROTO=dhcp

    service network restart  //重启network
    ifconfig

    //如果用的是windows 可以用ipconfig查看系统的IP地址 网关等,根据网关,子网掩码等配置centos中的network

    BOOTPROTO=static
    IPADDR=192.168.0.X
    NETMASK=255.255.255.0
    GATEWAY=192.168.0.1


    service network restart



    
    
    2.配置本机的hostname到ip地址的映射
    vi /etc/hosts

    //如192.168.1.109 spark1
    3.关闭防火墙
    service iptables stop
    service ip6tables stop
    chkconfig iptables off
    chkconfig ip6tables off
    
    vi /etc/selinux/config
    SELINUX=disabled

    3.配置yum

    yum clean all
    yum makecache
    yum install wget

    4.安装java

    1、将jdk-7u60-linux-i586.rpm通过WinSCP上传到虚拟机中
    2、安装JDK:rpm -ivh jdk-7u65-linux-i586.rpm
    3、配置jdk相关的环境变量
    vi .bashrc
    export JAVA_HOME=/usr/java/latest
    export PATH=$PATH:$JAVA_HOME/bin
    source .bashrc
    4、测试jdk安装是否成功:java -version

    5.在3个虚拟机中安装CentOS集群

    比如说,在spark1的hosts里面

    192.168.1.109 spark1
    192.168.1.102 spark2
    192.168.1.104 spark3

    6. 配置4台CentOS为ssh免密码互相通信

       (1)首先在三台机器上配置对本机的ssh免密码登录

    ssh-keygen -t rsa

    生成本机的公钥,过程中不断敲回车即可,ssh-keygen命令默认会将公钥放在/root/.ssh目录下

    cd /root/.ssh
    cp id_rsa.pub authorized_keys

    将公钥复制为authorized_keys文件,此时使用ssh连接本机就不需要输入密码了

    (2)接着配置三台机器互相之间的ssh免密码登录

    使用ssh-copy-id -i hostname命令将本机的公钥拷贝到指定机器的authorized_keys文件中

    scp authorized_keys spark2:/root/.ssh

     2.搭建Hadoop集群

    1.配置hadoop

    1、将hadoop-2.4.1.tar.gz,使用WinSCP上传到CentOS的/usr/local目录下。
    2
    、将hadoop包进行解压缩:tar -zxvf hadoop-2.4.1.tar.gz 3、对hadoop目录进行重命名:mv hadoop-2.4.1 hadoop 4、配置hadoop相关环境变量 vi .bashrc export HADOOP_HOME=/usr/local/hadoop export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin source .bashrc

    2.修改core-site.xml 

    <property>
      <name>fs.default.name</name>
      <value>hdfs://spark1:9000</value>
    </property>

    3.修改hdfs-site.xml

    <property>
      <name>dfs.name.dir</name>
      <value>/usr/local/data/namenode</value>
    </property>
    <property>
      <name>dfs.data.dir</name>
      <value>/usr/local/data/datanode</value>
    </property>
    <property>
      <name>dfs.tmp.dir</name>
      <value>/usr/local/data/tmp</value>
    </property>
    <property>
      <name>dfs.replication</name>
      <value>3</value>
    </property>

    4.修改mapred-site.xml

    <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
    </property>

    5.修改yarn-site.xml

    <property>
      <name>yarn.resourcemanager.hostname</name>
      <value>spark1</value>
    </property>
    <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
    </property>

    6.修改slaves文件

    spark1
    spark2
    spark3

    7.在另外两台机器上搭建hadoop

        1、使用如上配置在另外两台机器上搭建hadoop,可以使用scp命令将spark1上面的hadoop安装包和.bashrc配置文件都拷贝过去。

             

    scp -r /usr/local/hadoop root@spark1:/usr/local/

    scp ~/.bashrc root@spark1:~/.

         2、要记得对.bashrc文件进行source,以让它生效。  

    source ~/.bashrc

          3、记得在spark2和spark3的/usr/local目录下创建data目录。

    mkdir data

    8.启动hdfs集群

    1、格式化namenode:在spark1上执行以下命令,hdfs namenode -format
    2、启动hdfs集群:start-dfs.sh
    3、验证启动是否成功:jps、50070端口
    spark1:namenode、datanode、secondarynamenode
    spark2:datanode
    spark3:datanode

    9.启动yarn集群

    1、启动yarn集群:start-yarn.sh
    2、验证启动是否成功:jps、8088端口 spark1:resourcemanager、nodemanager spark2:nodemanager spark3:nodemanager

    3.安装Hive

    1.安装hive包

    1、将apache-hive-0.13.1-bin.tar.gz使用WinSCP上传到spark1的/usr/local目录下。
    2、解压缩hive安装包:tar -zxvf apache-hive-0.13.1-bin.tar.gz。
    3、重命名hive目录:mv apache-hive-0.13.1-bin hive
    4、配置hive相关的环境变量
    vi .bashrc
    export HIVE_HOME=/usr/local/hive
    export PATH=$HIVE_HOME/bin
    source .bashrc

    2.安装mysql

    1、在spark1上安装mysql。
    2、使用yum安装mysql server。
    yum install -y mysql-server
    service mysqld start
    chkconfig mysqld on
    3、使用yum安装mysql connector
    yum install -y mysql-connector-java
    4、将mysql connector拷贝到hive的lib包中
    cp /usr/share/java/mysql-connector-java-5.1.17.jar /usr/local/hive/lib
    5、在mysql上创建hive元数据库,并对hive进行授权
    create database if not exists hive_metadata;
    grant all privileges on hive_metadata.* to 'hive'@'%' identified by 'hive';
    grant all privileges on hive_metadata.* to 'hive'@'localhost' identified by 'hive';
    grant all privileges on hive_metadata.* to 'hive'@'spark1' identified by 'hive';
    flush privileges;
    use hive_metadata;

    3.配置hive-site.xml

    mv hive-default.xml.template hive-site.xml
    vi hive-site.xml
    <property>
      <name>javax.jdo.option.ConnectionURL</name>
      <value>jdbc:mysql://spark1:3306/hive_metadata?createDatabaseIfNotExist=true</value>
    </property>
    <property>
      <name>javax.jdo.option.ConnectionDriverName</name>
      <value>com.mysql.jdbc.Driver</value>
    </property>
    <property>
      <name>javax.jdo.option.ConnectionUserName</name>
      <value>hive</value>
    </property>
    <property>
      <name>javax.jdo.option.ConnectionPassword</name>
      <value>hive</value>
    </property>
    <property>
      <name>hive.metastore.warehouse.dir</name>
      <value>/user/hive/warehouse</value>
    </property>

    4.配置hive-env.sh和hive-config.sh

    mv hive-env.sh.template hive-env.sh
    
    vi /usr/local/hive/bin/hive-config.sh
    export JAVA_HOME=/usr/java/latest
    export HIVE_HOME=/usr/local/hive
    export HADOOP_HOME=/usr/local/hadoop

    5.验证hive是否安装成功

      1. 直接输入hive命令,可以进入hive命令行

    4.搭建Zookeeper集群

      1.安装ZooKeeper包

      

    1、将课程提供的zookeeper-3.4.5.tar.gz使用WinSCP拷贝到spark1的/usr/local目录下。
    2、对zookeeper-3.4.5.tar.gz进行解压缩:tar -zxvf zookeeper-3.4.5.tar.gz。
    3、对zookeeper目录进行重命名:mv zookeeper-3.4.5 zk。
    4、配置zookeeper相关的环境变量
    vi .bashrc
    export ZOOKEEPER_HOME=/usr/local/zk
    export PATH=$ZOOKEEPER_HOME/bin
    source .bashrc

    2. 配置zoo.cfg

    cd zk/conf
    mv zoo_sample.cfg zoo.cfg
    
    vi zoo.cfg
    修改:dataDir=/usr/local/zk/data
    新增:
    server.0=spark1:2888:3888    
    server.1=spark2:2888:3888
    server.2=spark3:2888:3888

    3.设置zk节点标识

    cd zk
    mkdir data
    cd data
    
    vi myid
    0

    4.搭建zk集群

      1、在另外两个节点上按照上述步骤配置ZooKeeper,使用scp将zk和.bashrc拷贝到spark2和spark3上即可。
      2、唯一的区别是spark2和spark3的标识号分别设置为1和2。

    5.启动ZooKeeper集群

    1、分别在三台机器上执行:zkServer.sh start。
    2、检查ZooKeeper状态:zkServer.sh status。

     5.搭建Kafka

    1.安装scala 2.11.4

    1、将scala-2.11.4.tgz使用WinSCP拷贝到spark1的/usr/local目录下。
    2、对scala-2.11.4.tgz进行解压缩:tar -zxvf scala-2.11.4.tgz。
    3、对scala目录进行重命名:mv scala-2.11.4 scala
    4、配置scala相关的环境变量
    vi .bashrc
    export SCALA_HOME=/usr/local/scala
    export PATH=$SCALA_HOME/bin
    source .bashrc
    5、查看scala是否安装成功:scala -version
    6、按照上述步骤在spark2和spark3机器上都安装好scala。使用scp将scala和.bashrc拷贝到spark2和spark3上即可。

    2.安装Kafka包

    1、将课程提供的kafka_2.9.2-0.8.1.tgz使用WinSCP拷贝到spark1的/usr/local目录下。
    2、对kafka_2.9.2-0.8.1.tgz进行解压缩:tar -zxvf kafka_2.9.2-0.8.1.tgz。
    3、对kafka目录进行改名:mv kafka_2.9.2-0.8.1 kafka
    4、配置kafka
    vi /usr/local/kafka/config/server.properties
    broker.id:依次增长的整数,01234,集群中Broker的唯一id
    zookeeper.connect=192.168.1.107:2181,192.168.1.108:2181,192.168.1.109:2181
    5、安装slf4j
    将课程提供的slf4j-1.7.6.zip上传到/usr/local目录下
    unzip slf4j-1.7.6.zip
    把slf4j中的slf4j-nop-1.7.6.jar复制到kafka的libs目录下面

    3.搭建kafka集群

      1、按照上述步骤在spark2和spark3分别安装kafka。用scp把kafka拷贝到spark2和spark3行即可。
      2、唯一区别的,就是server.properties中的broker.id,要设置为1和2

    4.启动kafka集群

     

    1、在三台机器上分别执行以下命令:nohup bin/kafka-server-start.sh config/server.properties &
    
    2、解决kafka Unrecognized VM option 'UseCompressedOops'问题
    vi bin/kafka-run-class.sh 
    if [ -z "$KAFKA_JVM_PERFORMANCE_OPTS" ]; then
      KAFKA_JVM_PERFORMANCE_OPTS="-server  -XX:+UseCompressedOops -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC -Djava.awt.headless=true"
    fi
    去掉-XX:+UseCompressedOops即可
    
    3、使用jps检查启动是否成功

    5.测试Kafka集群

    使用基本命令检查kafka是否搭建成功
    
    bin/kafka-topics.sh --zookeeper hadoop01:2181,hadoop02:2181,hadoop03:2181 --topic Test --replication-factor 1 --partitions 1 --create
    
    bin/kafka-console-producer.sh --broker-list hadoop01:9092,hadoop02:9092,hadoop03:9092 --topic Test
    
    bin/kafka-console-consumer.sh --zookeeper hadoop01:2181,hadoop02:2181,hadoop03:2181 --topic Test --from-beginning

    6.搭建spark集群

    1.安装spark包

    1、将spark-1.3.0-bin-hadoop2.4.tgz使用WinSCP上传到/usr/local目录下。
    2、解压缩spark包:tar zxvf spark-1.3.0-bin-hadoop2.4.tgz。
    3、更改spark目录名:mv spark-1.3.0-bin-hadoop2.4 spark
    4、设置spark环境变量
    vi .bashrc
    export SPARK_HOME=/usr/local/spark
    export PATH=$SPARK_HOME/bin
    export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    source .bashrc

    2.修改spark-env.sh文件

    1、cd /usr/local/spark/conf
    2cp spark-env.sh.template spark-env.sh
    3vi spark-env.sh
    export JAVA_HOME=/usr/java/latest
    export SCALA_HOME=/usr/local/scala
    export SPARK_MASTER_IP=192.168.1.107
    export SPARK_WORKER_MEMORY=1g
    export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop

    3.修改slaves文件

    spark1
    spark2
    spark3

    4.安装spark集群

    在另外两个节点进行一模一样的配置,使用scp将spark和.bashrc拷贝到spark2和spark3即可。

    5.启动spark集群

    1、在spark目录下的sbin目录
    2、执行./start-all.sh
    3、使用jsp和8080端口可以检查集群是否启动成功
    4、进入spark-shell查看是否正常
    
    
  • 相关阅读:
    HDU 4285
    Codeforces 242C
    Codeforces 811C
    Codeforces 883H
    Codeforces 371D
    Codeforces 926E
    牛客算法周周练17 解题报告
    牛客算法周周练17D
    牛客算法周周练17C
    牛客算法周周练17A
  • 原文地址:https://www.cnblogs.com/leoli705/p/12733532.html
Copyright © 2011-2022 走看看