Ubuntu14.04配置Hadoop的真分布模式教程

在Ubuntu14.04下配置Hadoop的真分布模式

 

设备:

操作系统:两台 Ubuntu 14.04.5  32位版本

软件:VMware 12

 

配置步骤

 

一、配置各个主机在同一个局域网下运行

将VMware的网络设置为桥接模式(对应更改为自己要桥接到的适配器),然后同时也把虚拟机的网络设置为桥接模式。

 

二、虚拟机配置

1. 为了便于区别其余主机名字,对本机ubuntu进行更改主机名

命令:sudo vim /etc/hostname

(对应地进行更改)

master节点:master

slave节点:hadoop-LZW

 

2. 添加局域网内的集群虚拟主机IP,映射IP

命令:sudo vim /etc/hosts

添加内容:

127.0.0.1   localhost



192.168.191.91  master

192.168.191.94  hadoop-LZW



# The following lines are desirable for IPv6 capable hosts

::1     ip6-localhost ip6-loopback

fe00::0 ip6-localnet

ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters

3. 设置静态IP (ubuntu 14.04,其他版本略有差别)

默认网关为192.168.191.1,子网掩码为255.255.255.0

命令:sudo vim /etc/network/interfaces

添加以下内容:

auto eth0

iface eth0 inet static

address 192.168.191.91

netmask 255.255.255.0

gateway 192.168.191.1

dns-nameservers 211.136.20.203

另外修改文件/etc/NetworkManager/NetworkManager.conf,将managed参数设置为true

命令:sudo vim /etc/NetworkManager/NetworkManager.conf

 

4. 重启网络

命令:/etc/init.d/networking restart

(若以上命令无效可以重启虚拟机)

 

二、设置ssh免密登录

设置ssh免密登录操作已经在伪分布式配置部分配置好了,还没配置的可以访问这篇教程:Ubuntu14.04配置Hadoop的本地模式和伪分布模式教程

此处需要做的是将master节点(本机)的公钥传输给slave节点

命令:scp ~/.ssh/id_rsa.pub hadoop@hadoop-LZW:~/.ssh/authorized_keys

 

然后对文件进行赋予权限

命令:chmod 644 ~/.ssh/authorized_keys

 

以上命令只能满足master节点与各个slave节点的连通,若要实验各个节点能互相连通,可以改成:先从各个slave节点的公钥发送给master节点,然后再从master逐个发送公钥给各个slave节点即可。

发送公钥过程需要输入slave节点的登录密码。

 

三、配置环境变量

进入bashrc文件,添加以下内容

命令:sudo vim ~/.bashrc

# Java set

  export JAVA_HOME=/usr/local/jdk1.8.0_201

  export JRE_HOME=$JAVA_HOME/jre

  export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib

  export PATH=$PATH:$JAVA_HOME/bin:$PATH

  

  # Hadoop set

  export HADOOP_HOME=/usr/local/hadoop-3.0.2

  export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

  export HADOOP_MAPRED_HOME=$HADOOP_HOME

  export HADOOP_COMMON_HOME=$HADOOP_HOME

  export YARN_HOME=$HADOOP_HOME

  export HADOOP_ROOT_LOGGER=INFO,console

  export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

  export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

配置完后刷新环境变量

命令:source ~/.bashrc

 

四、修改Hadoop配置文件

以下配置文件均在/hadoop-3.0.2/etc/hadoop目录下

①配置workers文件

删除localhost

添加内容(一行一个)

hadoop-LZW

 

②配置core-site.xml 

<configuration>

     <property>

         <name>fs.checkpoint.period</name>

         <value>3600</value>

     </property>

     <property>

         <name>fs.checkpoint.size</name>

         <value>67108864</value>

     </property>

     <property>

         <name>hadoop.tmp.dir</name>

         <value>file:/usr/local/hadoop-3.0.2/tmp</value>

         <description>Abase for other temporary directories.</description>

     </property>

     <property>

         <name>fs.defaultFS</name>

         <value>hdfs://192.168.191.91:9000</value>

     </property>

 </configuration>

 

③配置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-3.0.2/tmp/dfs/name</value>

     </property>

     <property>

         <name>dfs.datanode.data.dir</name>

         <value>file:/usr/local/hadoop-3.0.2/tmp/dfs/data</value>

     </property>

     <property>

         <name>dfs.namenode.secondary.http-address</name>

         <value>192.168.191.91:50090</value>

     </property>

     <property>

         <name>dfs.namenode.http-address</name>

         <value>192.168.191.91:50070</value>

     </property>

     <property>

         <name>dfs.namenode.checkpoint.dir</name>

         <value>file:/usr/local/hadoop-3.0.2/tmp/dfs/checkpoint</value>

     </property>

     <property>

         <name>dfs.name.checkpoint.edits.dir</name>

         <value>file:/usr/local/hadoop-3.0.2/tmp/dfs/edits</value>

     </property>



 </configuration>

 

④配置mapred-site.xml

<configuration>

     <property>

         <name>mapreduce.framework.name</name>

         <value>yarn</value>

     </property>

     <property>

         <name>mapred.job.tarcker</name>

         <value>192.168.191.91:10020</value>

     </property>

     <property>

         <name>mapreduce.jobhistory.webapp.address</name>

         <value>192.168.191.91:19888</value>

     </property>

 </configuration>

 

⑤配置yarn-site.xml

<configuration>



 <!-- Site specific YARN configuration properties -->

     

     <property>

         <name>yarn.resourcemanager.hostname</name>

         <value>192.168.191.91</value>

     </property>

     <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.ShuffleHandle</value>

     </property>

     <property>

         <name>yarn.resourcemanager.resource-tarcker.address</name>

         <value>192.168.191.91:8025</value>

     </property>

     <property>

         <name>yarn.resourcemanager.scheduler.address</name>

         <value>192.168.191.91:8030</value>

     </property>

     <property>

         <name>yarn.resourcemanager.address</name>

         <value>192.168.191.91:8040</value>

     </property>

     <property>

         <name>yarn.resourcemanager.admin.address</name>

         <value>192.168.191.91:8033</value>

     </property>

     <property>

         <name>yarn.resourcemanager.webapp.address</name>

         <value>192.168.191.91:8088</value>

     </property>



 </configuration>

 

配置log4j.properties

在文件最后面加上log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR

 

以下配置文件均在/hadoop-3.0.2/sbin目录下,都在文件开头添加内容

①配置start-dfs.sh

HDFS_DATANODE_USER=master

HDFS_DATANODE_SECURE_USER=hdfs

HDFS_NAMENODE_USER=master

HDFS_SECONDARYNAMENODE_USER=master

 

②配置stop-dfs.sh

HDFS_DATANODE_USER=master

HDFS_DATANODE_SECURE_USER=hdfs

HDFS_NAMENODE_USER=master

HDFS_SECONDARYNAMENODE_USER=master

 

③配置start-yarn.sh

YARN_RESOURCEMANAGER_USER=master

HADOOP_SECURE_DN_USER=yarn

YARN_NODEMANAGER_USER=master

 

④配置stop-yarn.sh

YARN_RESOURCEMANAGER_USER=master

HADOOP_SECURE_DN_USER=yarn

YARN_NODEMANAGER_USER=master

 

五、同步到slave节点的虚拟机

将JDK1.8安装文件、hadoop-3.0.2安装文件、环境变量配置文件同步到各个虚拟机中

命令(有几个slave节点,就分别执行几次):

Sudo scp -r /usr/local/jdk1.8.0_201 hadoop-LZW:/usr/local/

Sudo scp -r /usr/local/hadoop-3.0.2 hadoop-LZW:/usr/local/

Sudo scp -r ~/.bashrc hadoop-LZW:~/

如果以上命令无效,可以将整个虚拟机的安装文件都复制到其他电脑上,打开此虚拟机,然后再重新配置一下slave节点的配置即可;如果连接不成功,有可能要重新安装ssh,发送公钥给master节点,或slave节点。

 

六、运行测试

命令:start-all.sh

访问192.191.168.91:8088页面

访问192.168.191.91:8042页面

到此,真分布式配置完成。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值