本人采用的是virtualbox虚拟机+centos7系统(本机win8),以及Hadoop2.5.1+Hbase1.0.1版本。(适用于hadoop2.3版本之后,hbase0.98之后)
1.操作都是在root用户下进行(偷懒输入权限指令),并且连入网络。在安装之间需要安装virtualbox的增强功能,创建共享文件夹。设备——安装增强功能。桌面会有个光盘程序,点击运行。
如果程序里面都运行正常,直接设备——共享文件夹(注意:共享文件夹要求英文、不带空格)(我命名为share);
如果运行程序里有失败项,进入终端:yum install gcc
yum update kernel
yum install make
yum install kernel-header
yum install kernel-devel
安装完插件后重启系统(shutdown -r now),运行增强功能光盘程序,都成功后,建共享文件夹。
终端:mkdir /mnt/share (在/mnt文件夹下建share文件夹)
mount -t vboxsf share /mnt/share (每次开机后若用到共享文件夹都需要输)
cd / mnt/share (打开共享文件夹,我在共享文件夹中放了jdk、hadoop、hbase压缩文件tar.gz)
2.安装jdk
首先需要卸载系统自带的openjava,查看系统的Java: rpm -qa|grep java
卸载: yum -y remove java javaxxxxx(系统自带的Java版本)
安装jdk,将jdk.tar.gz文件复制到/usr/java中,终端进入/mnt/share ,cp jdk.tar.gz /usr/ava,进入/usr/java解压:tar xzvf jdk.targz
配置环境变量:vi /etc/profile 输入i编辑
在尾部添加:export JAVA_HOME=/usr/java/jdkxxxx
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
保存并退出: :wq
使修改生效: source /etc/profile
查看Java版本:java -version
3.hadoop伪分布安装
①ssh无密码登陆
终端:ssh-keygen -t rsa (获得rsa公钥私钥,id_rsa和id_rsa.pub)
cd .ssh
cp id_rsa.pub authorized_keys (将公钥复制给authorized_keys) <分布式则要将所有节点id_rsa.pub相互复制>
② /mnt/share cp hadoop2.x /usr.hadoop
解压tar xzvf hadoop 2.x
③修改core-site.xml、hadoop-env.sh、hdfs-site.xml、mapred-site.xml 、yarn-site.xml(hadoop2.x版本的配置文件在/hadoop2.x/etc/hadoop下)
core-site.xml:
hadoop-env.sh: export JAVA_HOME=/usr/java/jdkxxx (jdk路径)
hdfs-site.xml: 先创建好数据节点和名称节点的存放路径
mapred-site.xml: (注意:这个文件是将/hadoop2.x/etc/hadoop下的mapred-site.xml.template复制并重命名 )
yarn-site.xml:
④namenode格式化(一定要完成)
终端:cd /usr/hadoop/hadoop-2.5.1/bin
./hdfs namenode -format (输入./hadoop namenode -format也行)
⑤运行hadoop
终端: cd /usr/hadoop/hadoop-2.5.1/sbin (2.x版本后启动/停止在sbin目录下)
./start-hdfs.sh
./start-yarn.sh
(也可以只输入./start-all.sh)
输入jps查看启动项,当启动了NameNode、DataNode、SecondaryNameNode、ResourceManager、NodeManager即ok。
可进入Firefox中,输入端口号: localhost:50070 进入hadoop可视化页面。
4.hbase1.0.1伪分布式安装
① /mnt/share cp hbase1.0.1 /usr.hbase
解压tar xzvf hbase1.0.1
②修改hbase配置文件hbase-env.sh、hbase-site.xml
hbase-env.sh: export JAVA_HOME=/usr/java/jdkxxxx (java路径)
export HBASE_MANAGES_ZK=true (都得去掉前面#)
hbase-site.xml:
③运行hbase
运行前需先启动hadoop,再进入hbase的bin目录下输入指令 ./start-hbase.sh
输入jps查看启动项,如有HMaster、HRegionServer、HQuormPeer,则说明hbase启动成功。
输入./hbase shell (进入shell指令,可通过shell指令建表)
如果出现 WARN [main] util.NativeCodeLoder: Unable to load native-hadoop library for your platform...using builtin-java classes where applicable,说明hadoop是32位, 但本人file /hadoop-2.5.1/native so,发现是64位,这个问题尚未解决。但不影响建表。