CentOS 6.5 配置hadoop 2.6.0伪分布式 http://www.centoscn.com/hadoop/2015/0118/4525.html

 

 

本地无密码连接centos:

禁用IP6

修改hosts

全部关闭防火墙:

重启一下

1.创建用户组和用户
使用su命令切换用户为root

2.安装ssh

3.配置ssh无密码登录
切换至hadoop用户, 生成密钥

测试是否可以登录

4.安装hadoop

将下载的hadoop解压并移动到期望的安装目录,修改其访问权限
传送到centos: scp hadoop-2.6.0.tar.gz root@192.168.0.50:/home/hadoop

接下来创建需要的文件夹

配置hadoop 的环境变量(所有的环境变量都是必须的)

马上生效:

安装java:
传送到centos:  scp jdk-7u67-linux-x64.rpm root@192.168.0.50:/home/hadoop

设置hadoop-env.sh中的java环境变量

5.配置伪分布式
hadoop的配置文件主要有 core-site.xml 、 hdfs-site.xml 、 yarn-site.xml 三个文件。

到目前为止所有的配置都已经完成。

6.运行
首先格式化文件系统

 

输出:
……
6/11/21 13:19:34 INFO namenode.NNConf: Maximum size of an xattr: 16384
16/11/21 13:19:35 INFO namenode.FSImage: Allocated new BlockPoolId: BP-872202057-127.0.0.1-1479705574923
16/11/21 13:19:35 INFO common.Storage: Storage directory /usr/opt/hadoop/dfs/name has been successfully formatted.
16/11/21 13:19:35 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
16/11/21 13:19:35 INFO util.ExitUtil: Exiting with status 0
16/11/21 13:19:35 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at localhost.localdomain/127.0.0.1
************************************************************/

输出:
……

Are you sure you want to continue connecting (yes/no)? y
Please type ‘yes’ or ‘no’: yes
……

输出:
……

提示如下则表明成功了。
Starting namenodes on [localhost]
localhost: starting namenode, logging to /usr/opt/hadoop-2.6.0/logs/hadoop-hadoop-namenode-.out
localhost: starting datanode, logging to /usr/opt/hadoop-2.6.0/logs/hadoop-hadoop-datanode-.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to /usr/opt/hadoop-2.6.0/logs/hadoop-hadoop-secondarynamenode-.out

访问: http://192.168.0.50:50070 , 就可以看见hadoop的网页了。

 

安装hbase 1.0

Ubuntu14.04搭建Hbase1.1.1伪分布式环境 http://www.jianshu.com/p/27c385800da8

传到服务器: scp hbase-1.1.0-bin.tar.gz root@192.168.0.50:/home/hadoop

因为我们采用的是伪分布模式,这里需要将HBase的数据存储到之前的Hadoop的HDFS上,hbase.rootdir的值便是HDFS上HBase数据存储的位置,值中的主机名和端口号要和之前Hadoop的 core-site.xml中的fs.default.name的值相同
.

马上生效:source /etc/profile

输出:
localhost: starting zookeeper, logging to /usr/opt/hbase/bin/../logs/hbase-hadoop-zookeeper-localhost.localdomain.out
starting master, logging to /usr/opt/hbase/logs/hbase-hadoop-master-localhost.localdomain.out
starting regionserver, logging to /usr/opt/hbase/logs/hbase-hadoop-1-regionserver-localhost.localdomain.out

 

安装zookeeper   http://blog.csdn.net/dream_an/article/details/52089883 使用自身的zookeeper, 所以不需要安装独立的.

传到服务器: scp zookeeper-3.4.8.tar.gz root@192.168.0.50:/home/hadoop

 

命令:

验证Hbase:
(1)执行jps,发现新增加了3个java进程,分别是HMaster、HRegionServer、HQuorumPeer,证明安装成功。 如果没有启动成功HRegionServer 或者 HQuorumPeer
可以使用: sh /usr/opt/hbase/bin/local-regionservers.sh stop 1 2 3 4 5
(2)使用浏览器访问http://192.168.0.50:60010

WebUI:

查看webUI. Master: http://192.168.0.50:16010/master-status
Hbase Region Server:  http://192.168.0.50:16301/rs-status
http://192.168.0.50:50030 : 这个里面,我们可以看到Map/Reduce的管理情况
http://192.168.0.50:50070 : 这里可以看到HDFS的管理情况。

 

为何java能访问分布式, 却不能访问伪分布式的hbase? 找不到原因, 放弃继续研究!!

 

进入hbase环境

问题:
A: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
解决: http://blog.csdn.net/lalaguozhe/article/details/10580727
vim /usr/opt/hadoop/etc/hadoop/core-site.xml
<property>
<name>hadoop.native.lib</name>
<value>false</value>
vim /usr/opt/hadoop/etc/hadoop/hadoop-env.sh
export HADOOP_PREFIX=/usr/opt/hadoop
export HADOOP_OPTS=”-Djava.library.path=/usr/opt/hadoop/lib:/usr/opt/hadoop/lib/native”

cd /usr/opt/hadoop/lib/native
file libhadoop.so.1.0.0
输出: libhadoop.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped 已经是64位的编译文件
奇怪,还是不能解决

B: Master is initializing

D:  zookeeper.out日志显示2181端口被占用, 应该是hbase已经运行了自身的zookeeper, 就不能在运行一个独立的zookeeper了. 二选一