1.x 安装
Hadoop1.x 集群规划
No |
名称 |
内容 |
备注 |
1 |
用户 |
grid |
|
2 |
用户组 |
hadoop |
有权限运行hadoop,并可以使用jdk |
3 |
服务器 |
Hadoop11: 192.168.1.211 Hadoop12: 192.168.1.212 Hadoop13: 192.168.1.213 |
|
4 |
系统 |
Cent OS 7 |
|
5 |
JDK版本 |
jdk-7u79-linux-x64.gz |
|
6 |
Hadoop版本 |
hadoop-1.2.1-bin.tar.gz |
|
|
文件传输工具 |
WinSCP |
|
-
创建用户及所属组
grid,用来运行Hadoop (可选)
su
groupadd grid
useradd –m –s /bin/bash –g grid grid
-
机器及网络配置
-
配置IP
-
修改主机名:
su
vi /etc/hostname
将三台机器的名子改为: hadoop11, hadoop 12, hadooop 13
-
配置host文件
切换到root帐户下,使用vi在修改文件/etc/hosts,添加三台机器的IP,及名称。然后使用ping命令检查各台机器之间的是否可以通过机器名连通
-
关闭防火墙
systemctl stop firewalld.service
-
禁止防火墙自启动
systemctl disable firewalld.service
-
配置SSH无密码登录
在三台机器上分别执行
ssh-keygen -t rsa
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
然后在需要输入信息的时候,直接回车。直至命令完成
使用ssh登录机器。检查SSH无密码是否配置正确
将三台的机器的id_rsa.pub内容合并,然后将内容写到authorized_keys,然后使用SCP将authorized_keys拷贝到其它两台机器上。
scp id_rsa.pub hadoop11:~/.ssh/h12_id_rsa.pub
scp id_rsa.pub hadoop11:~/.ssh/h13_id_rsa.pub
-
安装JDK
-
准备JKD
将准备好的JKD安装包使用Winscep拷贝到Hadoop11上
-
在root用户解压安装
su
cp jdk-7u79-linux-x64.gz hadoop-1.2.1-bin.tar.gz /usr/local
tar -zxvf jdk-7u79-linux-x64.gz
-
为用户赋权限
在三台机器上执行以下命令
cd /usr/local
chown –R grid:hadop jdk-7u79-linux-x64
-
安装Hadoop
-
准备hadop安装包
使用winscp将hadop安装包hadoop-1.2.1-bin.tar.gz拷贝到hadoop11机器上
-
在root用户下解压hadoop
su
cd /usr/local
tar –zxvf hadoop-1.2.1-bin.tar.gz
-
为用户赋权限
chown –R grid:hadoop hadoop-1.2.1
-
修改配置文件
-
修改hadoop-env.sh
-
修改masters,slaves文件
-
修改core-site.xml,hdfs-site.xml,mapred-site.xml
core-site.xml
hdfs-site.xml
mapred-site.xml
-
将配置好的hadoop复制到其它各节点
scp -r jdk1.7.0_79 hadoop12:/usr/local
scp -r hadoop-1.2.1 hadoop12:/usr/local/
scp -r jdk1.7.0_79 hadoop13:/usr/local
scp -r hadoop-1.2.1 hadoop13:/usr/local/
-
在hadoop12,hadoop13上设置权限:
su
chown -R grid:grid hadoop-1.2.1 jdk1.7.0_79
-
格式化hadoop
bin/hadoop namenode -format
-
启动进程
在hadoop安装目录下运行
bin/start-all.sh
-
检查进程
使用工具jps on hadoop11
jps on hadoop12, hadoop13
-
在Hadoop 1.x上运行wordcount
Hadoop一切准备就细后,我们来运行hadoop自带的例子wordcount来检查下hadoop是否能正常工作。
-
准备要分析的文件
cd /usr/local/hadoop-1.2.1/
mkdir input
echo "hello word" >test1.txt
echo "hello hadoop" >test2.txt
-
将文件放到hdfs文件系统中
bin/hadoop fs -put /usr/local/hadoop-1.2.1/input in
检查文件创建是否成功
bin/hadoop fs -lsr in
-
运行程序
bin/hadoop jar hadoop-examples-1.2.1.jar wordcount in out
-
查看结果:
bin/hadoop fs -cat /user/grid/out/part-r-00000
作业问题二:Hadoop 2.x 安装
Hadoop2.x 集群规划
No |
名称 |
内容 |
备注 |
1 |
用户 |
grid |
|
2 |
用户组 |
hadoop |
有权限运行hadoop,并可以使用jdk |
3 |
服务器 |
Hadoop21: 192.168.1.221 Hadoop22: 192.168.1.222 Hadoop23: 192.168.1.223 |
|
4 |
系统 |
Cent OS 7 |
|
5 |
JDK版本 |
jdk-7u79-linux-x64.gz |
|
6 |
Hadoop版本 |
hadoop-2.5.2.tar.gz |
|
|
文件传输工具 |
WinSCP |
|
x安装的前期准备工作与hadoop 1.x类似,具体步骤可以参考1.x的安装文件。下面主要介绍hadoop 2.x的安装.
-
安装Hadoop
-
准备Hadoop安装包
将文件hadoop-2.5.2.tar.gz拷贝到/home/grid
-
在root用户下解压hadoop
su
cp hadoop-2.5.2.tar.gz /usr/local
tar -zxvf hadoop-2.5.2.tar.gz
-
为用户赋权限
chown -R grid:hadoop hadoop-2.5.2
exit
-
修改配置文件:
hadoop2.x 需要修改如下目录下的七个配置文件
/usr/local/hadoop-2.5.2/etc/hadoop
- yarn-env.sh
- hadoop-env.sh
- slaves
- core-site.xml
- hdfs-site.xml
- mapred-site.xml (从mapred-site.xml.template复制得到)
- yarn-site.xml
-
yarn-env.sh
-
hadoop-env.sh
-
slaves
1.4.4 core-site.xml
fs.defaultFS hdfs://hadoop21:9000 change your own hostname io.file.buffer.size 131072 hadoop.tmp.dir /usr/local/hadoop-2.5.2/tmp -
hdfs-site.xml
dfs.namenode.secondary.http-address hdfs://hadoop21:9001 dfs.namenode.name.dir file:/usr/local/hadoop-2.5.2/name > dfs.datanode.data.dir file:/usr/local/hadoop-2.5.2/data dfs.replication 1 dfs.webhdfs.enabled true -
mapred-site.xml
从mapred-site.xml.template复制得到
mapreduce.framework.name yarn mapreduce.jobhistory.address hadoop21:10020 > mapreduce.jobhistory.webapp.address hadoop21:19888 -
yarn-site.xml
yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.aux-services.mapreduce_shuffle.class org.apache.hadoop.mapred.ShuffleHandler yarn.resourcemanager.address hadoop21:8022 yarn.resourcemanager.scheduler.address hadoop21:8030 yarn.resourcemanager.resource-tracker.address hadoop21:8031 yarn.resourcemanager.admin.address hadoop21:8033 yarn.resourcemanager.webapp.address hadoop21:8088 -
复制配置好的Hadoop到其它节点
scp -r hadoop-2.5.2 hadoop22:/usr/local
scp -r hadoop-2.5.2 hadoop23:/usr/local
-
在hadoop22,hadoop23上执行命令设置权限
chown -R grid:hadoop hadoop-2.5.2 jdk1.7.0_79
-
格式化Hadop
bin/hdfs namenode -format
-
启动Hadoop
sbin/start-dfs.sh
sbin/start-yarn.sh
-
检查进程
/usr/local/jdk1.7.0_79/bin/jps
hadoop21:
hadoop22
hadoop23
-
使用Hadoop 2.x 运行示例
-
准备文件
mkdir input
cd input
echo "hello word" >test1.txt
echo "hello hadoop" >test2.txt
-
将文件放到hdfs文件系统中
bin/hadoop fs -put /usr/local/hadoop-2.5.2/input /in
-
运行程序
bin/hadoop jar /usr/local/hadoop-2.5.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.2.jar wordcount /in/* /out
-
查看结果:
bin/hadoop fs -ls -R /out
bin/hadoop fs -cat /out/part-r-00000
下面关于Hadoop的文章您也可能喜欢,不妨看看:
14.04下Hadoop2.4.1单机/伪分布式安装配置教程
安装和配置Hadoop2.2.0
Ubuntu 13.04上搭建Hadoop环境
Ubuntu 12.10 +Hadoop 1.2.1版本集群配置
Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)
Ubuntu下Hadoop环境的配置
单机版搭建Hadoop环境图文教程详解
更多Hadoop相关信息见 专题页面
本文永久更新链接地址: