Hadoop &HBase集群配置

时间:2022-02-10 08:26:37

服务器:

nodea -----> master

nodeb -----> slave

nodec -----> slave

新建一个hadoop的账户

sudo useradd -d /home/hadoop -m hadoop -s /bin/bash

sudo passwd hadoop

密码任意。

安装必要环境

jdk安装 sudo apt-get install sun-java6-jdk

安装完成后jdk位置为/usr/lib/jvm/java-6-sun

建立ssh免密码登录。

ssh-keygen -t rsa scp authorized_keys hadoop@nodeb:~/.ss

一直回车,会再家目录下建立.ssh文件,文件包含id_rsa 和 id_rsa.pub

将nodeb和nodec的id_rsa.pub 文件传到nodea上,注意要重命名

scp id_rsa.pub hadoop@nodea:~/.ssh/nodeb

scp id_rsa.pub hadoop@nodea:~/.ssh/nodec

然后再nodea上将server i,c,g的id_rsa.pub文件追加到authorized_keys中

hadoop@nodea:~/.ssh$ cat id_rsa.pub >> authorized_keys

hadoop@nodea:~/.ssh$ cat nodec >> authorized_keys

hadoop@nodea:~/.ssh$ cat nodeb >> authorized_keys

然后将authorized_keys文件分发到nodeb和nodea的.ssh目录下

scp authorized_keys hadoop@nodec:~/.ssh

scp authorized_keys hadoop@nodeb:~/.ssh

验证无密码登录

ssh localhost

ssh nodec

等等,验证所有的服务器是否ssh可以无密码登录。

安装&配置hadoop

下载hadoop

wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/stable/hadoop-1.0.4.tar.gz

解压后开始配置hadoop

修改conf/hadoop-env.sh文件

修改JAVA_HOME,修改成本机的java home

把ssh的端口改成本机的端口。

export HADOOP_SSH_OPTS=" "

修改pids的存放位置

export HADOOP_PID_DIR=/home/hadoop/hadoop-1.0.4/pids

修改conf/core-site.xml 添加下列属性:

<property>
        <name>fs.default.name</name>
        <value>hdfs://nodea:9000</value>
 </property>

修改conf/hdfs-site.xml 添加下列属性

<property>
        <name>dfs.name.dir</name>
        <value>/home/hadoop/data/namenode</value>
    </property>
    <property>
        <name>dfs.data.dir</name>
        <value>/home/hadoop/data/datanode</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.support.append</name>
        <value>true</value>
    </property>
    <property>
        <name>dfs.datanode.max.xcievers</name>
        <value>4096</value>
    </property>

修改conf/mapred-site.xml 文件添加下列属性:

<property>
        <name>mapred.job.tracker</name>
        <value>nodea:9001</value>
    </property>

修改conf/master文件:

将localhost替换为nodea

修改conf/slaves文件:

将localhost替换为

nodec

nodeb

最后将配置完成的hadoop同步到所有服务器上

可以用

scp -r hadoop-1.0.4 hadoop@nodeb:~

scp -r hadoop-1.0.4 hadoop@nodec:~

运行hadoop:

1、格式化namenode

bin/hadoop namenode -format

2、运行hadoop

bin/start-all.sh

配置HBase

下载Hbase

wget http://labs.mop.com/apache-mirror/hbase/stable/hbase-0.94.2.tar.gz

下载后解压配置HBase

首先将Hbase目录下lib里的 hadoop-core-1.0.3.jar删除,然后替换为下载的hadoop的jar文件

cp /home/hadoop/hadoop-1.0.4/hadoop-core-1.0.4.jar lib/

配置conf/hbase-env.sh文件:

export JAVA_HOME=/usr/lib/jvm/java-6-sun

export HBASE_SSH_OPTS=" "

export HBASE_PID_DIR=/home/hadoop/hbase-0.94.2/pids

export HBASE_MANAGES_ZK=true

然后修改hbase-site.xml文件

<property>
        <name>hbase.rootdir</name> 
        <value>hdfs://nodea:9000/hbase</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>nodea</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/home/hadoop/hbase-0.94.2/zookeeper</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <property>
        <name>hbase.master</name>
        <value>nodea:6000</value>
    </property>
    <property>
        <name>dfs.support.append</name>
        <value>true</value>
    </property>

修改regionservers文件

将localhost替换为

nodeb

nodec

然后将文件同步到nodec和nodeb上

scp -r hbase-0.94.2/ hadoop@nodeb:~

scp -r hbase-0.94.2/ hadoop@nodec:~

运行hbase

再运行hbase之前最好先检查hadoop是否是安全模式,

bin/hadoop dfsadmin -safemode get

如果结果显示是:

Safe mode is ON

则等待hadoop退出安全模式再去 启动hbase

也可以通过命令、

bin/hadoop dfsadmin -safemode leave

推出安全模式,但是有一定的风险。

等hadoop退出安全模式后运行hbase

bin/start-hbase.sh