Pycharm(linux)+Hadoop+Spark2021-05-03 by pt
Pycharm下载:JetBrain官网
进入镜像源,配置aliyun镜像 。
桌面进入终端:
sudo apt-get updatesudo apt-get install vim## 下载vim 编译器sudo apt-get install openssh-server##安装ssh远程控制,客户服务器 。修改主机名,修改ip映射;
sudo vim /etc/hostnamesudo vim /etc/hosts修改其远程免密登录:
sudo vim /etc/ssh/sshd_configsudo service ssh restart
免密登录:
ssh-keygen ##一路回车[root@master root]cd~/.ssh ## (切换root)/root/.ssh[root@master .ssh]ssh-copy-id -i root@masteryeshadoop[root@master .ssh]# ssh master ##没有提示输入密码则成功#cd ~/.ssh/# 若没有该目录,请先执行一次ssh localhost#ssh-keygen -t rsa# 会有提示,都按回车就可以#cat ./id_rsa.pub >> ./authorized_keys# 加入授权
如果xshel 客户端|出现以下情况 ?

Reboot 可解决这个情况!!!!
创建应用apps目录:
cd usr/localmkdir appssudo chown -R hadoop:hadoop/usr/local/apps/Java的安装和环境配置:
- 安装java:
java-version ##查看当前系统中存在的java##卸载其openjdk cd /usr/local/apps/tar -zvxf /opt/jdk-8u45-linux-x64.tar.gz -C ./mv jdk1.8.0_45/ java - java环境配置:
vim ~/.bashrcexport JAVA_HOME=/usr/local/apps/javaexport PATH=$JAVA_HOME/bin:$PATHsource ~/.bashrc
- hadoop安装
cd /usr/local/appstar -zvxf /opt/hadoop-2.7.1.tar.gz -C ./mv hadoop-2.7.1 hadoop - hadoop环境配置
vim ~/.bashrc#set hadoop environmentexport HADOOP_HOME=/usr/local/apps/hadoopexport PATH=${PATH}:${HADOOP_HOME}/binexport PATH=${PATH}:${HADOOP_HOME}/sbin##便于任何路径启动dfs集群source ~/.bashrc
- hadoop伪分布式文件配置
第1个配置:hadoop-env.sh
cd /usr/local/apps/hadoopcd etc/hadoop/vim hadoop-env.sh#第26行export JAVA_HOME=/usr/local/apps/java第2个配置:core-site.xml
vim core-site.xml<!-- 制定HDFS的老大(NameNode)的地址 --><property><name>fs.defaultFS</name><value>hdfs://master:9000</value></property>#<!-- 指定hadoop运行时产生文件的存储目录 -->#<property>#<name>hadoop.tmp.dir</name>#<value>/data/hadoop/tmp</value><property><name>dfs.namenode.name.dir</name><value>file:/usr/local/apps/hadoop/tmp/dfs/name</value></property><property> <name>dfs.datanode.data.dir</name><value>file:/usr/local/apps/hadoop/tmp/dfs/data</value> </property>###创建运行文件存储目录 <!-- 指定hadoop运行时产生文件的存储目录 -->cd /usr/local/apps/mkdir -p /hadoop/tmp/dfs # 创建文件夹#如果报错#mkdir /data/hadoop/tmp############mkdir: cannot create directory ‘/data/hadoop/tmp’: File existsrm -rf /data/hadoop/tmp/*cd hadoop/tmp/dfsmkdir datamkdir name第3个配置hdfs-site.xml
<!-- 指定HDFS副本的数量 --> <property> <name>dfs.replication</name><value>1</value> </property>第4个配置slaves
vim slaves#localhostmasterhadoop version##查看版本格式化:
cd /usr/local/apps/hadoop#hadoop version##查看版本HS_12@master:/usr/local/apps/hadoop/bin$ hadoop version#Hadoop 2.7.1#Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 15ecc87ccf4a0228f35af08fc56de536e6ce657a#Compiled by jenkins on 2015-06-29T06:04Z#Compiled with protoc 2.5.0#From source with checksum fc0a1a23fc1868e4d5ee7fa2b28a58a./bin/hdfs namenode -format启动伪分布式群集:
cd /usr/local/apps/hadoop./sbin/start-dfs.sh创建hdfs的用户目录:
cd /usr/local/apps/hadoop./bin/hdfs dfs -mkdir -p /user/hadoop./bin/hdfs dfs -ls /user/hadoop
- spark安装:
cd /usr/local/appstar -zxvf /opt/spark-2.1.0-bin-without-hadoop.tgz -C ./mv spark-2.1.0-bin-hadoop2.7/ spark - spark环境配置:
vim ~/.bashrc#set sparkenvironmentexport SPARK_HOME=/usr/local/apps/sparkexport PATH=${PATH}:${SPARK_HOME}/binexport HADOOP_HOME=/usr/local/apps/hadoopexport SPARK_HOME=/usr/local/apps/spark##export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.4-src.zip:$PYTHONPATH ##查看版本export PYSPARK_PYTHON=python3export PATH=$HADOOP_HOME/bin:$SPARK_HOME/bin:$PATHsource ~/.bashrc - spark文件配置
[root@master conf]# pwd/usr/local/apps/spark/conf[root@master conf]# cp spark-env.sh.templatespark-env.sh[root@master conf]# vim spark-env.shexport SPARK_DIST_CLASSPATH=$(/usr/local/apps/hadoop/bin/hadoop classpath)####有了上面的配置信息以后,Spark就可以把数据存储到Hadoop分布式文件系统HDFS中,也可以从HDFS中读取数据 。如果没有配置上面信息,Spark就只能读写本地数据,无法读写HDFS数据 。####有了上面的配置信息以后,Spark就可以把数据存储到Hadoop分布式文件系统HDFS中,也可以从HDFS中读取数据 。如果没有配置上面信息,Spark就只能读写本地数据,无法读写HDFS数据 。export JAVA_HOME=/usr/local/apps/javaexport HADOOP_HOME=/usr/local/apps/hadoopexport HADOOP_CONF_DIR=/usr/local/apps/hadoop/etc/hadoop#export SCALA_HOME=/usr/local/apps/scalaexport SPARK_MASTER_IP=masterexport SPARK_WORKER_MEMORY=512M修改服务机器,单机部署,所以名字改成自己的;cd /usr/local/apps/spark/conf[root@master conf]# cp slaves.template slaves[root@master conf]# vi slaves#删除localhostmaster[root@master sbin]# pwd/usr/local/apps/spark/sbin[root@master sbin]# ./start-all.sh运行检测spark是否启动;[root@master sbin]# jps87571 DataNode98067 Master98243 Jps94578 QuorumPeerMain95554 HRegionServer87765 SecondaryNameNode87940 ResourceManager87415 NameNode98172 Worker88063 NodeManager95407 HMaster#成功#######cd /usr/local/apps/sparkbin/run-example SparkPi 2>&1 | grep "Pi is"#################pycharm(linux)环境安装,启动:pycharm的环境配置:###set##pycharmexport PyCharm_HOME=/usr/local/apps/pycharmexport PATH=${PyCharm_HOME}/bin:$PATHalias python='/usr/bin/python3.5.2'#export PATH=$PYTHONPATH:$SPARK_HOME/python/:$SPARK_HOME/python/lib/py4j-0.10.4-src.zip:$PYTHONSPARK####################################################################################export PATH=$HADOOP_HOME/bin:$SPARK_HOME/bin:$PATH修改虚机中python版本为python3.5#Ubuntu16.04切换python3和python2#切换Python3为默认版本:sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150#切换Python2为默认版本:sudo update-alternatives --config pythonRdd-Wordcount编程测试1.查看词频统计文本pwd#当前路径ls 2.进入Pycharm的bin启动目录
pwd #查看当前路径cd /usr/lcoal/apps/pycharm/bin/./pycharm.sh3.输入 命令,启动pycharm
4.在pycharm上配置Spark环境:
第一步:
点击pycharm右上角的“Add Configuration”或通过菜单栏“run”下拉点击选择“Add Configuration”,在新弹出的窗口左上角点击”+”号(“+ Python”),命名为Spark 。勾选右边的“shared”选项 。
接着在“Environment variables”一栏点击右边按钮进行环境变量配置 。
第二步:开始配置spark和pyspark环境变量,命名为SPARK_HOME和SPARKPYTHON,值分别为Spark安装的路径以及pyspark的路径
点击OK,完成环境配置 。
第三步:导入相关的库(pyspark模块)
点击菜单栏”File”–>”Setting”–>”Project Structure”中点击右上角”Add Content Root”
进入spark安装目录下的python中导入两个压缩包
点击OK,完成配置 。
5.使用Pycharm运行pyspark程序:
创建wordcount.py程序文件输入以下代码:
#-*- coding:utf8-*-import osos.environ['JAVA_HOME'] = '/usr/local/apps/java' from pyspark import SparkConf, SparkContextconf = SparkConf().setAppName("WordCount").setMaster("local")sc = SparkContext(conf=conf)#inputFile ="hdfs://master:9000/user/hadoop/input/wordtest.txt" ##读取hdfs文件inputFile = "file:///root/wordtest.txt" # 读取本地文件textFile = sc.textFile(inputFile)wordCount = textFile.flatMap(lambda line : line.split(" ")).map(lambda word : (word, 1)).reduceByKey(lambda a, b : a + b)wordCount.foreach(print)6.Spark计算结果:参考博客
[注]:如果pycharm运行遇到这个问题:
Python in worker has different version 2.7 than that in driver 3.5,PySpark cannot run with different minor versions.Please check environment variables PYSPARK_PYTHON and PYSPARK_DRIVER_PYTHON are correctly set添加运行环境:【linux Pycharm+Hadoop+Spark(环境搭建)(pycharm怎么配置python环境)】
import os##########os.environ["PYSPARK_PYTHON"] = '/usr/bin/python3'
- 春季老年人吃什么养肝?土豆、米饭换着吃
- 三八妇女节节日祝福分享 三八妇女节节日语录
- 老人谨慎!选好你的“第三只脚”
- 校方进行了深刻的反思 青岛一大学生坠亡校方整改校规
- 脸皮厚的人长寿!有这特征的老人最长寿
- 长寿秘诀:记住这10大妙招 100%增寿
- 春季老年人心血管病高发 3条保命要诀
- 眼睛花不花要看四十八 老年人怎样延缓老花眼
- 香槟然能防治老年痴呆症? 一天三杯它人到90不痴呆
- 老人手抖的原因 为什么老人手会抖
