hadoop(单机伪分布式) pyspark(Anaconda)
1.网络 主机名称 主机映射
目前是动态IP,所以需要配置IP地址为静态IP
/etc/sysconfig/network-scripts ll | grep ifcfg-ens33可查看此文件的权限,只能在root下更改
vi ifcfg-ens33:
BOOTPROTO=dhcp改为 BOOTPROTO=static
ONBOOT=yes
添加四行代码:
IPADDR=192.168.自己的网路位(网段号).xxx(随意,只要不被占用)
NETMASK=255.255.255.0
GATEWAY=192.168.自己的网路位(网段号).2
DNS1=202.106.0.20
保存后:
systemctl restart network重启网络(在虚拟机中不需要重启,在shell中需要重启)
遇到的问题:
IP地址的网段:需要从DOS命令中查看VM8的网段和网关
2.修改主机名和主机映射
vi /etc/hostname
将localhost改为python2
保存退出
vi /etc/hosts
追加:192.168.自己的网路位(网段号).xxx python2
保存退出
reboot重启计算机
ssh 192.168.220.138
如果想让Windows系统认识python2
c:/windows/system32/drivers/etc/hosts文件
在此文件中添加:
192.168.自己的网路位(网段号).xxx python2
保存
但是没有权限:所以先将文件复制出来再粘贴回去
3.安装jdk和hadoop
上传hadoop解压到opt
install hadoop from bin tar.gz
tar -xzf hadoop-XXX.tar.gz -C opt
tar -xzf jdk-XXX.tar.gz -C opt
HADOOP_HOME
HADOOP_CONF_DIR
PATH
默认会找usr下的java下,如果是安装会装到此目录下,日志或配置文件在/etc/hadoop/
hadooppath=`pwd`
echo $hadooppath
echo export HADOOP_HOME=\$hadooppath >> ~/.bashrc
echo export HADOOP_CONF_DIR=\$hadooppath/etc/hadoop >>~/.bashrc
echo export PATH=\$PATH:\$HADOOP_HOME/bin:\$HADOOP_HOME/sbin >.~/.bashrc
source ~/.bashrc
配置成功后~/.bashrc文件中的内容:
export JAVA_HOME=/home/hadoop/opt/jdk1.8.0_152
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/home/hadoop/opt/hadoop-2.7.5
export HADOOP_CONF_DIR=/home/hadoop/opt/hadoop-2.7.5/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
成功后实验Java和hadoop是否成功:
start-dfs.sh在hadoop目录下的sbin下
如果配置文件有错,可以不进入文件进行更改:
sed -i 's/xxx/yyy/' .bashrc
-i:替换
s:修改
将xxx替换成yyy
sed [选项] 表达式 文件
在原文件上修改
删除:
4.配置hadoop配置文件
伪分布式:一台计算机扮演多个角色:
nameNode
secondaryNameNode
DataNode
resourceManager
nodeManager
配置以下文件:core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
slaves文本文件
-------------------------------------
从官网查询:hadoop.apache.org/docs/
core-site.xml
默认文件系统:hdfs
<property>
<name>fs.defaultFS</name>
<value>hdfs://wy:9000</value>
</property>
hdfs-site.xml
修改hadoop关于文件 块的默认备份数 3,修改为1
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
修改存储路径
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///home/hadoop/opt/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.name.dir</name>
<value>file:///home/hadoop/opt/tmp/dfs/data</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>wy:50070</value>
</property>
修改mapred-site.xml文件:
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
启用yarn的资源调度框架
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
修改slaves
配置datanode的主机名称
将localhost改为python2
修改yarn-site.xml
配置yarn的主机
<property>
<name>yarn.resourcemanager.hostname</name>
<value>wy</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
以上配置均是放入<configration>中
完成后:
关闭防火墙 和 selinux
切换到root用户
关闭selinux
临时关闭:setenforce 0
永久关闭:vi /etc/selinux/config
修改文件以上文件中:
SELINUX=disabled
保存关闭
关闭防火墙:
临时关闭:systemctl stop firewalld
永久关闭:systemctl disable firewalld
重启机器reboot
getenfore可以查看值,只要状态为0就成功
查看防火墙状态:systemctl status firewalld
执行hdfs文件系统格式化:hdfs namenode -format:在hadoop用户中执行
启动hadoop:start-dfs.sh 启动了文件系统 jps:NameNode / SecodaryNameNode / DataNode
启动hadoop:start-yarn.sh jps:ResourceManager / NodeManager
start-all.sh 是以上两个命令的集合
ssh-****** -t rsa
一直敲回车
当前主体目录下多了.ssh文件和目录
如果想无密码登录到那台机器执行
ssh-copy-id 你想登录到的计算机名
实现了无密码登录
在浏览器中输入:wy:50070
如果不能访问:
查看当前
netstat -ant | grep 50070
可以看到地址为127.0.0.1,应该为本机192.168.XX.XX
先停止:
stop-dfs.sh
su root
vi /etc/hosts
看看配置的内容是否单独在一行
---------------------------
创建目录
hadoop fs -mkdir -p /user/hadoop
网盘上就有了此目录
上传文件:
hadoop fs -put data.txt .
在网盘上即可查看
想要使用Anaconda,首先需要把Anaconda文件放到hadoop用户里
输入python命令后发现python版本是2.7的
想要使用python3的话,我们需要先下载安装bzip2
在root用户: yum -y install bzip2
在hadoop用户安装Anaconda: bash Anaconda3-5.0.1-Linux-x86_64.sh
之后更新环境变量~/.bashrc
查看jupter地址 jupyter-notebook --ip wy