ubuntu 15.04 x64配置Hadoop环境

 环境:系统用的是ubuntu15.04 Hadoop2.7.3

  虚拟机 master-hadoop ip:192.168.116.129

  虚拟机 slave1-hadoop ip:192.168.116.130

  虚拟机 slave2-hadoop ip:192.168.116.131

Hadoop 集群的安装配置大致为如下流程:

  1. 新建一台虚拟机作为 Master
  2. 在 Master 节点上配置安装 SSH server、安装 Java 环境
  3. 在 Master 节点上安装 Hadoop,并完成配置,为虚拟机建立快照(可选)
  4. 然后在克隆出另外两个虚拟机,修改一些配置
  5. 在 Master 节点上开启 Hadoop

1 新建虚拟机进行网路配置

  因为我新建完虚拟机,网络就配置好了,用的是nat模式,ip为192.168.116.129 能上网

  修改主机的名字为 master-hadoop

sudo gedit /etc/hostname

  修改hosts文件

sudo gedit /etc/hosts

    安装ssh,安装之前将 源改为中国的,

sudo apt-get install openssh-server

sudo apt-get install openssh-client

  然后 ssh localhost 看看能不能连上,

  配置ssh无密码登录节点

cd ~/.ssh               # 如果没有该目录,先执行一次ssh localhost
rm ./id_rsa*            # 删除之前生成的公匙(如果有)
ssh-keygen -t rsa 
cat ./id_rsa.pub >> ./authorized_keys

  然后 ssh localhost 这次不用输密码即可登录(记得exit)

  安装之前的配置已经完成,下面安装hadoop

  配置path变量

sudo gedit /etc/profile

//在末尾写上 注意hadoop地址
HADOOP_HOME=/usr/local/hadoop
PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_HOME PATH

  关闭防火墙

 sudo ufw disable

 

  修改 /usr/local/hadoop/etc/hadoop 中的5个配置文件

  1 slaves

slave1-hadoop
slave2-hadoop

  2. core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master-hadoop:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
</property>
</configuration>

  3.hdfs-site.xml

<configuration>
<property>
<name>heartbeat.recheckinterval</name>
<value>10</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>

  4.mapred-site.xml (可能需要先重命名,默认文件名为 mapred-site.xml.template)

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master-hadoop:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master-hadoop:19888</value>
</property>
</configuration>

  5.yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.address</name>
<value>master-hadoop:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master-hadoop:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master-hadoop:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master-hadoop:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master-hadoop:8088</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.ShuffleHandler</value>
</property>
</configuration>

  至此,hadoop的环境在一台虚拟机上就配置好了

  然后把这台虚拟机克隆两份,配置slave1-hadoop和slave2-hadoop的ip和hostname

  然后环境就搭建好了

 测试:

  ssh无密码连接,都不用输入密码,

ssh localhost 
ssh slave1-hadoop
ssh slave2-hadoop

接下来就是启动hadoop 验证配置了,在master-hadoop上运行

hdfs namenode -format       # 首次运行需要执行初始化,之后不需要

启动hadoop

start-dfs.sh
start-yarn.sh
mr-jobhistory-daemon.sh start historyserver

通过命令 jps 可以查看各个节点所启动的进程。正确的话,在 Master 节点上可以看到 NameNode、ResourceManager、SecondrryNameNode、JobHistoryServer 进程

在 Slave 节点可以看到 DataNode 和 NodeManager 进程

缺少任一进程都表示出错

 

posted @ 2017-03-05 17:08  枯芒草  阅读(160)  评论(0编辑  收藏  举报