分享

Hadoop安装

zhensg2008 发表于 2015-10-14 12:14:44 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 0 8458

一、环境
1、软件版本
Hadoophadoop-0.20.2.
Hivehive-0.5.0
JDKjdk1.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 Aug26 14:11:27 2010 from zhangyu2-410.kingsoft.cn

在从服务器中执行如下命令:ssh [服务器slaves]
ssh 192.168.10.121

成功显示结果
Last login: Thu Aug 26 18:23:58 2010 fromzhangyu2-410.kingsoft.cn

三、安装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配置
(大讲台国内首个it在线教育混合式自适应学习平台)

1.配置主机[服务器master]
到zwmhadoop/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 thisfile. -->
<configuration>
       <property>
               <name>fs.default.name</name>
               <value>hdfs://192.168.10.121:9000</value>//你的namenode的配置,机器名加端口
               <description>The name of the default file system. Either theliteral string "local" or 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 thisfile. -->
<configuration>
       <property>
               <name>hadoop.tmp.dir</name>
               <value>/root/zwmhadoop/tmp</value>
//Hadoop的默认临时路径,这个最好配置,然后在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令了(手动加上该目录)。
               <description>A base for other temporarydirectories.</description>
       </property>
       <property>
                <name>dfs.name.dir</name>
               <value>/root/zwmhadoop/filesystem/name</value>
//NameNode持久存储名字空间及事务日志的本地文件系统路径(手动加上该目录)。
               <description>Determines where on the local filesystem the DFS namenode should store the name table. If this is a comma-delimited list ofdirectories then the name table is replicated in all of the directories, forredundancy. </description>
       </property>
       <property>
               <name>dfs.data.dir</name>
               <value>/root/zwmhadoop/filesystem/data</value>
//DataNode存放块数据的本地文件系统路径,逗号分割的列表(手动加上该目录)。
               <description>
                        Determines where on thelocal filesystem an DFS data node should store its blocks. If this is acomma-delimited list of directories, then data will be stored in all nameddirectories, typically on different devices. Directories that do not exist areignored.
               </description>
       </property>
       <property>
               <name>dfs.replication</name>
               <value>1</value>//数据需要备份的数量,默认是三
               <description>Default block replication. The actual number ofreplications can be specified when the file is created. The default isused ifreplication is not specified in create time.</description>
       </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 thisfile. -->
<configuration>
      <property>
           <name>mapred.job.tracker</name>//JobTracker的主机(或者IP)和端口。
           <value>192.168.10.121:9001</value>
           <description>
                 Thehost and port that the MapReduce job tracker runs at. If "local",then jobs are run in-process as a single map and
                 reducetask.
           </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 zwmhadoop/hadoop-0.20.2/bin

1)namenode -format:格式化Hdfs文件系统

./hadoop namenode -format

输入Y,(注意区分大小写.这里一定要输入大写的Y,否刚不会成功format文件系统)
不出意外,应该会提示格式化成功。如果不成功,就去hadoop/logs/目录下去查看日志文件。

2)start-all.sh 启动所有的Hadoop
包括启动namenode,datanode, jobtracker, tasktrack。
./start-all.sh

如果成功显示如下结果:
starting namenode, logging to/root/zwmhadoop/hadoop-0.20.2/bin/../logs/hadoop-root-namenode-192.168.10.121.out
192.168.10.68: starting datanode, logging to/root/zwmhadoop/hadoop-0.20.2//logs/hadoop-root-datanode-192.168.10.68.out
192.168.10.121: starting secondarynamenode, loggingto /root/zwmhadoop/hadoop-0.20.2/bin/../logs/hadoop-root-secondarynamenode-192.168.10.121.out
starting jobtracker, logging to/root/zwmhadoop/hadoop-0.20.2/bin/../logs/hadoop-root-jobtracker-192.168.10.121.out
192.168.10.68: starting tasktracker, logging to/root/zwmhadoop/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页面查看。
4stop-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文件copyhadoop文件系统中
./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 -filesabc.txt inputoutput
                                                     指定文件     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 zwmhadoop/hive-0.5.0-dev/bin/

使用hive命令,进入hive,使用showtables命令查看表,用quit命令退出hive。操作过程如下所示:
-bash-3.2# ./hive
Hive historyfile=/tmp/root/hive_job_log_root_201008271457_901347589.txt
hive> showtables;
OK
Time taken: 9.926 seconds
hive> quit;
-bash-3.2#

将Hive的环境变量,配置到全局和hadoop的配置文件中
在使用Hive时,hadoop的core-site.xml一定要使用hostname,不要用ip,否则会包错。

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条