在virtualbox下配置hadoop学习环境

虚拟机环境的配置

virtualbox的安装和配置

  1. 安装server版的ubuntu,这里面坑很多,第一是不带ssh-server环境,需要:
sudo apt-get install openssh-server
  1. 增强功能安装出现问题
sudo mount /dev/cdrom /mnt/
sudo apt-get install gcc make perl
sudo /mnt/VBoxLinuxAdditions.run
  1. 中文乱码问题
    在/etc/default/locale中
    LANG=”en_US.UTF-8″
    LANGUAGE=”en_US:en”

  2. 共享文件夹

写一个脚本mount.sh

#!/bin/sh
sudo mount -t vboxsf share ~/shared
  1. nat网络
    在全局配置中增加一个nat网络,比如10.0.3.0.配置端口映射,这样宿主机就可以访问虚拟机了,取消掉DHCP,然后在/etc/network/interfaces里编辑网卡的address,netmask,gateway。

弄好一个后复制三个虚拟机,xshell上配置好ssh登录,剩下的操作在xshell上进行。

环境变量和配置文件

配置java和hadoop。这里java需要在三台虚拟机上配置,hadoop只需要在第一台机器上配置好发到另外两台就可以了。

  1. /etc/profile里的环境变量
export JAVA_HOME=/home/hadoop1/jdk1.8.0_73
export HADOOP_HOME=/home/hadoop1/hadoop-2.6.1
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:${HADOOP_HOME}/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

  1. 更改hostname,配置地址映射
    hostname是主机名,用于网络上区分机器的名称。在/etc/hostname里配置,地址映射在/etc/hosts里配置。

  2. 配置ssh免密登录
    这里可以采用的方法是利用共享文件夹,三台机器都使用代码,然后把公钥都共享在共享文件夹里,分配添加到authorized_keys里。

ssh-keygen -t rsa
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
  1. 创建tmp、data、name三个目录。一般这个目录就放在hadoop的根目录下。我是tmp单独一个目录,data,name放在dfs目录下。
  2. 修改hadoop-env.sh、yarn-env.sh、slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml配置文件。
    (1)hadoop-env.sh
export JAVA_HOME=/home/hadoop1/jdk1.8.0_73
//这个不加是不行的,即便/etc/profile里配置了java

(2)yarn-site.xml
用于配置yarn的管理端口信息,在第一台虚拟机上进行

<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>
<property>
<name>yarn.resourcemanager.address</name>
<value>hadoop1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoop1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoop1:8035</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoop1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoop1:8088</value>
</property>

(3)slaves
配置data_node的节点host。将三台机器的host写进去。

hadoop1
hadoop2
hadoop3

(4)core-site.xml
配置tmp目录的位置信息

<property>       
 <name>fs.defaultFS</name>
 <value>hdfs://hadoop1:9000</value>    
</property> 
 <property> 
  <name>hadoop.tmp.dir</name>
<value>file:/home/hadoop1/hadoop-2.6.1/tmp</value>
 </property>

(5)hdfs-site.xml
配置hdfs的关键参数,包括name和data两个目录信息

<configuration>
       <property>
               <name>dfs.namenode.secondary.http-address
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值