在linux系统中安装Hadoopjava
1.安装环境配置
1)安装linux虚拟机node
2)安装SSH服务
3)安装Java
4)解压Hadoop安装包
5)编辑conf/hadoop-env.sh文件
进入hadoop解压文件夹
编辑conf/hadoop-env.sh
把JACA_HOME 设置为Java安装的根路径
export JAVA_HOME=/usr/java/jdk.1.6.0.24linux
2.安装步骤
hadoop集群支持三种运行模式:单机模式,伪分布模式和彻底分布模式服务器
拷贝到/usr/local目录下ssh
1)单机模式:安装简单,几乎不用作任何配置,默认状况下,Hadoop被配置成一个以非分布模式运行的独立的Java进程,适合开始时作调试工做
2)伪分布模式:hadoop能够在单节点上以伪分布模式运行,用不一样的Java进程模拟分布式运行中的各种节点(NameNode,DataNode,JobTracker,TaskTracker,Secondary NameNode)分布式
(1)进入hadoop的解压目录,编辑conf目录下的core-site.xml,hdfs-site.xml和mapred-site.xml
三个核心配置文件oop
core-site.xml调试
<configuration>
<property>
<name>fs.default.name</name> 指定NameNode的ip地址和端口号
<value>hdfs://localhost:9000</value>
</property>
</configuration>orm
hdfs-site.xmlxml
<configuration>
<property>
<name>dfs.data.dir</name> 指定数据节点存放数据目录
<value>/usr/local/hadoop/data</value> 目录事先建好
</property>
<property>
<name>dfs.replication</name> 指定数据块 复制
<value>1</value> 伪分布式只有一个节点
</property>
<configuration>
mapred-site.xml 文件
<configuration>
<property>
<name>mapred.job.tracker</name> 指定做业跟踪器位置
<value>localhost:9001</value>
</property>
</configuration>
(2)配置ssh 生成秘钥,使到ssh能够免密码链接到localhost,
(3)hadoop运行
a 格式化分布式文件系统
bin/hadoop namenode -format
b 启动hadoop守护进程
bin/start-all.sh
成功执行后,将在本机上启动NameNode,DataNode,JobTracker,TaskTracker,Secondary NameNode五个java进程
c中止hadoop守护进程
bin/stop-all.sh
3)彻底分布式模式:正常的hadoop的集群,由多个各司其职的节点构成
(1)配置NameNode和DataNode
配置成功的关键在于确保个机器的主机和IP地址之间能正确解析,修改每台机器的/etc/hosts,若是该机器做NameNode用,则须要添加集群中全部机器的IP地址及其对应主机名,若是该台机器仅做为DataNode用,只需添加本机和NameNode的Ip地址及其对应的主机名,假如h1为NameNode,h2,h3为DataNode
127.0.0.1 localhost
192.168.80.100 h1
192.168.80.101 h2
192.168.80.102 h3
(2)在全部的机器上创建相同的用户grid
(3)SSH配置,目的是免密码登陆
分发ssh公钥,把各个节点的authorized-keys的内容互相拷贝加入到对方的此文件中,而后就能够免密码彼此ssh连入
(4)配置hadoop
首先在namenode h1上配置
a 解压hadoop,在解压目录下按照伪分布模式相同的方法修改core-site.xml,hdfs-site.xml,mapred-site.xml等配置文件 (注意:localhost,修改成指定的ip地址)
b 编辑masters和slaves文件,每一个服务器各一行
masters
h1
slaves
h2
h3
c 向各个节点复制hadoop(配置好后)
scp -r /hadoop-0.20.2 h2:/home/grip
scp -r /hadoop-0.20.2 h3:/home/grip
d 编辑全部机器的/conf/hadoop-env.sh文件,将JAVA_HOME变量设置为各自Java安装的根
目录
至此,hadoop已经在集群上部署完毕,若是要新加入或删除节点,仅需修改NameNode的masters和slaves
(5)hadoop运行
a格式化分布式文件系统
/bin/hadoop namenode -format
b启动hadoop守护进程,在h1上启动namenode,JobTracker和Secondary NameNode 在h2,h3上启动DataNode和TaskTracker
在namenode
/bin/start-all.sh 启动脚本
检测守护进程启动状况
/usr/java/jdk1.6.0-26/bin/jps 查看跟java有关的进程信息
在DataNode用相同的命令观察