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查看是否正常
    
    
  • 相关阅读:
    hiveserver2 with kerberos authentication
    python Basic usage
    python Quicksort demo
    Python HeapSort
    mrunit for wordcount demo
    CCDH证书
    Hadoop question list
    Hadoop Yarn core concepts
    Hadoop Resource
    Hadoop could not find or load main class
  • 原文地址:https://www.cnblogs.com/leoli705/p/12733532.html
Copyright © 2011-2022 走看看