spark伪分布式搭建大全

VMware

  1. 低端配置 Ubuntu16.04

1个处理器,2个内核;1024MB内存;30GB硬盘;一个低版本iso文件
虚拟机Python版本为3.5,在Pycharm中unsupported

  1. 高端安装 Ubuntu18.04

2个处理器,2个内核;2048内存;50GB硬盘;一个新版本iso文件
Python版本为3.6,刚刚好

  1. 顶配 越高越好 python版本会超3.8

我选择第一种。除了上述说的配置之外,还有注意稍后安装操作系统,其余一路点击确定即可。

最后选择了第二种,呜呜呜

注意 点击虚拟网络编辑器,将主机虚拟适配器连接到此网络,不然sudo apt-get update会失败!改不了将主机虚拟适配器连接到此网络的请下载Cleaner,删除注册表!


Ubuntu

  1. 选择中文
  2. 什么都不要勾
  3. 分区设置
    • swap 2GB
    • / 28GB 逻辑 ext4
  4. 时区
  5. 用户名 密码123456(怕忘了)
  6. 等待安装

输入法切换 直接按shift即可

复制粘贴 加上shift即可


FileZilla

在Windows安装好

然后看些教程

$ sudo apt-get install vsftpd
$ sudo vim /etc/vsftpd.conf
#找到
local_enable=YES
write_enable=YES
$ sudo /etc/init.d/vsftpd restart
#ifconfig命令不起作用
$ sudo apt install net-tools
$ ifconfig 
#查IP地址 然后连接Windows的FileZilla
#192.168.10.xxx,密码123456

Hadoop

版本2.7.1

创建hadoop用户

如果开始用户名就是hadoop,可以跳过这一步

$ sudo useradd -m hadoop -s /bin/bash  #这里是用户user创建add
$ sudo passwd hadoop                   #输入两次密码
$ sudo adduser hadoop sudo             #添加add用户user hadoop 的权限sudo
#然后注销换hadoop上场

更新apt

$ sudo apt-get update
$ sudo apt-get install vim 
$ sudo apt-get install gedit  #比vim更友好

免密登录

$ sudo apt-get install openssh-server    #安装ssh
$ ssh localhost                          #登录本机
                                         #每次都要输入密码
$ exit                                   #先退出登录
$ cd ~/.ssh                              #执行了一次ssh localhost就有  
$ ssh-keygen -t rsa                      #生成密钥
                                         #id_rsa是私钥,id_rsa.pub是公钥
$ cat ./id_rsa.pub >> ./authorized_keys  #给大哥公钥
$ ssh localhost

安装Java环境

$ sudo tar -zxvf java包名 -C /usr/lib/jvm    #事先创建
$ vim ~/.bashrc
export JAVA_HOME= #pwd
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
$ source ~/.bashrc
$ java -version

安装Hadoop2.7.1

$ sudo tar -zxvf 包名 -C /usr/local
$ sudo mv /usr/local/包名 /usr/local/hadoop
$ sudo chown -R hadoop ./hadoop              #修改文件权限
$ ./bin/hadoop version

单机模式

需要建立input文件夹放入文件

然后直接运行例子 输出到output文件夹

下次运行前需要删掉output


伪分布式模式

需要配置xml文件

  1. /usr/local/hadoop/etc/hadoop/core-site.xml
<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

这里我选择改为hadoop:9000
后面的配置也要把localhost改为hadoop

  1. /usr/local/hadoop/etc/hadoop/hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/data</value>
    </property>
</configuration>

问:文件的意义?

$ hdfs namenode -format
$ start-dfs.sh

关于下一次重启hdfs

$ stop-dfs.sh
$ cd /usr/local/hadoop
$ rm -rf tmp/
$ hdfs namenode -format
$ start-dfs.sh
# 打开http://192.168.10.131:50070
# 或者hadoop:50070

遇到的问题

hostname 主机名称

hosts 加一下IP地址和主机名称


Spark

版本2.4.0 without hadoop

解压缩 改名 授权

$ sudo tar -zxvf 包名 -C /usr/local/
$ cd /usr/local
$ sudo mv 文件夹名 spark
$ sudo chown -R hadoop:hadoop ./spark

配置相关文件

$ vim ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162 #要更改
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=$PATH:${JAVA_HOME}/bin:/usr/local/hbase/bin
export HADOOP_HOME=/usr/local/hadoop
export SPARK_HOME=/usr/local/spark
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.7-src.zip:$PYTHONPATH  #注意数字
export PYSPARK_PYTHON=python3
export PATH=$HADOOP_HOME/bin:$SPARK_HOME/bin:$PATH
$ source ~/.bashrc

这给的稍微乱了点,可以稍微整理下

#JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_212 #要更改
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=$PATH:${JAVA_HOME}/bin

#HADOOP_HOME
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

#SPARK_HOME
export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin

#HBASE_HOME
export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin

#PYTHON_HOME
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.7-src.zip:$PYTHONPATH  #注意数字
export PYSPARK_PYTHON=python3

我没系统学过环境变量这类知识,凭感觉改的,如果有错欢迎指正!


验证Spark是否安装成功

$ cd /usr/local/spark
$ ./bin/run-example SparkPi 2>&1 | grep "Pi is roughly"

没有输出

$ ./bin/run-example SparkPi
Error...

原因:没启动Hadoop HDFS,没有配置环境变量

$ cd /usr/local/spark
$ cp ./conf/spark-env.sh.template ./conf/spark-env.sh
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)

关于 45 python未找到

$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

Spark与Hadoop交互

#先启动Hadoop
$ cd /usr/local/hadoop
$ ./sbin/start-dfs.sh

伪分布式Spark只会用到HDFS读写文件


pyspark

Python3

之前装CentOS需要自己装

Ubuntu好像自带,那没事了


启动

$ cd /usr/local/spark
$ ./bin/pyspark --master local[*]

Error…

还是没有启动HDFS

启动之后就可以进入spark-shell

然后输入jps发现多了个SparkSubmit


HBase

安装

$ tar -zxvf 包名 -C /usr/local
$ sudo mv 文件夹名 hbase
$ vim ~/.bashrc
export PATH=$PATH:/usr/local/hbase/bin
$ source ~/.bashrc
$ sudo chown -R hadoop ./hbase
$ hbase/bin/hbase version

伪分布式配置

$ vim /usr/local/hbase/conf/hbase-env.sh
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_212
export HBASE_CLASSPATH=/usr/local/hadoop/conf 
export HBASE_MANAGES_ZK=true
$ vim /usr/local/hbase/conf/hbase-site.xml
<configuration>
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://localhost:9000/hbase</value>
        </property>
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
</configuration>

这里我改为hadoop:9000

$ start-hbase.sh
$ jps
$ stop-hbase.sh

启动成功后HDFS的web端会出现一个hbase文件夹

Hbase配置Spark

$ cd /usr/local/spark/jars/
$ mkdir hbase
$ cd hbase
$ cp /usr/local/hbase/lib/hbase*.jar ./ 
$ cp /usr/local/hbase/lib/guava-12.0.1.jar ./
$ cp /usr/local/hbase/lib/htrace-core-3.1.0-incubating.jar ./
$ cp /usr/local/hbase/lib/protobuf-java-2.5.0.jar ./
$ cp ~/下载/spark-examples_2.11-1.6.0-typesafe-001.jar ./
$ vim /usr/local/spark/conf/spark-env.sh
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)
export SPARK_DIST_CLASSPATH=$(/usr/local/hbase/bin/hbase classpath):/usr/local/spark/jars/hbase/*

MySQL


安装

$ sudo apt-get update
$ sudo apt-get install mysql-server

下载特别慢,耐心等待!

启动和关闭

$ service mysql start
$ sudo netstat -tap | grep mysql #LISTEN
$ mysql -u root -p
$ service mysql restart
$ service mysql stop

如果登录时报root@localhost错 需要su登进去root超级账户;如果su失败 则需要给超级账号初始化密码

$ sudo passwd
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值