千家信息网

Linux 系统 Hadoop+Hbase安装配置实录

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,生产环境:3台机器:master(192.168.0.61),slave1(192.168.0.62),slave2(192.168.0.63)注意:hostname设置为master/slave1/
千家信息网最后更新 2026年11月03日Linux 系统 Hadoop+Hbase安装配置实录

生产环境:
3台机器:master(192.168.0.61),slave1(192.168.0.62),slave2(192.168.0.63)
注意:hostname设置为master/slave1/slave2
操作系统:rhel5.4 x86_64

master做为namenonde,将slave1和slave2做为datanode

1.在master:(在slave1和slave2上操作和以下相同)
vi /etc/hosts
192.168.0.61 master
192.168.0.62 slave1
192.168.0.63 slave2

2.用root操作

3.免密码登录
#ssh-keygen -t rsa #建立ssh目录,敲回车到底 ,这一步需要先在每台机器上执行。
在master上
#scp ~/.ssh/id_rsa.pub root@slave1:/root/.ssh/id_rsa.pub_m 将master上的密钥传到slave1的/home/hadoop下
在slave1上
#cat /root/.ssh/id_rsa.pub_m >> ~/.ssh/authorized_keys
#chmod 644 ~/.ssh/authorized_keys

反复操作第3步,完成master<-->slave1 master<-->slave2的免密码登录
这样主节点和从节点之间就可以不用密码直接ssh访问,另外,在启动hadoop时需要master ssh master,
因此,在master的~/.ssh下,也执行下cat id_rsa.pub >> authorized_keys即可。

4.安装JDK到/usr/local下命名为jdk6
然后:
编辑三台机器的/etc/profile,增加如下内容
export JAVA_HOME=/usr/local/jdk6
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export HADOOP_HOME=/hadoop/hadoop
export HBASE_HOME=/hadoop/hbase
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin

#vi /root/.bashrc
增加
export HADOOP_CONF_DIR=/hadoop/hadoop-config
export HBASE_CONF_DIR=/hadoop/hbase-config

5、防火墙
各机器加入iptables策略:
#iptables -I INPUT -s 192.168.0.0/255.255.255.0 -j ACCPET
#service iptables save

-----------------------------------------
hadoop配置:

1.下载安装
#cd /hadoop
#wget http://labs.renren.com/apache-mirror//hadoop/core/hadoop-0.20.2/hadoop-0.20.2.tar.gz
#tar -zxvf hadoop-0.20.2.tar.gz
#ln -s hadoop-0.20.2 hadoop
由于上述目录中hadoop的配置文件和hadoop的安装目录是放在一起的,这样一旦日后升级hadoop版本的时候所有的配置文件都会被覆盖,因 此将配置文件与安装目录分离,一

种比较好的方法就是建立一个存放配置文件的目录,/hadoop/hadoop-config/,然后将 /hadoop/hadoop/conf/目录中的core-site.xml,slaves,hadoop-env.sh,masters, hdfs-

site.xml,mapred-site.xml,这6个文件拷贝到 /hadoop/hadoop-config/目录中,并指定环境变量$HADOOP_CONF_DIR指向该目录。环境变量在/root/.bashrc 中设定。
#mkdir /hadoop/hadoop-config
#cd /hadoop/hadoop/conf/
#cp core-site.xml slaves hadoop-env.sh masters hdfs-site.xml mapred-site.xml /hadoop/hadoop-config/


2.修改6个文件
masters:
master

slaves:
slave1
slave2

#切忌不要创建:/hadoop/hadoop/tmp
hadoop-env.sh:
export JAVA_HOME=/usr/local/jdk6
export HADOOP_PID_DIR=/hadoop/hadoop/tmp

core-site.xml:





fs.default.name
hdfs://master:54310

#切忌不要创建:/hadoop/hadoop/name
#mkdir /hadoop/hadoop/data
hdfs-site.xml:





dfs.name.dir
/hadoop/hadoop/name/ #hadoop的name目录路径


dfs.data.dir
/hadoop/hadoop/data/ #hadoop的data目录路径


dfs.replication
3 #指定 HDFS 中每个 Block 被复制的次数,起数据冗余备份的作用。在典型的生产系统中,这个数常常设置为3

mapred-site.xml:





mapred.job.tracker
hdfs://master:54311/


3、格式化namenode
#cd /hadoop/hadoop/bin
#./hadoop namenode -format
#cd /hadoop
#scp -r ./* root@slave1:/hadoop/
#scp -r ./* root@slave2:/hadoop/
到slave1和slave2上,分别重做软链接
#cd /hadoop
#rm -rf hadoop
#ln -s hadoop-0.20.2 hadoop

4、启动所有hadoop守护进程
# ./start-all.sh
说明:
在bin/下面有很多启动脚本,可以根据自己的需要来启动。
* start-all.sh 启动所有的Hadoop守护。包括namenode, datanode, jobtracker, tasktrack
* stop-all.sh 停止所有的Hadoop
* start-mapred.sh 启动Map/Reduce守护。包括Jobtracker和Tasktrack
* stop-mapred.sh 停止Map/Reduce守护
* start-dfs.sh 启动Hadoop DFS守护.Namenode和Datanode
* stop-dfs.sh 停止DFS守护
[root@master bin]# jps
6813 NameNode
7278 Jps
7164 JobTracker
7047 SecondaryNameNode
出现4个这样的进程,且datanode没有error,同时访问ui正常才算成功。
ui:http://masterip:50070 --web UI for HDFS name node(s)
http://masterip:50030 --web UI for MapReduce job tracker(s)
http://slaveip:50060 --web UI for task tracker(s)

5、hdfs简单测试
#cd /hadoop/hadoop/bin
#./hadoop dfs -mkdir testdir
#./hadoop dfs -put /root/install.log testdir/install.log-dfs
将/root/install.log 存储到hdfs中的testdir中,重命名为install.log-dfs
#./hadoop dfs -ls
#./hadoop dfs -ls testdir

----------------------------------
1、hbase安装部署
#cd /hadoop
#wget http://apache.etoak.com//hbase/hbase-0.20.6/hbase-0.20.6.tar.gz
#tar -zxvf hbase-0.20.6.tar.gz
#ln -s hbase-0.20.6 hbase
#mkdir hbase-config
#cd /hadoop/hbase/conf/
#cp hbase-env.sh hbase-site.xml regionservers /hadoop/hbase-config/

2、配置文件修改
#mkdir /hadoop/hbase/tmp
#vim /hadoop/hbase-config/hbase-env.sh
增加
export JAVA_HOME=/usr/local/jdk6
export HBASE_MANAGES_ZK=true
export HBASE_PID_DIR=/hadoop/hbase/tmp

#vim hbase-site.xml




hbase.rootdir
hdfs://master:54310/hbase 注意主机名和端口号要与hadoop的dfs name的对应


hbase.cluster.distributed
true


hbase.zookeeper.quorum
master


zookeeper.session.timeout
60000


hbase.zookeeper.property.clientPort
2222

配置hbase服务器名称
#vi regionservers
slave1
slave2

3、复制hbase文件
在master上
#cd /hadoop
#scp -r hbase-0.20.6 hbase-0.20.6.tar.gz hbase-config root@slave1:/hadoop/
#scp -r hbase-0.20.6 hbase-0.20.6.tar.gz hbase-config root@slave2:/hadoop/
在slave1和slave2上,分别重做软链接
#cd /hadoop
#ln -s hbase-0.20.6 hbase

4、测试
在master上启动
#cd /hadoop/hbase/bin
#./hbase shell
HBase Shell; enter 'help' for list of supported commands.
Version: 0.20.6, r965666, Mon Jul 19 16:54:48 PDT 2010
hbase(main):001:0> create 'test','data'
0 row(s) in 1.1920 seconds
hbase(main):002:0> list
test
1 row(s) in 0.0200 seconds
hbase(main):003:0> quit


----------------------------------------------
总结:
在安装hadoop-0.21.0+hbase-0.20.6过程中,出现:org.apache.hadoop.hbase.masternotrunningexception异常。
使用hadoop-0.20.2+hbase-0.20.6问题解决。

目录 文件 配置 机器 密码 环境 系统 变量 节点 路径 进程 链接 测试 生产 登录 相同 成功 操作系统 不用 主机 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州淘业互联网络科技 上海卓越科技互联网 广州大一互联网络科技有限公司 互联网科技开发公司 互联网金融与金融科技 金融科技与互联网金融 猪兼强互联网科技 碳银互联网科技 美国互联网黑科技 互联网科技上市公司 新浪科技互联网 火传媒上海互联网科技 四个字互联网科技公司取名 互联网大会黑科技排名 知域互联网科技有限公司大骗子 想开互联网科技公司怎么样 神州科技互联网有限公司 全球科技与互联网公司市值变化 杭州科技互联网公司有哪些 山东亿川互联网科技有限责任公司 没上市的科技互联网公司 镁科技互联网资讯平台 中国航天科技大学国际工业互联网 未来五年的互联网科技 工业互联网等科技实现智能化赋能 互联网金融科技名词解释 互联网科技机房 万物互联网智能科技 互联网科技大佬云集 伍佰万互联网科技是干嘛的
0