转发请说明出处 http://blog.csdn.net/ligy2005/article/details/12112455
由于自己搭建 所以 没有 cloudera manager 快 但是 cloudera manager 架起来 对一两个 机器 负担 还是 有点 大 管理类和监控类工具过多 导致 使用内存 量 很大
废话不多说了直接开始
我的是64位 所以纠结了一阵
Centos6.4 x86-64 安装就不说了
两台机器
192.168.1.117 hadoop.first
192.168.1.118 hadoop.second
需要无密码直接登陆 配置 这配置 网上有很多 但是我只配置出来 root的 无密码登陆
JDK 需要 1.6.0_45 64位
hadoop-1.2.1-bin.tar.gz 下载下来 http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-1.2.1/
{CSDN:CODE: # tar zxvf hadoop-1.2.1-bin.tar.gz }
hbase-0.95.2-hadoop1-bin.tar.gz http://mirror.esocc.com/apache/hbase/hbase-0.95.2/
{CSDN:CODE: # tar zxvf hbase-0.95.2-hadoop1-bin.tar.gz }
配置文件
# vi /etc/profile
#JDK
JAVA_HOME=/tarfile/jdk1.6.0_45
JRE_HOME=/tarfile/jdk1.6.0_45/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
#HADOOP
export HADOOP_DEV_HOME=/tarfile/hadoop-1.2.1
export PATH=$PATH:$HADOOP_DEV_HOME/bin
#HBASE
export HBASE_HOME=/tarfile/hbase-0.95.2-hadoop1
export PATH=$PATH:$HBASE_HOME/bin
zookeeper 用的是Hbase 自带的
下面是hadoop 配置
core-site.xml
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop/hdtemp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop.first:8250/</value>
</property>
hadoop tmp 目录 修改了 如果不改 重启centos 数据就没有了
namenode 端口号 8250 在hadoop.first 这台机器上
hadoop-env.sh
这个文件 需要
export JAVA_HOME=/tarfile/jdk1.6.0_45
导入之后 就在这个目录下的 jdk 上 启动 hadoop
hdfs-site.xml
hdfs 文件系统文件配置
<property>
<name>dfs.name.dir</name>
<value>/hadoop/temp/dfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/hadoop/temp/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.datanode.max.xcievers</name>
<value>4096</value>
</property>
dfs.name.dir
存放namenode 的数据元文件
dfs.data.dir
存放HDFS 数据文件
dfs.replication
有几台分布式机器
dfs.datanode.max.xcievers
datanode所允许同时执行的发送和接受任务的数量,此项可以导致内存不足
mapred-site.xml
JobTracker 的配置
<property>
<name>mapred.job.tracker</name>
<value>hadoop.first:49001</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/hadoop/mapred</value>
</property>
mapred.job.tracker
JobTracker 服务的机器和端口 使用的是hadoop.first 主机 端口 49001
mapred.local.dir
存储 MapReduce 中间数据
下面 是配置 主机和 副机的两个配置文件
masters master机 192.168.1.117
slaves datanode机
192.168.1.117
192.168.1.118
# vi /etc/hosts
192.168.1.117 hadoop.first
192.168.1.118 hadoop.second
这里添加上 hadoop两个机器的 地址
hadoop 配置完成
# cd /tarfile/hadoop1.2.1/bin
进入 hadoop bin 目录
执行
# service iptables stop
# ./start-all.sh
没有修改 防火墙 所以每次 重启 完 centos 都要关闭一下
hadoop 启动了
# jps
jps 一下
192.168.1.117 主机
2882 NameNode
3302 TaskTracker
17536 Jps
2987 DataNode
3104 SecondaryNameNode
3186 JobTracker
192.168.1.118 副机
2836 DataNode
11900 Jps
2910 TaskTracker
服务启动了
192.167.1.117:50030 Master 界面
192.167.1.117:50070 NameNode 界面
hadoop dfsadmin -report 看下 有没有报错
一般也就是防火墙 没有关闭 副机 服务起不起来
Hbase 配置
hbase etc/profile 已经在 前面就配置了 现在就直接进入 conf 吧
hbase-env.sh
导入jdk路径
export JAVA_HOME=/tarfile/jdk1.6.0_45
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop.first:8250/hbase/data</value>
<description>The directory shared byRegionServers.
</description>
</property>
<property>
<name>hbase.master</name>
<value>hadoop.first:60000</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
<description>The mode the clusterwill be in. Possible values are
false: standalone and pseudo-distributedsetups with managed Zookeeper
true: fully-distributed with unmanagedZookeeper Quorum (see hbase-env.sh)
</description>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2222</value>
<description>Property fromZooKeeper's config zoo.cfg.
The port at which the clients willconnect.
</description>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop.first,hadoop.second</value>
<description>Comma separated listof servers in the ZooKeeper Quorum.
For example,"host1.mydomain.com,host2.mydomain.com,host3.mydomain.com".
By default this is set to localhost forlocal and pseudo-distributed modes
of operation. For a fully-distributedsetup, this should be set to a full
list of ZooKeeper quorum servers. IfHBASE_MANAGES_ZK is set in hbase-env.sh
this is the list of servers which we willstart/stop ZooKeeper on.
</description>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/hadoop/zookeeper</value>
<description>Property fromZooKeeper's config zoo.cfg.
The directory where the snapshot isstored.
</description>
</property>
hbase.rootdir
hbase 的数据存储地方 存在了192.168.1.117 上 /hbase/data 下面
hbase.master
Hmaster 的启动 端口 和机器 192.168.1.117:60000
hbase.cluster.distributed
这个为true 是 用hbase 自带的 zookeeper false 需要自己安装 zookeeper
hbase.zookeeper.property.clientPort
zookeeper 的 客户端 连接时的 端口
hbase.zookeeper.quorum
启动zookeeper 的机器 我配置的是 192.168.1.117 和 192.168.1.118
hbase.zookeeper.property.dataDir
ZooKeeper保存数据的目录
regionservers 配置此文件
hadoop.first
hadoop.second
hbase 配置完成 两台机器配置 需要一致
hbase 可能有点兼容问题
log 日志 工具 jar 包冲突 但是 不影响 运行
为了 能让 hadoop 和hbase 兼容
把hadoop下 hadoop-core-1.2.1.jar 放到 hbase 的lib 下 并修改 原来的 hadoop-core-1.1.2.jar 为 hadoop-core-1.1.2.jar.backup
其他问题还木有 遇到
然后进入 bin 目录
# ./start-hbase.sh
再看看进程
192.168.1.117 主机 hadoop.first
2882 NameNode
3302 TaskTracker
7911 HMaster
2987 DataNode
8065 HRegionServer
18641 Jps
3104 SecondaryNameNode
3186 JobTracker
7851 HQuorumPeer
192.168.1.118 副机 hadoop.second
4469 HRegionServer
2836 DataNode
4389 HQuorumPeer
11900 Jps
2910 TaskTracker
HQuorumPeer 就是zookeeper 的进程
注意事项
Hbase 的hbase.rootdir 路径 hdfs://hadoop.first:8250/hbase/data
Hadoop 的 fs.default.name 路径 hdfs://hadoop.first:8250/
这两个 配置项 路径可以不一样 但是 端口 必须一样 要不然 Hmaster 启动起来 过一会 就自动 结束了
为了同步 副机的文件 有个快捷方法
scp -r 路径/文件 192.168.1.118:/目标路径
由于自己搭建 所以 没有 cloudera manager 快 但是 cloudera manager 架起来 对一两个 机器 负担 还是 有点 大 管理类和监控类工具过多 导致 使用内存 量 很大
废话不多说了直接开始
我的是64位 所以纠结了一阵
Centos6.4 x86-64 安装就不说了
两台机器
192.168.1.117 hadoop.first
192.168.1.118 hadoop.second
需要无密码直接登陆 配置 这配置 网上有很多 但是我只配置出来 root的 无密码登陆
JDK 需要 1.6.0_45 64位
hadoop-1.2.1-bin.tar.gz 下载下来 http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-1.2.1/
{CSDN:CODE: # tar zxvf hadoop-1.2.1-bin.tar.gz }
hbase-0.95.2-hadoop1-bin.tar.gz http://mirror.esocc.com/apache/hbase/hbase-0.95.2/
{CSDN:CODE: # tar zxvf hbase-0.95.2-hadoop1-bin.tar.gz }
配置文件
# vi /etc/profile
#JDK
JAVA_HOME=/tarfile/jdk1.6.0_45
JRE_HOME=/tarfile/jdk1.6.0_45/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
#HADOOP
export HADOOP_DEV_HOME=/tarfile/hadoop-1.2.1
export PATH=$PATH:$HADOOP_DEV_HOME/bin
#HBASE
export HBASE_HOME=/tarfile/hbase-0.95.2-hadoop1
export PATH=$PATH:$HBASE_HOME/bin
zookeeper 用的是Hbase 自带的
下面是hadoop 配置
core-site.xml
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop/hdtemp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop.first:8250/</value>
</property>
hadoop tmp 目录 修改了 如果不改 重启centos 数据就没有了
namenode 端口号 8250 在hadoop.first 这台机器上
hadoop-env.sh
这个文件 需要
export JAVA_HOME=/tarfile/jdk1.6.0_45
导入之后 就在这个目录下的 jdk 上 启动 hadoop
hdfs-site.xml
hdfs 文件系统文件配置
<property>
<name>dfs.name.dir</name>
<value>/hadoop/temp/dfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/hadoop/temp/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.datanode.max.xcievers</name>
<value>4096</value>
</property>
dfs.name.dir
存放namenode 的数据元文件
dfs.data.dir
存放HDFS 数据文件
dfs.replication
有几台分布式机器
dfs.datanode.max.xcievers
datanode所允许同时执行的发送和接受任务的数量,此项可以导致内存不足
mapred-site.xml
JobTracker 的配置
<property>
<name>mapred.job.tracker</name>
<value>hadoop.first:49001</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/hadoop/mapred</value>
</property>
mapred.job.tracker
JobTracker 服务的机器和端口 使用的是hadoop.first 主机 端口 49001
mapred.local.dir
存储 MapReduce 中间数据
下面 是配置 主机和 副机的两个配置文件
masters master机 192.168.1.117
slaves datanode机
192.168.1.117
192.168.1.118
# vi /etc/hosts
192.168.1.117 hadoop.first
192.168.1.118 hadoop.second
这里添加上 hadoop两个机器的 地址
hadoop 配置完成
# cd /tarfile/hadoop1.2.1/bin
进入 hadoop bin 目录
执行
# service iptables stop
# ./start-all.sh
没有修改 防火墙 所以每次 重启 完 centos 都要关闭一下
hadoop 启动了
# jps
jps 一下
192.168.1.117 主机
2882 NameNode
3302 TaskTracker
17536 Jps
2987 DataNode
3104 SecondaryNameNode
3186 JobTracker
192.168.1.118 副机
2836 DataNode
11900 Jps
2910 TaskTracker
服务启动了
192.167.1.117:50030 Master 界面
192.167.1.117:50070 NameNode 界面
hadoop dfsadmin -report 看下 有没有报错
一般也就是防火墙 没有关闭 副机 服务起不起来
Hbase 配置
hbase etc/profile 已经在 前面就配置了 现在就直接进入 conf 吧
hbase-env.sh
导入jdk路径
export JAVA_HOME=/tarfile/jdk1.6.0_45
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop.first:8250/hbase/data</value>
<description>The directory shared byRegionServers.
</description>
</property>
<property>
<name>hbase.master</name>
<value>hadoop.first:60000</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
<description>The mode the clusterwill be in. Possible values are
false: standalone and pseudo-distributedsetups with managed Zookeeper
true: fully-distributed with unmanagedZookeeper Quorum (see hbase-env.sh)
</description>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2222</value>
<description>Property fromZooKeeper's config zoo.cfg.
The port at which the clients willconnect.
</description>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop.first,hadoop.second</value>
<description>Comma separated listof servers in the ZooKeeper Quorum.
For example,"host1.mydomain.com,host2.mydomain.com,host3.mydomain.com".
By default this is set to localhost forlocal and pseudo-distributed modes
of operation. For a fully-distributedsetup, this should be set to a full
list of ZooKeeper quorum servers. IfHBASE_MANAGES_ZK is set in hbase-env.sh
this is the list of servers which we willstart/stop ZooKeeper on.
</description>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/hadoop/zookeeper</value>
<description>Property fromZooKeeper's config zoo.cfg.
The directory where the snapshot isstored.
</description>
</property>
hbase.rootdir
hbase 的数据存储地方 存在了192.168.1.117 上 /hbase/data 下面
hbase.master
Hmaster 的启动 端口 和机器 192.168.1.117:60000
hbase.cluster.distributed
这个为true 是 用hbase 自带的 zookeeper false 需要自己安装 zookeeper
hbase.zookeeper.property.clientPort
zookeeper 的 客户端 连接时的 端口
hbase.zookeeper.quorum
启动zookeeper 的机器 我配置的是 192.168.1.117 和 192.168.1.118
hbase.zookeeper.property.dataDir
ZooKeeper保存数据的目录
regionservers 配置此文件
hadoop.first
hadoop.second
hbase 配置完成 两台机器配置 需要一致
hbase 可能有点兼容问题
log 日志 工具 jar 包冲突 但是 不影响 运行
为了 能让 hadoop 和hbase 兼容
把hadoop下 hadoop-core-1.2.1.jar 放到 hbase 的lib 下 并修改 原来的 hadoop-core-1.1.2.jar 为 hadoop-core-1.1.2.jar.backup
其他问题还木有 遇到
然后进入 bin 目录
# ./start-hbase.sh
再看看进程
192.168.1.117 主机 hadoop.first
2882 NameNode
3302 TaskTracker
7911 HMaster
2987 DataNode
8065 HRegionServer
18641 Jps
3104 SecondaryNameNode
3186 JobTracker
7851 HQuorumPeer
192.168.1.118 副机 hadoop.second
4469 HRegionServer
2836 DataNode
4389 HQuorumPeer
11900 Jps
2910 TaskTracker
HQuorumPeer 就是zookeeper 的进程
注意事项
Hbase 的hbase.rootdir 路径 hdfs://hadoop.first:8250/hbase/data
Hadoop 的 fs.default.name 路径 hdfs://hadoop.first:8250/
这两个 配置项 路径可以不一样 但是 端口 必须一样 要不然 Hmaster 启动起来 过一会 就自动 结束了
为了同步 副机的文件 有个快捷方法
scp -r 路径/文件 192.168.1.118:/目标路径