cento7下,spark集群环境快速安装

最近准备倒腾spark.网上的搭建过程感觉都相当的长,自己在用virtual box搞了3台centos 7虚拟机,搭建了一次,发现可以不用那么复杂.就把自己的过程写下来.

过程就分几步:

  1.  系统准备工作.
  2. ssh免密码登录.
  3. 环境变量
  4. hadoop配置
  5. spark配置
  6. 测试

1.系统准备工作

 

首先是操作系统安装

iso镜像,建议选择DVD,不要用minimal.不然后面少各种命令.也是个麻烦.

 

 

新建虚拟机的时候,网络类型可以选仅主机(host only)网络,这样没接网线的时候也可以用.挂载iso镜像,一路下一步.选择Basic web server就了事了. ip最好还是改成静态.要是dhcp, 虚拟分配到的ip不是固定的.ip也可以在安装完毕以后再设置也可以.  用nmtui命令配置网络,也是图形界面了.难度不大.

 

以下操作都在root用户下面执行,并且每台上面都要运行

 

安装java,这里安装了jdk8

mkdir /media/cdrom/
mount /dev/cdrom /media/cdrom/

yum --disablerepo=\* --enablerepo=c7-media install java-1.8.0-openjdk-devel

 

安装好以后测试一下

java -version
javac -version

 

 

 

修改/etc/hosts

写入
192.168.56.11 master
192.168.56.12 slave1
192.168.56.13 slave2

 ip请根据实际情况填写

 

修改 /etc/hostname

按照机器所处的角色.每台分别写入master, slave1,slave2

 

为了不必要的麻烦,把防火墙设置为受信区域.省得麻烦.

 

firewall-cmd --set-default-zone=trusted

systemctl restart firewalld

 

 

2.ssh免密码登录.

 

创建hadoop运行用户

 

adduser -U hadoop
passwd hadoop #设置密码

#测试一下,顺便生成密钥,设置免密码登录
su hadoop
ssh-keygen #一路回车
ssh-copy-id hadoop@master
ssh-copy-id hadoop@slave1
ssh-copy-id hadoop@slave2
exit

 

重启虚拟机.

 

首先把hadoop和spark的压缩包上传到master的/home/hadoop目录下面.

我的压缩包分别是 hadoop-2.6.4.tar.gz  spark-1.6.1-bin-hadoop2.6.tgz

 

3.安装包和环境变量准备

 

以下操作都在master上以hadoop用户执行

 

直接解压

 

tar -xf ./hadoop-2.6.4.tar.gz
tar -xf ./spark-1.6.1-bin-hadoop2.6.tgz

 修改 ~/.bashrc

 

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk

export HADOOP_HOME=/home/hadoop/hadoop-2.6.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin


export SPARK_HOME=/home/hadoop/spark-1.6.1-bin-hadoop2.6
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

#如果你的java,hadoop,spark版本不同,请修改相应的路径

 

 

加载刚刚的设置

 

source ~/.bashrc

 

 

 

 

4.hadoop安装.

创建临时文件目录

 

cd ~/hadoop-2.6.4
mkdir tmp

 

 

修改etc/hadoop/core-site.xml

 

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/hadoop-2.6.4/tmp</value>
    </property>
</configuration>

 

 

 

修改etc/hadoop/hdfs-site.xml, 3份复制

 

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
</configuration>

 

 

创建文件etc/hadoop/mapred-site.xml

 

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

 

 

 

修改etc/hadoop/yarn-site.xml

 

 

<configuration>

<!-- Site specific YARN configuration properties -->
   <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>

</configuration>

 

 

 

修改 etc/hadoop/slaves

 

master
slave1
slave2

 

 

把配置好的hadoop也复制到slave1,slave2

 

scp -r ~/hadoop-2.6.4     slave1:/home/hadoop/
scp -r ~/hadoop-2.6.4     slave2:/home/hadoop/

 

hdfs准备

 

 

hdfs namenode -format
start-dfs.sh

如果启动过程中,出现ssh登录的指纹信息,直接输入yes确认.

 

 

启动完毕以后可以用jps,在每台机器上看一下.

master上有,

SecondaryNameNode

DataNode

NameNode

而slave上只有datanode

 

运行

 

start-yarn.sh

 

 

再用jps看看. master上会多出ResourceManager 和 NodeManager, 而slave只多出来NodeManager

 

5.spark安装

如果要用scala,需要安装,我用python,暂时就不安装了

 

 

cd ~/spark-1.6.1-bin-hadoop2.6/
cp conf/spark-env.sh.template conf/spark-env.sh

 

 

修改conf/spark-env.sh,加入一下内容, ip填入master的实际ip

 

export SPARK_MASTER_IP=192.168.56.11
export SPARK_WORKER_MEMORY=512m
#内存可以看情况
export HADOOP_CONF_DIR=/home/hadoop/hadoop-2.6.4/etc/hadoop

 

 

复制slaves文件模板

cp conf/slaves.template conf/slaves

conf/slaves加入一下内容

master
slave1
slave2

 

 

配置完毕,复制到slave机器

scp -r ~/spark-1.6.1-bin-hadoop2.6    hadoop@slave1:/home/hadoop
scp -r ~/spark-1.6.1-bin-hadoop2.6    hadoop@slave2:/home/hadoop

 

启动

start-all.sh 

 

 

6.测试

hdfs dfs -copyFromLocal ~/spark-1.6.1-bin-hadoop2.6/README.md /

pyspark
print sc.textFile('/README.md').cache().count()

 

 

你可能感兴趣的:(hadoop,spark,CentOS7)