主机名
ip
配置
系统
heboan-hadoop-000
10.1.1.15
8C/8G
CentOS7.7
工具包
配置本机ssh免密
时间校准
文件描述符优化
安装jdk
tar xf jdk-8u231-linux-x64.tar.gz -C /srv/vim~/.bash_profile
export JAVA_HOME=/srv/jdk1.8.0_231
export PATH=$JAVA_HOME/bin:$PATH
source~/.bash_profile
安装maven
tar xf apache-maven-3.6.3-bin.tar.gz -C /srv/vim~/.bash_profile
export MAVEN_HOME=/srv/apache-maven-3.6.3export PATH=$MAVEN_HOME/bin:$PATH
source~/.bash_profile
#更改本地仓库存路径mkdir /data/maven_repository
vim/srv/apache-maven-3.6.3/conf/settings.xml
安装python3
yum install gcc gcc-c++ openssl-devel readline-devel unzip -ytar xf Python-3.6.10.tgz
cd Python-3.6.10./configure --prefix=/srv/python36 --enable-optimizationsmake && make installvim~/.bash_profile
export PATH=/srv/python36/bin:$PATH
source~/.bash_profile
安装scala
tar xf scala-2.11.8.tgz -C /srv/vim~/.bash_profile
export SCALA_HOME=/srv/scala-2.11.8export PATH=$SCALA_HOME/bin:$PATH
source~/.bash_profile
部署hadoop
下载安装
wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz
tar xf hadoop-2.6.0-cdh5.7.0.tar.gz -C /srv/vim~/.bash_profile
export HADOOP_HOME=/srv/hadoop-2.6.0-cdh5.7.0export PATH=$HADOOP_HOME/bin:$PATH
source~/.bash_profile
配置hadoop
cd /srv/hadoop-2.6.0-cdh5.7.0/etc/hadoop
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/srv/jdk1.8.0_231
hadoop-env.sh
fs.default.name
hdfs://heboan-hadoop-000:8020
core-site.xml
mkdir -p /data/hadoop/{namenode,datanode}
dfs.namenode.name.dir
/data/hadoop/namenode
dfs.datanode.data.dir
/data/hadoop/datanode
dfs.replication
1
hdfs-site.xml
cp mapred-site.xml.template mapred-site.xml
mapreduce.framework.name
yarn
mapred-site
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn-site.xml
初始化hdfs
cd /srv/hadoop-2.6.0-cdh5.7.0/bin
./hadoop namenode -format
启动hdfs
jps查看是否启动进程: DataNode NameNode SecondaryNameNode
/srv/hadoop-2.6.0-cdh5.7.0/sbin
./start-dfs.sh
测试创建一个目录
# hdfs dfs -mkdir /test
# hdfs dfs-ls /drwxr-xr-x - root supergroup 0 2020-05-30 10:19 /test
浏览器访问http://heboan-hadoop-000:50070
启动yarn
jps查看是否启动进程: ResourceManager NodeManager
cd /srv/hadoop-2.6.0-cdh5.7.0/sbin/./start-yarn.sh
浏览器访问http://heboan-hadoop-000:8088
源码编译部署spark
进入spark下载页面:http://spark.apache.org/downloads.html
可以看下编译spark的文档,里面有相关的编译注意事项,比如mavn,jdk的版本要求,机器配置等
http://spark.apache.org/docs/latest/building-spark.html
下载spark-2.3.0.tzg后,进行解压编译
tar xf spark-2.3.0.tgz
cd spark-2.3.0./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
编译依赖网络环境,默认情况下,指定的仓库源被墙无法访问
mvn配置settings.conf添加阿里仓库加速
alimaven
aliyun maven
https://maven.aliyun.com/nexus/content/groups/public/
central
修改spark的pom.xml,更改仓库地址为阿里源地址,并添加cdh源
vim spark-2.3.0/pom.xml
替换maven为自己安装的
vim dev/make-distribution.sh#MVN="$SPARK_HOME/build/mvn"MVN="${MAVEN_HOME}/bin/mvn"
编译时间长,取决于你的网络环境,编译完成后,会打一个包命名为:spark-2.3.0-bin-2.6.0-cdh5.7.0.tgz
本文所有工具包已传至网盘,不想折腾的同学可以小额打赏联系博主
tar xf spark-2.3.0-bin-2.6.0-cdh5.7.0.tgz -C /srv/cd/srv/spark-2.3.0-bin-2.6.0-cdh5.7.0/bin/
vim ~/.bash_profile
export SPARK_HOME=/srv/spark-2.3.0-bin-2.6.0-cdh5.7.0
export PATH=$SPARK_HOME/bin:$PATH
source ~/.bash_profile
./spark-shell
浏览器访问http://heboan-hadoop-000:4040
pyspark配置默认使用的是Python2,如下配置环境变量默认使用Python3
vim ~/.bash_profile
export PYSPARK_PYTHON=python3
source~/.bash_profile
配置应用程序IDE开发环境
winows本地安装pycharm并创建项目
设置基本参数
spark-2.3.0-bin-2.6.0-cdh5.7.0.tgz解压到E盘: E:\spark-2.3.0-bin-2.6.0-cdh5.7.0
①配置环境变量
进入Environment variables
PYTHONPATH: E:\spark-2.3.0-bin-2.6.0-cdh5.7.0\python
SPARK_HOME: E:\spark-2.3.0-bin-2.6.0-cdh5.7.0
②添加两个zip包
可以看到多出了两个包
创建个文件写个最简单的程序测试运行下
代码开发完成后需要放到服务器环境上运行
mkdir /data/script
vim/data/script/01.py
使用spark-submit提交任务
# spark-submit --master local[2] --name heboan-pyspark-01 /data/script/01.py
解决pycharm 运行报错问题
当我们写好代码运行的时候,会报如下错误,虽然该错误不影响最后的运行,但是看着不爽
添加HADOOP_HOME环境变量,事先请确定Hadoop包在E:\hadoop-2.6.0-cdh5.7.0
配置PATH: 末尾添加 ;%HADOOP_HOME/bin%
下载winutils.exe,hadoop.dll放到hadoop环境的bin目录,建议尽量使用版本匹配的
最后重启系统即可,看看效果