首先介绍一下我的环境,我是在vmware12版本下安装的CentOS-7-x86_64-DVD-1804版本

1、安装python3

#python官网下载python

sudo wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz

#配置yum源
sudo yum groupinstall 'Development Tools'
#yum源安装python需要的库
sudo yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
#解压
sudo tar xf Python-3.6.8.tar.xz
#移动到/usr/local/python3/,没有可以mkdir建立
mv Python-3.6.8 /usr/local/python3/
#进入到Python-3.6.8/
cd /usr/local/python3/
cd Python-3.6.8/
#配置路径
sudo ./configure --prefix=/usr/local/python3 --enable-optimizations
#编译,注意在Python-3.6.8/下,失败重试前要make clean
sudo make
#安装
sudo make install
#建立软连接
sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python
#如果原来的python存在导致建立软连接失败,需要删除原来的软连接
sudo rm -rf /usr/bin/python
#删除后建立软连接
sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python
#查看版本
python -V

#安装完成python3后,要注意yum源是python2版本写的,所以要将yum源改回来

vi /usr/libexec/urlgrabber-ext-down
#!/usr/bin/python2.7

vim /usr.bin/yum
#!/usr/bin/python2.7

sudo yum -y install epel-release
安装pip
sudo yum install -y python-pip

2、安装jdk

jdk版本是jdk1.8.0_144

#解压到指定文件夹

tar -zxvf filename -C /usr/local/java/

#编辑/etc/下的profile文件,

vim ~/.bash_profile

#配置环境变量

export JAVA_HOME=/usr/local/java/jdk1.8.0_144
exort PATH=$JAVA_HOME/bin:$PATH

#使环境变量生效



source /etc/profile



#测试



java -version



3、安装scala

#解压文件到指定路径



sudo tar -zxvf scala-2.11.8.tgz -C /opt/app/



#进入文件



vi ~/.bash_profile



#在.bash_profile 文件下填写

export SCALA_HOME=/opt/app/scala-2.11.8
exort PATH=$SCALA_HOME/bin:$PATH

#完成后



source ~/.bash_profile



4、安装hadoop

#下载hadooop



sudo wget sudo http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz



#解压到/opt/app/



sudo tar -zxvf hadoop-2.6.0-cdh5.7.0.tar.gz -C /opt/app/



#进入到hadoop路径下



cd /opt/app/hadoop-2.6.0-cdh5.7.0



#修改配置文件



sudo vi ~/.bash_profile



#添加内容



export HADOOP_HOME=/opt/app/hadoop-2.6.0-cdh5.7.0
export PATH=$HADOOP_HOME/bin:$PATH



#进入到hadoop路径下的/etc/hadoop下,



/opt/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop



#进入后修改配置文件,1,hadoop-env.sh



sudo vi hadoop-env.sh

# The java implementation to use.
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/opt/app/jdk1.8.0_144



#查看JAVA_HOME的路径



echo $JAVA_HOME



#改配置文件,2,core-site.xml



sudo vi core-site.xml



#修改如下,centosmj 是本地名称



<configuration> <property> <name>fs.default.name</name> <value>hdfs://centosmj:8020</value> </property> </configuration>



#修改配置文件, 3. hdfs-site.xml



sudo vi hdfs-site.xml

<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/app/tmp/dfs/name</value>
</property>

<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/app/tmp/dfs/data</value>
</property>

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



#修改配置文件,4. mapred-site.xml.template



sudo vi mapred-site.xml.template



#拷贝一份模板



sudo cp mapred-site.xml.template mapred-site.xml
#更改配置如下
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>



#修改配置文件,5. yarn-site.xml



sudo vi yarn-site.xml

<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>



#格式化hadoop,完成后会在/opt/app/tmp 下生成文件夹



sudo ./hadoop namenode -format
#登陆dfs,在sbin路径下
./start-dfs.sh



#免密登陆问题,关键->检查.ssh (700) 和 authorized_keys(600) 权限
#完成命令./start-dfs.sh后,用jps看到如下



[hadoop@centosmj sbin]$ jps
3700 SecondaryNameNode
3355 NameNode
3503 DataNode
3903 Jps



#创建文件夹
hadoop fs -mkdir /test

#查看是否创建
hadoop fs -ls /

#试一下放入/test下一个文件
[hadoop@centosmj hadoop-2.6.0-cdh5.7.0]$ hadoop fs -put README.txt /test/

#命令查看
hadoop fs -ls /test/

#读一下放入的文件
hadoop fs -text /test/README.txt



#在本地浏览器中试验,输入url-> centosmj:50070

 

#启动yarn



#进入到sbin路径下
./start-yarn.sh
#jps会看到
[hadoop@centosmj sbin]$ jps
4962 ResourceManager
3700 SecondaryNameNode
5124 Jps
3355 NameNode
5070 NodeManager
3503 DataNode



#在本地浏览器中试验,输入url-> centosmj:8088

5、安装maven

#在官网下载后解压到/opt/app/路径下,

#修改配置文件,vi ~/.bash_profile 



export MAVEN_HOME=/opt/app/apache-maven-3.6.0
export PATH=$MAVEN_HOME/bin:$PATH



#修改配置文件settings.xml



#maven的配置文件settings.xml,如果不改会代码库会建在默认路径,
<!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->
  <localRepository>/opt/maven_repository</localRepository>



 

6、安装spark

#spark 官网地址 spark.apache.org/downloads.html

搭建单机版spark环境 单机spark能处理多大的数据_java

 

#下载后解压到/opt/app/下,进入spark目录,执行下面的命令



./dev/make-distribution.sh --name 2.6.0-cdh5.7.0 --tgz -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver -Dhadoop.version=2.6.0-cdh5.7.0



 

#编译要很长时间,而且需要联网,网速还要好,最好能FQ。编译的过程中有许多坑!

#坑一、要修改pom.xml文件,修改远程仓库地址,(修改成阿里镜像地址,增加cdh镜像地址)



#进入spark目录下,有一个pom.xml文件,要修改它:vim ./pom.xml



<repository>
  <id>maven-ali</id>
  <url>http://maven.aliyun.com/nexus/content/groups/public//</url>
  <releases>
  <enabled>true</enabled>
  </releases>
  <snapshots>
  <enabled>true</enabled>
  <updatePolicy>always</updatePolicy>
  <checksumPolicy>fail</checksumPolicy>
  </snapshots>
</repository>

<repository>
  <id>cloudera</id>
  <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
</repository>



#大家一定会有疑问这段代码应该贴在pom文件的什么位置呢,像那种贴在文件末尾段一定是不行的,

#因为pom文件是maven的核心,里面的规则还是很严谨的。那么让我的亲身经历告诉你,应该在贴在如下图所示的位置

#我把pom.xml文件拷贝出来,用Notepad++打开,网上的做法是把第一个repository替换成下面画红圈的部分,但我添加到后面也没问题。

搭建单机版spark环境 单机spark能处理多大的数据_大数据_02

#坑二、虚拟机的内存要大于4G,不然编译也会有问题的。

#除了上面的两个比较大的坑之外,还有许多下载失败导致编译出问题的情况,要仔细看error提示,将下载不下来的自己手动下载下来,或者重复编译一下

#本人遇到的问题还算少的,编译一共花费两个晚上一个白天。