hadoop安装配置指南
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Hadoop安装、配置指南
一、环境
1、软件版本
Hadoop:hadoop-0.20.2.
Hive:hive-0.5.0
JDK:jdk1.6以上版本
2、配置的机器:
主机[服务器master]:192.168.10.121 hadoop13
从机[服务器slaves]:192.168.10.68 hadoop4
在本文中,在命令或
二、先决条件
1、配置host:
打开/etc/host文件,添加如下映射
192.168.10.121 hadoop13 hadoop13
192.168.10.68 hadoop4 hadoop4
2、配置SSH自动登陆
1)以ROOT用户,登陆到[服务器master]上执行,如下操作:
ssh-keygen -t rsa //一路回车
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
scp -r ~/.ssh [服务器slaves]:~/
2)以ROOT用户,登陆到[服务器slaves]上执行,如下操作:
scp -r ~/.ssh [服务器master]:~/
3)测试SSH是否配置成功
在主服务器中执行如下命令:ssh [服务器master]
ssh 192.168.10.68
成功显示结果:
Last login: Thu Aug 26 14:11:27 2010 from
在从服务器中执行如下命令:ssh [服务器slaves]
ssh 192.168.10.121
成功显示结果
Last login: Thu Aug 26 18:23:58 2010 from 三、安装hadoop
1、JDK安装,解压到/usr/local/jdk1.6.0_17,并配置/etc/profile环境
export JAVA_HOME=/usr/local/jdk/jdk1.7.0
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre:$PATH
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
JDK路径:/usr/local/jdk/jdk1.7.0
export JAVA_HOME=/usr/local/jdk/jdk1.7.0
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre:$PATH
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
/usr/local/jdk/jdk1.7.0
2、下载Hadoop 并解压到[服务器master]的/root/zwmhadoop目录下
tar zxvf hadoop-0.20.2.tar.gz
四、配置hadoop
1.配置主机[服务器master]
到zwm hadoop/hadoop-0.20.2/ hadoop 目录下,修改以下文件:
1)配置conf/hadoop-env.sh文件,在文件中添加环境变量,增加以下内容:
export JAVA_HOME=/usr/local/jdk1.6.0_17
export HADOOP_HOME=/root/zwmhadoop/hadoop-0.20.2/
2)配置conf/core-site.xml文件,增加以下内容
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name></name>
<value>hdfs://192.168.10.121:9000</value>//你的namenode的配置,机器名加端口
<description>The nam e of the default file system. Either the literal string "local" o r a host:port for DFS.</description>
</property>
</configuration>
3)配置conf/hdfs-site.xml文件,增加以下内容
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>hadoop.t m p.dir</name>
<value>/root/zwmhadoop/t m p</value>
//Hadoop的默认临时路径,这个最好配置,然后在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的t mp目录即可。
不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令了(手动加上该目录)。
<description>A base for other tem porary directories.</description> </property>
<property>
<name>.dir</name>
<value>/root/zwmhadoop/filesystem/name</value>
//NameNode持久存储名字空间及事务日志的本地文件系统路径(手动加上该目录)。
<description>Determines where on the local filesystem the DFS name node should store the nam e table. If this is a comma-delimited list of directories then the nam e table is repli cated in all of the directories, for redundancy. </description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/root/zwmhadoop/filesystem/data</value>
//DataNode存放块数据的本地文件系统路径,逗号分割的列表(手动加上该目录)。
<description>
Determines where on the local filesystem an DFS data node should store it s blocks. If this is a comma-delimited list of directories, then data will be stored in all named dir ectories, typically on different devices. Directories that do not exist are ignored.
</description>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>//数据需要备份的数量,默认是三
<description>Default block replication. The actual number of replications can be sp ecified when the file is created. The default isused if replication is not specified in create tim e.</d escription>
</property>
</configuration>
4)配置conf/mapred-site.xml文件,增加如下内容:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.job.tracker</nam e>//JobTracker的主机(或者IP)和端口。
<value>192.168.10.121:9001</value>
<description>
The host and port that the MapReduce job tracker runs at. If "local", then jobs are ru
n in-process as a single map and
reduce task.
</description>
</property>
</configuration>
5)配置conf/masters,添加[服务器master]的主机名或者IP,具体如下:
192.168.10.121
6)配置conf/slaves,添加[服务器slaves]的主机名或者IP,具体如下:
191.168.10.68
2、配置从机[服务器slaves]
将主机[服务器master]的文件夹zwmhadoop,复制到从机[服务器slaves],最好路径一致。
从机中配置基本与主机一致。
因为在本例中[服务器master]与[服务器slaves]的JAVA_HOME值不一致,所以在从机中需要修改conf/hadoop-env.sh文件,修改内容如下:
export JAVA_HOME=/usr/local/jdk1.6.0_18
export HADOOP_HOME=/root/zwmhadoop/hadoop-0.20.2/
3、常用命令
连接到主机[服务器master],进入bin目录
cd zwm hadoop/hadoop-0.20.2/bin
1)namenode -format:格式化Hdfs文件系统
./hadoop namenode -form at
输入Y,(注意区分大小写.这里一定要输入大写的Y,否刚不会成功format文件系统)
不出意外,应该会提示格式化成功。
如果不成功,就去hadoop/logs/目录下去查看日志文件。
2)start-all.sh:启动所有的Hadoop
包括启动namenode, datanode, jobtracker, tasktrack。
./start-all.sh
如果成功显示如下结果:
starting namenode, logging to /root/zwm hadoop/hadoop-0.20.2/bin/../logs/hadoop-root-nam enode-192.168.10.121.out
192.168.10.68: starting datanode, logging to /root/zwm hadoop/hadoop-0.20.2//logs/hadoop-root-d atanode-192.168.10.68.out
192.168.10.121: starting secondarynam enode, logging to /root/zwmhadoop/hadoop-0.20.2/bin/../lo gs/hadoop-root-secondarynamenode-192.168.10.121.out
starting jobtracker, logging to /root/zwm hadoop/hadoop-0.20.2/bin/../logs/hadoop-root-jobtracker-1 92.168.10.121.out
192.168.10.68: starting tasktracker, logging to /root/zwm hadoop/hadoop-0.20.2//logs/hadoop-root-tasktracker-192.168.10.68.out
3)hadoop dfsadmin -report :查看报告
./hadoop dfsadmin -report
如果成功显示如下结果:
Configured Capacity: 11839819776 (11.03 GB)
Present Capacity: 7551774735 (7.03 GB)
DFS Remaining: 7551750144 (7.03 GB)
DFS Used: 24591 (24.01 KB)
DFS Used%: 0%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
-------------------------------------------------
Datanodes available: 1 (1 total, 0 dead)
Name: 192.168.10.68:50010
Decommission Status : Normal
Configured Capacity: 11839819776 (11.03 GB)
DFS Used: 24591 (24.01 KB)
Non DFS Used: 4288045041 (3.99 GB)
DFS Remaining: 7551750144(7.03 GB)
DFS Used%: 0%
DFS Remaining%: 63.78%
Last contact: Fri Aug 27 11:56:23 CST 2010
这个结果也可以通过http://192.168.10.121:50070/dfshealth.jsp页面查看。
4)stop-all.sh:停止所有的hadoop
./stop-all
如果成功显示如下结果:
stopping jobtracker
192.168.10.68: stopping tasktracker
stopping namenode
192.168.10.68: no datanode to stop
192.168.10.121: stopping secondarynamenode
停止后,可以使用jps命令,查看是否停止了所有的相关进程。
五、在主机上运行一个jar包
1、在文件系统中创建一个input目录
./hadoop dfs -mkdir input
2、把主机上本地的/root/abc.txt文件copy到hadoop文件系统中
./hadoop dfs -copyFromLocal /root/abc.txt input
3、查看hadoop文件系统中的文件
./hadoop dfs -ls input
4、运行hadoop-0.20.2-examples.jar包中的程序
包名函数名文件名输出到output文件夹下
./hadoop jar hadoop-0.20.2-examples.jar wordcount-files abc.txt input output
指定文件Input文件夹
5、查看运行结果
./hadoop dfs -cat /user/root/output/part-r-00000
正确运行显示:
ewfef|ewef 1
ffdf|ewff 1
六、安装及测试hive
1、安装hive
下载hive 并解压到[服务器master]的/root/zwmhadoop目录下
tar zxvf hive-0.5.0-dev.tar.gz
2、测试hive
进入到/zwmhadoop/hive-0.5.0-dev/bin/下,
cd zwm hadoop/hive-0.5.0-dev/bin/
使用hive命令,进入hive,使用show tables命令查看表,用quit命令退出hive。
操作过程如下所示:-bash-3.2# ./hive
Hive history file=/t m p/root/hive_job_log_root_201008271457_901347589.txt
hive>show tables;
OK
Tim e taken: 9.926 seconds
hive>quit;
-bash-3.2#
将Hive的环境变量,配置到全局和hadoop的配置文件中
在使用Hive时,hadoop的core-site.xml一定要使用hostnam e,不要用ip,否则会包错。