安装hadoop-hama
2016-06-18 13:12
323 查看
1、 在vmware forlinux上安装Centos6.5
2、 在centos上配置网络信息
3、 Centos创建用户“zhuhaichuan”
4、 关闭防火墙
5、 配置/etc/hosts文件
6、 Jdk安装
7、 ssh无密码登陆
8、 hadoop配置安装
9、 hama配置安装
注意:我的jdk安装在root用户中,ssh、hadoop都是安装在“zhuhaichuan”用户下
第一步: 在vmware forlinux上安装Centos6.5
等待安装完成!重复以上步骤,在vm上安装5个linux
第二步:设置linux的网络问题
1、 配置DNS
命令:vi /etc/resolv.conf
在文档中加入
nameserver 159.226.115.1
nameserver 159.226.115.11
2、 配置网关
输入命令:vi /etc/sysconfig/network(更改主机名也是命令)
在打开的文档中加入:
GATEWAY=192.168.6.254
3、 配置静态IP地址
输入命令:vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static
IPADDR=192.168.6.***
DNS1=159.226.115.1
DNS2=159.226.115.11
GATEWAY=192.168.6.254
设置完成后对网络进行重新启动即可:servicenetwork restart
或者下面方法设置也可
设置CentOS系统的IP如下:
在root权限下用命令:vi/etc/sysconfig/network修改主机名 和命令:vi/etc/sysconfig/network-scripts/ifcfg-eth0设置IP
要求:所有机器上的hadoop的部署目录结构要完全相同(因为在启动时按与主节点相同目录启动其他任务节点),并且要有一个相同的用户。
第三步:配置hosts文件
/etc/hosts”文件是配置主机用的DNS服务器信息,是记载LAN内连续的各个主机对应的hostName IP用的。当用户在进行网络连接时,首先查找该文件,寻找对应的主机名和对应的IP地址。
用命令“ping IP地址”来测试各个机器之间的连通性。当没有在“/etc/hosts”文件中设置hostName和对应的IP则会有问题
配置hosts文件如下:
第四步:安装jdk
在root权限先把jdk文件解压到/opt/目录下命令:tar –zxvfjdk-8u91-linux-x64.gz –C /opt/
查看jdk信息
1. rpm -qa | grep java
显示如下信息:
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
卸载openJDK(根据显示的信息逐一卸载)
1. rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
2. rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
在/etc/profile文件中安装配置jdk环境变量
命令:vi /etc/profile
第五步:ssh无密码登录
关闭所有机器的防火墙
其中命令:chkconfig iptables off 是永久关闭防火墙
ssh无密码登陆原理:
master(nameNode |JobTracker)是主机客户端,要实现无密码公匙其他的节点认证,连接slave(dataNode | taskTracker)上时,需要在master上生成一个密匙对,包括一个公匙(id_dsa.pub)和一个私匙(id_dsa),而后将公匙复制到所有的slave上,当master通过ssh连接slave时,slave就会生成一个随机数并用master的公匙对随机数进行加密,并发给master,master收到加密随机数之后再用私匙解密,并经解密数回传给slave,slave确认解密数无误后就允许master连接
在master机器的“zhuhaichuan”用户下进行ssh无密码配置,其他机器4个机器也要进行ssh无密码设置。
Authorized_keys需要600权限(是600不是下图中的644),.ssh文件需要700权限,当第一次用“sshIP地址”登陆的时候会提示用yes输入,第二次即可。
在分别在master、slave01、slave02、slave04、slave05机器上都要进行如上图的命令进行ssh无密码设置。之后把master、slave01、slave02、slave04、slave05的authorized_keys文件中的内容都全部复制到slave01、slave02、slave04、slave05机器的authorized_keys文件中(因为hama集群中的节点之间也要进行信息传输)
第六步:hadoop配置
配置core-site.xml文件:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
/*
“/home/zhuhaichuan/temp”为 HDFS的默认路径,在新增点或者其他莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。不过如果删除了NameNode机器的此目录,那么久需要重新执行NameNode格式化命令
*/
<value>file:/home/zhuhaichuan/temp</value>
<description>Abasefor other temporarydirectories.</description>
</property>
</configuration>
配置hdfs-site.xml文件:要预先建立hdfs文件、name文件和data文件
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/zhuhaichuan/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/zhuhaichuan/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
//当机器不超过3时,会报错
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
配置mapred-site.xml.template文件:把“mapred-site.xml.template”的名字修改成“mapred-site.xml”
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
配置yarn-site.xml文件:
<configuration>
<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>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.6.35:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.6.35:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>192.168.6.35:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>192.168.6.35:8088</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>8192</value>
</property>
</configuration>
配置slaves文件:
把slaves里面的localhost删除,加上slave01、slave02、master、slave03、salve04和slave05
把配置好的hadoop-2.7.2复制到各个节点对应的位置上,通过scp传送:
scp –r /home/zhuhaichuan/hadoop-2.7.2192.168.6.33:/home/zhuhaichuan
scp –r /home/zhuhaichuan/hadoop-2.7.2192.168.6.34:/home/zhuhaichuan
scp –r /home/zhuhaichuan/hadoop-2.7.2192.168.6.36:/home/zhuhaichuan
scp –r /home/zhuhaichuan/hadoop-2.7.2192.168.6.37:/home/zhuhaichuan
首次运行hadoop必须进行格式化Hadoop文件系统,以后运行即可跳过。打开命令行,进入安装了Hadoop的文件路径下,然后在命令行输入
bin/hadoop namenode -format
在master上启动hadoop,从节点slave01、slave02、slave04、slave05会自动启动,进入hadoop的目录下
(1)初始化,输入命令:bin/hdfs namenode –format
(2)全部启动sbin/start-all.sh,也可分开sbin/start-dfs.sh、sbin/start-yarn.sh
(3)停止,输入命令:sbin/stop-all.sh
第七步:hama的安装配置
1、在hama的conf目录中,在hama-env.sh文件中添加JAVA_HOME
2、配置hama-site.xml文件
<configuration>
<property>
<name>bsp.master.address</name>
<value>master:40000</value>
<description>The address of the bspmaster server. Either the literal string "local" or a host:port fordistributed mode</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
<description> The name of the defaultfile system. Either the literal string "local" or a host:port forHDFS. </description>
</property>
<property>
<name>hama.zookeeper.quorum</name>
<value>master,slave01,slave02,slave04,slave05</value>
<description>Comma separated list ofservers in the ZooKeeper Quorum. For example,"host1.mydomain.com,host2.mydomain.com,host3.mydomain.com". Bydefault this is set to localhost for local and pseudo-distributed modes ofoperation. For a fully-distributed
setup, this should be set to a full list ofZooKeeper quorum servers. If HAMA_MANAGES_ZK is set in hama-env.sh this is thelist of servers which we will start/stop zookeeper on.</description>
</property>
<property>
<name>hama.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
</configuration>
把配置好的hama-0.7.0文件发送的各个slave机器中
在master机器的hama-0.7.0的目录下执行:bin/start-all.sh
2、 在centos上配置网络信息
3、 Centos创建用户“zhuhaichuan”
4、 关闭防火墙
5、 配置/etc/hosts文件
6、 Jdk安装
7、 ssh无密码登陆
8、 hadoop配置安装
9、 hama配置安装
注意:我的jdk安装在root用户中,ssh、hadoop都是安装在“zhuhaichuan”用户下
第一步: 在vmware forlinux上安装Centos6.5
等待安装完成!重复以上步骤,在vm上安装5个linux
第二步:设置linux的网络问题
1、 配置DNS
命令:vi /etc/resolv.conf
在文档中加入
nameserver 159.226.115.1
nameserver 159.226.115.11
2、 配置网关
输入命令:vi /etc/sysconfig/network(更改主机名也是命令)
在打开的文档中加入:
GATEWAY=192.168.6.254
3、 配置静态IP地址
输入命令:vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static
IPADDR=192.168.6.***
DNS1=159.226.115.1
DNS2=159.226.115.11
GATEWAY=192.168.6.254
设置完成后对网络进行重新启动即可:servicenetwork restart
或者下面方法设置也可
设置CentOS系统的IP如下:
在root权限下用命令:vi/etc/sysconfig/network修改主机名 和命令:vi/etc/sysconfig/network-scripts/ifcfg-eth0设置IP
hostname(主机名称) | IP地址 |
slave01 | 192.168.6.33 |
slave02 | 192.168.6.34 |
master | 192.168.6.35 |
slave04 | 192.168.6.36 |
slave05 | 192.168.6.37 |
第三步:配置hosts文件
/etc/hosts”文件是配置主机用的DNS服务器信息,是记载LAN内连续的各个主机对应的hostName IP用的。当用户在进行网络连接时,首先查找该文件,寻找对应的主机名和对应的IP地址。
用命令“ping IP地址”来测试各个机器之间的连通性。当没有在“/etc/hosts”文件中设置hostName和对应的IP则会有问题
配置hosts文件如下:
第四步:安装jdk
在root权限先把jdk文件解压到/opt/目录下命令:tar –zxvfjdk-8u91-linux-x64.gz –C /opt/
查看jdk信息
1. rpm -qa | grep java
显示如下信息:
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
卸载openJDK(根据显示的信息逐一卸载)
1. rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
2. rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
在/etc/profile文件中安装配置jdk环境变量
命令:vi /etc/profile
第五步:ssh无密码登录
关闭所有机器的防火墙
其中命令:chkconfig iptables off 是永久关闭防火墙
ssh无密码登陆原理:
master(nameNode |JobTracker)是主机客户端,要实现无密码公匙其他的节点认证,连接slave(dataNode | taskTracker)上时,需要在master上生成一个密匙对,包括一个公匙(id_dsa.pub)和一个私匙(id_dsa),而后将公匙复制到所有的slave上,当master通过ssh连接slave时,slave就会生成一个随机数并用master的公匙对随机数进行加密,并发给master,master收到加密随机数之后再用私匙解密,并经解密数回传给slave,slave确认解密数无误后就允许master连接
在master机器的“zhuhaichuan”用户下进行ssh无密码配置,其他机器4个机器也要进行ssh无密码设置。
Authorized_keys需要600权限(是600不是下图中的644),.ssh文件需要700权限,当第一次用“sshIP地址”登陆的时候会提示用yes输入,第二次即可。
在分别在master、slave01、slave02、slave04、slave05机器上都要进行如上图的命令进行ssh无密码设置。之后把master、slave01、slave02、slave04、slave05的authorized_keys文件中的内容都全部复制到slave01、slave02、slave04、slave05机器的authorized_keys文件中(因为hama集群中的节点之间也要进行信息传输)
第六步:hadoop配置
配置core-site.xml文件:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
/*
“/home/zhuhaichuan/temp”为 HDFS的默认路径,在新增点或者其他莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。不过如果删除了NameNode机器的此目录,那么久需要重新执行NameNode格式化命令
*/
<value>file:/home/zhuhaichuan/temp</value>
<description>Abasefor other temporarydirectories.</description>
</property>
</configuration>
配置hdfs-site.xml文件:要预先建立hdfs文件、name文件和data文件
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/zhuhaichuan/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/zhuhaichuan/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
//当机器不超过3时,会报错
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
配置mapred-site.xml.template文件:把“mapred-site.xml.template”的名字修改成“mapred-site.xml”
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
配置yarn-site.xml文件:
<configuration>
<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>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.6.35:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.6.35:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>192.168.6.35:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>192.168.6.35:8088</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>8192</value>
</property>
</configuration>
配置slaves文件:
把slaves里面的localhost删除,加上slave01、slave02、master、slave03、salve04和slave05
把配置好的hadoop-2.7.2复制到各个节点对应的位置上,通过scp传送:
scp –r /home/zhuhaichuan/hadoop-2.7.2192.168.6.33:/home/zhuhaichuan
scp –r /home/zhuhaichuan/hadoop-2.7.2192.168.6.34:/home/zhuhaichuan
scp –r /home/zhuhaichuan/hadoop-2.7.2192.168.6.36:/home/zhuhaichuan
scp –r /home/zhuhaichuan/hadoop-2.7.2192.168.6.37:/home/zhuhaichuan
首次运行hadoop必须进行格式化Hadoop文件系统,以后运行即可跳过。打开命令行,进入安装了Hadoop的文件路径下,然后在命令行输入
bin/hadoop namenode -format
在master上启动hadoop,从节点slave01、slave02、slave04、slave05会自动启动,进入hadoop的目录下
(1)初始化,输入命令:bin/hdfs namenode –format
(2)全部启动sbin/start-all.sh,也可分开sbin/start-dfs.sh、sbin/start-yarn.sh
(3)停止,输入命令:sbin/stop-all.sh
第七步:hama的安装配置
1、在hama的conf目录中,在hama-env.sh文件中添加JAVA_HOME
2、配置hama-site.xml文件
<configuration>
<property>
<name>bsp.master.address</name>
<value>master:40000</value>
<description>The address of the bspmaster server. Either the literal string "local" or a host:port fordistributed mode</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
<description> The name of the defaultfile system. Either the literal string "local" or a host:port forHDFS. </description>
</property>
<property>
<name>hama.zookeeper.quorum</name>
<value>master,slave01,slave02,slave04,slave05</value>
<description>Comma separated list ofservers in the ZooKeeper Quorum. For example,"host1.mydomain.com,host2.mydomain.com,host3.mydomain.com". Bydefault this is set to localhost for local and pseudo-distributed modes ofoperation. For a fully-distributed
setup, this should be set to a full list ofZooKeeper quorum servers. If HAMA_MANAGES_ZK is set in hama-env.sh this is thelist of servers which we will start/stop zookeeper on.</description>
</property>
<property>
<name>hama.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
</configuration>
把配置好的hama-0.7.0文件发送的各个slave机器中
在master机器的hama-0.7.0的目录下执行:bin/start-all.sh
相关文章推荐
- 详解HDFS Short Circuit Local Reads
- Hadoop_2.1.0 MapReduce序列图
- 使用Hadoop搭建现代电信企业架构
- 单机版搭建Hadoop环境图文教程详解
- hadoop常见错误以及处理方法详解
- hadoop 单机安装配置教程
- hadoop的hdfs文件操作实现上传文件到hdfs
- hadoop实现grep示例分享
- Apache Hadoop版本详解
- linux下搭建hadoop环境步骤分享
- hadoop client与datanode的通信协议分析
- hadoop中一些常用的命令介绍
- Hadoop单机版和全分布式(集群)安装
- 用PHP和Shell写Hadoop的MapReduce程序
- hadoop map-reduce中的文件并发操作
- Hadoop1.2中配置伪分布式的实例
- hadoop上传文件功能实例代码
- java结合HADOOP集群文件上传下载
- Hadoop 2.x伪分布式环境搭建详细步骤
- Java访问Hadoop分布式文件系统HDFS的配置说明