文章目录
VMware
- 低端配置 Ubuntu16.04
1个处理器,2个内核;1024MB内存;30GB硬盘;一个低版本iso文件
虚拟机Python版本为3.5,在Pycharm中unsupported
- 高端安装 Ubuntu18.04
2个处理器,2个内核;2048内存;50GB硬盘;一个新版本iso文件
Python版本为3.6,刚刚好
- 顶配 越高越好 python版本会超3.8
我选择第一种。除了上述说的配置之外,还有注意稍后安装操作系统,其余一路点击确定即可。
最后选择了第二种,呜呜呜
注意 点击虚拟网络编辑器,将主机虚拟适配器连接到此网络,不然sudo apt-get update会失败!改不了将主机虚拟适配器连接到此网络的请下载Cleaner,删除注册表!
Ubuntu
- 选择中文
- 什么都不要勾
- 分区设置
- swap 2GB
- / 28GB 逻辑 ext4
- 时区
- 用户名 密码123456(怕忘了)
- 等待安装
输入法切换 直接按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文件
- /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
- /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