①Spark入门-环境搭建

来源:互联网 发布:ideamaker 切片软件 编辑:程序博客网 时间:2024/05/17 03:38

Spark集群环境搭建(最少3台)

1、Linux虚拟机网络配置

  1. ifconfig eth0 192.168.0.100
  2. 在/etc/hosts文件中配置本地ip(192.168.0.100)到host(spark1)
  3. 配置静态ip:
    vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0TYPE=EthernetONBOOT=yesBOOTPROTO=staticIPADDR=192.168.0.100NETMASK=255.255.255.0GATEWAY=192.168.0.1DNS1=192.168.0.1
  4. 重启网卡:service network restart
  5. 关闭防火墙:
    service iptables stopchkconfig iptables offvi /etc/selinux/configSELINUX=disabled

    自己在win7的控制面板中,关闭windows的防火墙!

2、yum配置

  1. 修改repo
    cd /etc/yum.repos.d/rm -rf *mv 自己的repo文件移动到/etc/yum.repos.d/目录中:cp /usr/local/CentOS6-Base-163.repo .修改repo文件,把所有gpgcheck属性修改为0
  2. 配置yum
    yum clean allyum makecacheyum install telnet

3、JDK1.7安装

  1. 安装JDK:rpm -ivh jdk-7u65-linux-i586.rpm
  2. 配置jdk相关的环境变量
    cd vi .bashrcexport JAVA_HOME=/usr/java/latestexport PATH=$PATH:$JAVA_HOME/binsource .bashrc
  3. 测试jdk安装是否成功:java-version
  4. rm-f /etc/udev/rules.d/70-persistent-net.rules
  5. 同理安装第二台和第三台

4、配置集群ssh免密码登录

  1. 首先在三台机器上配置对本机的ssh免密码登录生成本机的公钥,过程中不断敲回车即可,ssh-keygen命令默认会将公钥放在/root/.ssh目录下:

    ssh-keygen -t rsa

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

    cd /root/.sshcp id_rsa.pub authorized_keys

  3. 接着配置三台机器互相之间的ssh免密码登录

    使用ssh-copy-id -i spark?命令将本机的公钥拷贝到指定机器的authorized_keys文件中(方便好用)

5、Hadoop2.4.1集群搭建

  1. 将hadoop-2.4.1.tar.gz上传到CentOS的/usr/local目录下
  2. 将hadoop包进行解压缩:tar -zxvf hadoop-2.4.1.tar.gz
  3. 对hadoop目录进行重命名:mv hadoop-2.4.1 hadoop
  4. 配置hadoop相关环境变量

    cdvi .bashrcexport HADOOP_HOME=/usr/local/hadoopexport PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbinsource .bashrc
  5. 创建data文件夹,后面配置中配置了
    cd /usr/localmkdir data
  6. 修改hadoop配置
    1>修改core-site.xml  <property>    <name>fs.default.name</name>    <value>hdfs://spark1:9000</value>  </property>2>修改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>3>修改mapred-site.xml  <property>    <name>mapreduce.framework.name</name>    <value>yarn</value>  </property>4>修改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>5>修改slaves文件  spark1  spark2  spark3
  7. 使用如上配置在另外两台机器上搭建hadoop,可以使用scp命令将spark1上面的hadoop安装包和.bashrc配置文件都拷贝过去。

    cd /usr/localscp -r hadoop root@spark2:/usr/localscp -r hadoop root@spark3:/usr/local
  8. .bashrc文件同样拷贝过去,要记得对.bashrc文件进行source,以让它生效
  9. 记得在spark2和spark3的/usr/local目录下创建data目录
  10. 启动hdfs集群
    1、格式化namenode:在spark1上执行以下命令,hdfs namenode -format2、启动hdfs集群:start-dfs.sh3、验证启动是否成功:jps、50070端口spark1:namenode、datanode、secondarynamenodespark2:datanodespark3:datanode
  11. 启动yarn集群
    1、启动yarn集群:start-yarn.sh2、验证启动是否成功:jps、8088端口spark1:resourcemanager、nodemanagerspark2:nodemanagerspark3:nodemanager

6、Hive 0.13搭建

  1. 将apache-hive-0.13.1-bin.tar.gz上传到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 ~/.bashrcexport HIVE_HOME=/usr/local/hiveexport PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/binsource ~/.bashrc

7、安装mysql

  1. 在spark1上安装mysql
  2. 使用yum安装mysqlserver
    yum install -y mysql-serverservice mysqld startchkconfig mysqld on
  3. 使用yum安装mysqlconnector
    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;
  6. 配置hive-site.xml
    mv hive-default.xml.template hive-site.xmlvi 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> 
  7. 配置hive-env.sh和hive-config.sh
    mv hive-env.sh.template hive-env.shvi /usr/local/hive/bin/hive-config.shexport JAVA_HOME=/usr/java/latestexport HIVE_HOME=/usr/local/hiveexport HADOOP_HOME=/usr/local/hadoop
  8. 验证hive是否安装成功
    直接输入hive命令,可以进入hive命令行

8、ZooKeeper3.4.5集群搭建

  1. 将zookeeper-3.4.5.tar.gz拷贝到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 ~/.bashrcexport ZOOKEEPER_HOME=/usr/local/zkexport PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$ZOOKEEPER_HOME/binsource ~/.bashrc
  5. 配置zoo.cfg
    cd zk/confmv zoo_sample.cfg zoo.cfgvi zoo.cfg修改:dataDir=/usr/local/zk/data新增:server.0=spark1:2888:3888server.1=spark2:2888:3888server.2=spark3:2888:3888
  6. 设置zk节点标识
    cd zkmkdir datacd datavi myid0
  7. 在另外两个节点上按照上述步骤配置ZooKeeper,使用scp将zk和.bashrc拷贝到spark2和spark3上即可;唯一的区别是spark2和spark3的(myid文件中)标识号分别设置为1和2
  8. 启动ZooKeeper集群
    分别在三台机器上执行:zkServer.sh start检查ZooKeeper状态:zkServer.sh status

9、安装scala 2.11.4

  1. 将scala-2.11.4.tgz拷贝到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 ~/.bashrcexport SCALA_HOME=/usr/local/scalaexport PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$ZOOKEEPER_HOME/bin:$SCALA_HOME/binsource ~/.bashrc
  5. 查看scala是否安装成功
    scala -version
  6. 按照上述步骤在spark2和spark3机器上都安装好scala。使用scp将scala和.bashrc拷贝到spark2和spark3上即可

10、kafka_2.9.2-0.8.1集群搭建

  1.  将kafka_2.9.2-0.8.1.tgz拷贝到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.propertiesbroker.id:依次增长的整数,0、1、2、3、4,集群中Broker的唯一idzookeeper.connect=192.168.0.100:2181,192.168.0.101:2181,192.168.0.102:2181
  5. 将slf4j-1.7.6.zip上传到/usr/local目录下

    yum install unzipunzip slf4j-1.7.6.zip
    把slf4j中的slf4j-nop-1.7.6.jar复制到kafka的libs目录下面
    mv slf4j-1.7.6/slf4j-nop-1.7.6.jar kafka/libs

  6.  搭建kafka集群

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

  7.  启动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检查启动是否成功

  8.  测试kafka集群

    使用基本命令检查kafka是否搭建成功窗口Abin/kafka-topics.sh --zookeeper 192.168.0.100:2181,192.168.0.101:2181,192.168.0.102:2181 --topic TestTopic --replication-factor 1 --partitions 1 --createbin/kafka-console-producer.sh --broker-list 192.168.0.100:9092,192.168.0.101:9092,192.168.0.102:9092 --topic TestTopic新克隆一个窗口Bbin/kafka-console-consumer.sh --zookeeper 192.168.0.100:2181,192.168.0.101:2181,192.168.0.102:2181 --topic TestTopic --from-beginning在A窗口输入消息回车,看B窗口是否有信息

11、Spark1.3.0集群搭建

  1. 将spark-1.3.0-bin-hadoop2.4.tgz上传到/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 ~/.bashrcexport SPARK_HOME=/usr/local/sparkexport PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$ZOOKEEPER_HOME/bin:$SCALA_HOME/bin:$SPARK_HOME/binexport CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/libsource ~/.bashrc
  5. 修改spark-env.sh文件
    cd /usr/local/spark/confcp spark-env.sh.template spark-env.shvi spark-env.shexport JAVA_HOME=/usr/java/latestexport SCALA_HOME=/usr/local/scalaexport SPARK_MASTER_IP=192.168.0.100export SPARK_WORKER_MEMORY=1gexport HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
  6.  修改slaves文件

    mv slaves.template slaves
    vi slaves
    spark2spark3

  7.  安装spark集群

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

  8.  启动spark集群

    1、在spark目录下的sbin目录2、执行./start-all.sh3、使用jsp和8080端口可以检查集群是否启动成功4、进入spark-shell查看是否正常

12、至此,Spark集群搭建完成



注意:scp命令=> 

scp -r 要复制的文件夹 户名@IP:目标路径如:scp -r spark root@192.168.0.102:/usr/localscp -r ~/.bashrc root@192.168.0.102:~/


阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 芸汐传黑蚂蚁影院 芸汐传演员表 江云燕檀冰亚全文免费阅读 江流云神秘老公有点坏 檀冰亚江云燕免费阅读 沁教云 中冶沁海云墅 御墨琛洛言沁免费全文 沃云主机 云沃客 云溪传 云别传 云夕传 邪神红云传 九霄奔云传 云别传百万增字版 沧澜 李锋沐沧澜 沧澜帝妃 江山沧澜 沧澜图 沧澜市 沧澜图我吃西红柿 李锋沐沧澜全文阅读 凤归沧澜修罗心头宠 沧澜帝妃全文免费阅读 李锋沐沧澜免费全文免费阅读 云河湾 云河湾小区 云河谷 万泉寺社区 云泉寺 峡江寺飞泉亭记译文 云泥沙润滑油怎么用 云泥沙 高歌暮云泽免费全文 漳州云洞岩 漳州云洞岩风景区 全球上网云流量 金斗云物联网流量卡 流量云下载