hadoop 学习(1) hadoop安装

学习之前,先把环境安装好,系统使用的是centos6.5系统,

1、下载hadoop安装包,地址:http://hadoop.apache.org/releases.html

2、解压安装包  tar -zxvf hadoop.tar.gz

3、配置环境变量

  (1)因为hadoop是java项目,首先配置java虚拟机的,环境变量中添加JAVA_HOME指向java安装路径,网上可以搜索java的配置;

  (2)编辑解压好的hadoop文件,修改配置文件: vi hadoop/etc/hadoop/hadoop-env.sh,添加配置:export JAVA_HOME=/usr/local/jdk1.7.0_67,指向java安装路径

  (3)配置hadoop的bin和sbin目录至环境变量中:

export HADOOP_HOME=/usr/local/hadoop-2.7.1

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin

    以上环境变量配置好后,可以输入以下命令判断hadoop是否工作:

hadoop version

4、 hadoop文件配置

 hadoop 组件均可利用xml文件配置。

core-site.xml 配置通用属性;

hdfs-site.xml 配置hdfs属性;

mapred-site.xml配置mapReduce属性。均放在hadoop/etc/hadoop/中


hadoop 主要有三种运行模式:

(1) 独立(本地)模式,不用运行守护进程,都在一个JVM上,适合开发模式;

(2)伪分布式模式,守护进行运行在本地机器,模拟分布式集群;

(3)全分布式模式,守护进程运行在集群上,

不同模式配置属性

组件名称
配置的文件名
属性名称
独立模式
伪分布模式
全分布模式
Common
core-site.xml
fs.default,name
file:///(默认)
hdfs://localhost/
hafs://namenode/
HDFS
hdfs-site.xml
dsf.replication
N/A
1
3
MapReduce 1
mapred-site.xml
mapred.job.tracker
local(默认)
localhost:8021
jobtracker:8021
YARN(MapReduce 2)
yarn-site.xml
yarn.resurcemanager.address
N/A
localhost:8032
resourcemanager:803


默认的属性即为独立模式;

伪分布式模式

配置如下:

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>fs.default.name</name>
		<value>hdfs://localhost</value>
		<description>HDFS的URI,文件系统://namenode标识:端口号</description>
	</property>

	<property>
		<name>hadoop.tmp.dir</name>
		<value>/root/hadoop/hadoop-0.20.2/hadooptmp</value>  
		<description>namenode上本地的hadoop临时文件夹</description>
	</property>
</configuration>

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>dfs.name.dir</name> 
		<value>/root/hadoop/hadoop-0.20.2/hdfs/name</value> 
		<description>namenode上存储hdfs名字空间元数据 </description> 
	</property> 

	<property> 
		<name>dfs.data.dir</name> 
		<value>/root/hadoop/hadoop-0.20.2/hdfs/data</value> 
		<description>datanode上数据块的物理存储位置</description> 
	</property> 

	<property>
		<name>dfs.replication</name>  
		<value>1</value>
		<description>副本个数,不配置默认是3,应小于datanode机器数量</description>
	</property>
</configuration>

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</name>
		<value>localhost:8021</value>
		<description>jobtracker标识:端口号,不是URI</description>
	</property>

	<property> 
		<name>mapred.local.dir</name> 
		<value>/root/hadoop/hadoop-0.20.2/mapred/local</value> 
		<description>tasktracker上执行mapreduce程序时的本地目录</description> 
	</property> 

	<property> 
		<name>mapred.system.dir</name> 
		<value>/tmp/hadoop/mapred/system</value> 
		<description>这个是hdfs中的目录,存储执行mr程序时的共享文件</description> 
	</property> 
</configuration>

配置ssh

在伪分布模式下运行时必须启动守护进程,而启动守护进程的前提是已经成功安装SSH。NameNode将使用SSH协议启动DataNode进程,伪分布模式下DataNode和NameNode均是本身,所以必须配置SSH localhost的无密码验证。

首先,确保SSH已经安装,且服务器正在运行。我机器上是默认安装了的,所以这里不谈。

然后,基于空口令创建一个新SSH密钥,以启用无密码登录:

$ ssh-keygen  -t  rsa  -P  ''  -f  ~/.ssh/id_rsa

$ cat  ~/.ssh/id_rsa.pub  >>  ~/.ssh/authorized_keys

用以下指令进行测试:

$ ssh  localhost

若成功,这无需输入秘密


注:

ssh localhost 出现报错信息:localhost: ssh: connect to host localhost port 22: Connection refused

该情况一般为 未安装ssh服务,自行查找安装ssh服务的方法(ubuntu中,安装命令为:sudo apt-get install openssh-server

格式化hdfs系统

使用之前 ,必须先格式化系统,

命令:  hadoop namenode  -format


启动进程

启动HDFS和MapReduce守护进程,输入一下命令:

$ start-dfs.sh

输出如下(可以看出分别启动了namenode, datanode, secondarynamenode,也给出了日志的存放位置):

localhost: starting namenode, logging to /usr/local/hadoop-2.7.1/logs/hadoop-root-namenode-localhost.localdomain.out
localhost: starting datanode, logging to /usr/local/hadoop-2.7.1/logs/hadoop-root-datanode-localhost.localdomain.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to /usr/local/hadoop-2.7.1/logs/hadoop-root-secondarynamenode-localhost.localdomain.out

$ start-yarn.sh 输出如下,可以看出启动了yarn资源管理器和节点管理器,资源管理器的web地址是http://localhost:8088/

starting yarn daemons
starting resourcemanager, logging to /usr/local/hadoop-2.7.1/logs/yarn-song-resourcemanager-localhost.localdomain.out
localhost: starting nodemanager, logging to /usr/local/hadoop-2.7.1/logs/yarn-root-nodemanager-localhost.localdomain.out



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值