单机伪分布下的hadoop+spark 环境配置

初学hadoop 老师又给了spark的任务 所以有了这次环境配置   经过几天的努力总算搭建起来  现在详细说下过程 做下记录

1我是在虚拟机上安装的ubuntu  网络选择的是NAT 模式 

安装好ubuntu 就进入正题了  ubuntu需要联网 不过NAT模式下不用设置网络连接 与主机共享IP 初始有网络

2开始shell Ctrl+ALT+T  因为在root 用户下操作方便 

所以先执行  sudo passwd root  创建root密码 

之后执行su 登陆

3安装JDK  下载JDK  我放在/usr/java/jdk.....

配置/etc/profile 文件  /etc/profile文件每次需要source 嫌麻烦可修改~/.bashrc文件   或将source /etc/profile 命令写入~/.bashrc

source /etc/profile  

java -version 进行检测

4关闭防火墙 centos 是iptable  ubuntu是ufw 服务

ufw status 查看

ufw disable 禁用

5修改主机名

vi为编辑器  vi  /etc/hostname  进行修改

/etc/hosts   ip地址+主机名+域名  ip与主机名绑定 修改后ping 主机名  可以ping通

执行hsotname查看主机名

6 ssh 免密码登陆 

apt-get update 更新软件包

apt-get install openssh-server 安装ssh服务

ssh-keygen -t rsa  产生公钥 私钥 在~/.ssh 文件下  一直按回车即可

将公钥内容 拷贝到 授权文件authorized_keys 

相当于在ssh文件下 执行 cp id_rsa.pub  authorized_keys


7  安装hadoop  修改配置文件 

我用的是2.7.3  主要修改的配置文件有

我的主机名为linux1991

yarn-site.xml

<configuration>


<!-- Site specific YARN configuration properties -->
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

mapred-site.xml

<configuration>
<property>


 <name>mapred.job.tracker</name>


  <value>linux1991:9001</value>


  </property>
<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
</property>


</configuration>

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

hdfs-site.xml  

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
 <name>dfs.name.dir</name>
   <value>${hadoop.tmp.dir}/dfs/name</value>
     </property>


  <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>linux1991:50090</value>
    </property>
<property>
 <name>dfs.checkpoint.dir</name>
   <value>${hadoop.tmp.dir}/dfs/namesecond</value>
     </property>
</configuration>

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

hadoop-env.sh 

export JAVA_HOME=/usr/java/jdk1.8.0_121

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

core-site.xml

<configuration>
 <property>
    <name>fs.default.name</name>
    <value>hdfs://linux1991:9000</value>
    <description>HDFS的URI,文件系统://namenode标识:端口号</description>
</property>


<property>
    <name>hadoop.tmp.dir</name>
    <value>/usr/hadoop/tmp</value>
    <description>namenode上本地的hadoop临时文件夹</description>
</property>
</configuration>

具体内容 查看相关文章

还应配置/etc/profile 

export JAVA_HOME=/usr/java/jdk1.8.0_121
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SCALA_HOME/bin:$SPARK_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
export SCALA_HOME=/usr/scala/scala-2.12.1
export SPARK_HOME=/usr/spark/spark-2.1.0-bin-hadoop2.7
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

这里还有scala 和spark的环境配置

8  格式namenode   hadoop命令在bin文件下

bin/hadoop namenode -format

9 启动hadoop   

start-all.sh  在sbin文件下

10 查看节点  jps

ResourceManager
DataNode
Jps
NodeManager
SecondaryNameNode
NameNode

若 没有datanode  1关闭防火墙  或2 清除{hadoop.tmp.dir}/dfs/data/文件下的所有文件 或3格式namenode

若启动SecondaryNameNode IP显示为0.0.0.0   

在hdfs-site.xml  中配置

 <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>linux1991:50090</value>
    </property>


若出现Error JAVA_HOME is not set   在hadoop-env.sh中设置 java_home

11 运行wordcount

在hdfs上创建文件   执行 bin/hadoop fs -mkdir /input

上传文件到 hdfs      执行bin/hadoop  fs -put README.txt  /input

查看     执行 bin/hadoop  fs -ls  /

运行样例包  jar包在share/hadoop/mapreduce   hadoop-mapreduce-examples-2.7.3.jar

运行  bin/hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount  /input /output

注意jar 路径 与权限  权限通过 chmod 777 hadoop-mapreduce-examples-2.7.3.jar 修改

/output 文件 不用创建 执行时自动在hdfs上生成

可以用 bin/hadoop  fs -get /output  ./    将output 下载下来 

注意在每次运行时 output文件 必须不能存在于hdfs上

执行后 查看output中part文件 查看结果

自此 hadoop 可以运行

12 安装scala 

解压 配置/etc/profile  设置scala 环境变量

export SCALA_HOME=/usr/scala/scala-2.12.1

SCALA_HOME/bin

执行scala命令 可进入scala的relp模式  :quit 退出

13 安装spark  

解压 配置/etc/profile  设置spark 环境变量

export SPARK_HOME=/usr/spark/spark-2.1.0-bin-hadoop2.7

$SPARK_HOME/bin

在conf文件下配置spark-env.sh

export SCALA_HOME=/usr/scala/scala-2.12.1
export JAVA_HOME=/usr/java/jdk1.8.0_121
export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
export HADOOP_CONF_DIR=/usr/hadoop/hadoop-2.7.3/etc/hadoop
export SPARK_MASTER_IP=linux1991
export SPARK_LOCAL_IP=linux1991
export SPAPK_LOCAL_DIRS=/usr/spark/spark-2.1.0-bin-hadoop2.7
export SPARK_DRIVER_MEMORY=1G

具体内容 查文章

修改slaves文件 为主机名

14 运行 sbin/start-all.sh  

jps 后有 master worker  

浏览器 可访问 linux1991:8080

15 spark 提供了shell 编程

scala在bin/spark-shell

python用bin/pyspark

打开shell后会自动创建sc 实例

若没有找到sc 注意打开hdfs

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值