Linux下Hadoop2.7.1集环境的搭建(超详细版)
本⽂旨在提供最基本的,可以⽤于在⽣产环境进⾏Hadoop、HDFS分布式环境的搭建,对⾃⼰是个总结和整理,也能⽅便新⼈学习使⽤。
⼀、基础环境
在Linux上安装Hadoop之前,需要先安装两个程序:
1.1 安装说明
1. JDK 1.6或更⾼版本(本⽂所提到的安装的是jdk1.7);
2. SSH(安全外壳协议),推荐安装OpenSSH。
hadoop分布式集搭建
下⾯简述⼀下安装这两个程序的原因:
1. Hadoop是⽤Java开发的,Hadoop的编译及MapReduce的运⾏都需要使⽤JDK。
2. Hadoop需要通过SSH来启动salve列表中各台主机的守护进程,因此SSH也是必须安装的,即使是安装伪分布式版本(因为Hadoop并没有区分集式和伪分布式)。对于伪分布式,Hadoop会采⽤与集相同的
处理⽅式,即依次序启动⽂件conf/slaves中记载的主机上的进程,只不过伪分布式中salve为localhost(即为⾃⾝),所以对于伪分布式Hadoop,SSH⼀样是必须的。
1.1 JDK的安装与配置
1、上传压缩包
我这⾥使⽤的是WinScp⼯具上传压缩包
2、解压压缩包
tar -zxvf
3、将解压的⽬录移动到/usr/local⽬录下
mv /lutong/jdk1.7.0_76/ /usr/local/
4、配置环境变量
vim /etc/profile
5、重新加载/etc/profile,使配置⽣效
source /etc/profile
6、查看配置是否⽣效
echo $PATH
java -version
出现如上信息表⽰已经配置好了。
⼆、Host配置
由于我搭建Hadoop集包含三台机器,所以需要修改调整各台机器的hosts⽂件配置,进⼊/etc/hosts,配置主机名和ip的映射,命令如下:
vim /etc/hosts
如果没有⾜够的权限,可以切换⽤户为root。
三台机器的内容统⼀增加以下host配置:
可以通过hostname来修改服务器名称为master、slave1、slave2
hostname master
三、Hadoop的安装与配置
3.1 创建⽂件⽬录
为了便于管理,给Master的hdfs的NameNode、DataNode及临时⽂件,在⽤户⽬录下创建⽬录:
/data/hdfs/name
/data/hdfs/data
/data/hdfs/tmp
然后将这些⽬录通过scp命令拷贝到Slave1和Slave2的相同⽬录下。
3.2 下载
⾸先到Apache官⽹(/i/hadoop/common/)下载Hadoop,从中选择推荐的下载镜像(mirrors.hust.edu/apache/hadoop/common/),我选择hadoop-2.6.0的版本,并使⽤以下命令下载到Master机器的/data⽬录:
wget mirror.bit.edu/apache/hadoop/common/hadoop-2.7.1/hadoop-2.7.
然后使⽤以下命令将 hadoop-2.7. 解压缩到/data⽬录
tar -zxvf hadoop-2.7.
3.3 配置环境变量
回到/data⽬录,配置hadoop环境变量,命令如下:
vim /etc/profile
在/etc/profile添加如下内容
⽴刻让hadoop环境变量⽣效,执⾏如下命令:
source /etc/profile
再使⽤hadoop命令,发现可以有提⽰了,则表⽰配置⽣效了。
3.4 Hadoop的配置
进⼊hadoop-2.7.1的配置⽬录:
cd /data/hadoop-2.7.1/etc/hadoop
依次修改l、l、l、l以及slaves⽂件。
3.4.1 修改l
l
5  you may not use this file except in compliance with the License.
6  You may obtain a copy of the License at
7
8    /licenses/LICENSE-2.0
9  Unless required by applicable law or agreed to in writing, software
10  distributed under the License is distributed on an "AS IS" BASIS,
11  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  See the License for the specific language governing permissions and
13  limitations under the License. See accompanying LICENSE file.
14-->
15
16<!-- Put site-specific property overrides in this file. -->
17<configuration>
18<property>
19<name&p.dir</name>
20<value>file:/data/hdfs/tmp</value>
21<description>A base for other temporary directories.</description>
22</property>
23<property>
24<name>io.file.buffer.size</name>
25<value>131072</value>
26</property>
27<property>
28<name>fs.default.name</name>
29<value>hdfs://master:9000</value>
30</property>
31<property>
32<name>hosts</name>
33<value>*</value>
34</property>
35<property>
36<name>roups</name>
37<value>*</value>
38</property>
39</configuration>
注意:p.dir的value填写对应前⾯创建的⽬录
3.4.2 修改l
l
5  you may not use this file except in compliance with the License.
6  You may obtain a copy of the License at
7
8    /licenses/LICENSE-2.0
9
10  Unless required by applicable law or agreed to in writing, software
11  distributed under the License is distributed on an "AS IS" BASIS,
12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  See the License for the specific language governing permissions and
14  limitations under the License. See accompanying LICENSE file.
15-->
16
17<!-- Put site-specific property overrides in this file. -->
18
19<configuration>
20<property>
21<name&plication</name>
22<value>2</value>
23</property>
24<property>
25<name>dfs.namenode.name.dir</name>
26<value>file:/data/hdfs/name</value>
27<final>true</final>
28</property>
29<property>
30<name>dfs.datanode.data.dir</name>
31<value>file:/data/hdfs/data</value>
32<final>true</final>
33</property>
34<property>
35<name>dfs.namenode.secondary.http-address</name>
36<value>master:9001</value>
37</property>
38<property>
39<name>abled</name>
40<value>true</value>
41</property>
42<property>
43<name>dfs.permissions</name>
44<value>false</value>
45</property>
46</configuration>
注意:dfs.namenode.name.dir和dfs.datanode.data.dir的value填写对应前⾯创建的⽬录
3.4.3 修改l
复制template,⽣成xml,命令如下:
l.l
vim  l

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。