搭建Hbase集群(1) Hadoop的安装

本文详细介绍了如何搭建Hadoop集群,包括设置主机系统、配置最大打开文件数、关闭iptables、创建hadoop用户、实现ssh无密码访问以及安装和配置Hadoop,为后续HBase集群的搭建打下基础。
摘要由CSDN通过智能技术生成

最近花几天测试了HBase的搭建和数据迁移。这里把搭建情况写一下。


HBase基于Hadoop的HDFS,需要先搭建出Hadoop的管理节点namenode(master)和数据节点datanode(slave)。测试环境中,使用一台namenode和三台datanode。


首先需要对主机系统进行设置:

将每个节点的ip地址、主机名加入/etc/hosts文件中,并且注意删除127.0.0.1上对应的主机名。这是因为hbase需要在配置文件中通过主机名进行访问。如果直接使用ip地址,将会产生各种问题。

多台服务器集群最好使用NTP服务进行时间统一,防止产生数据不一致。

设置系统最大打开文件数。hadoop同时访问文件数量会很大,需要更改linux这些参数。

#vi /etc/sysctl.conf

fs.file-max = 262144
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.rmem_default = 1048576
net.core.wmem_default = 524288
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.core.netdev_max_backlog = 2500
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30

立即生效

# sysctl –p

#vi /etc/security/limits.conf

*               soft    nofile          65535
*               hard   nofile          65535
hadoop          soft    nofile          32768
hadoop          hard    nofile          65535
hadoop          soft    nproc          30000
hadoop          hard    nproc          32000

将pam_limits.so加入启动文件中

#vi /etc/pam.d/login

32:session required /lib/security/pam_limits.so

64:session required /lib64/security/pam_limits.so


关闭iptables

Hadoop服务可能被iptables所拦截。测试环境中可直接关闭iptables,实际环境中根据需要打开相应端口。

#service iptables stop

或在/etc/rc.d/rc.local文件末尾添加如下内容,使得开机时关闭防火墙:

service iptables stop



创建系统用户hadoop

#useradd hadoop

#passwd hadoop

hadoop和hbase的操作将默认使用这个用户进行。而且hadoop、hbase的所在文件夹归属也要改为hadoop用户。


ssh无密码访问

使用ssh的rsa密钥方式,让master主机可以直接访问slave节点的相应目录。

使用hadoop用户,在/home/hadoop下执行

$ssh-keygen –t rsa

$cd .ssh

$cat id_rsa.pub >>authorized_keys

 交换公钥

在master上hadoop用户

$cd /home/hadoop

$ssh-copy-id -i $HOME/.ssh/id_rsa.pubhadoop@node2


安装hadoop

创建目录

#mkdir /hadoop

将目录归属给予hadoop用户

#chown -R hadoop:hadoop /hadoop

su – hadoop

创建HDFS存储目录

$mkdir -p /hadoop/tmp

解压

$cp hadoop-1.0.4-bin.tar.gz /hadoop/

$cd /hadoop

$tar -zxvf hadoop-1.0.4-bin.tar.gz

更改hadoop环境配置文件

$cd /hadoop/hadoop-1.0.4/conf

$vi hadoop-env.sh

export JAVA_HOME=/opt/jdk1.6.0_32


更改配置文件

在/hadoop/conf目录下

$vi core-site.xml

<configuration> 
  <property> 
    <name>fs.default.name</name> 
       <value>hdfs://node1:9000</value> 
  </property> 
  <property> 
    <name>hadoop.tmp.dir</name> 
       <value>/hadoop/tmp</value> 
  </property> 
</configuration>

第一项指定文件系统为node1节点9000端口上的HDFS,第二项指定hadoop所有数据的保存路径(该路径要存在)该项默为/tmp/hadoop-{username},系统重启可能会导致数据丢失。


$vi mapred-site.xml

<configuration> 
  <property> 
    <name>mapred.job.tracker</name> 
    <value>node1:9001</value> 
  </property> 
  <property> 
    <name>mapred.map.java.opts</name> 
    <value>-Xmx512m</value> 
  </property> 
  <property> 
    <name>mapred.child.java.opts</name> 
    <value>-Xmx512m</value> 
  </property>  
</configuration> 

第一项指定JobTracker的服务端口为node1的9001端口,第二、三项设定jvm堆空间,防止运行Map-Reduce作业时出现内存不足,这两项要根据实际的需要和系统空闲的内存容量设定。


$vi hdfs-site.xml

<configuration> 
  <property> 
    <name>dfs.replication</name> 
    <value>3</value> 
  </property> 
  <property> 
    <name>dfs.support.append</name> 
    <value>true</value> 
  </property> 
  <property> 
    <name>dfs.permissions</name> 
    <value>false</value> 
  </property> 
  <property> 
    <name>dfs.datanode.max.xcievers</name> 
    <value>4096</value> 
  </property> 
</configuration>  

第一项设定了文件系统备份的个数,通常为3,第二项允许对文件的append操作,是为HBase设置的,第三项关闭权限检查,方便以后的远程的hadoop-eclipse插件访问hdfs,第四项设置DataNode同时可供访问的文件数上限,由于HBase需要同时操作大量的文件,该项至少要设置为4096。


指定namenode

$vi masters

此文件指定HDFS的SecondaryNameNode所在的节点,例如:

node1


指定datanode

$vi slaves

此文件指定HDFS的DataNode所在的节点,例如包含三行:

node2

node3

node4


Hadoop配置完成后,将配置好的Hadoop安装目录下所有文件分发到集群中所有节点的/hadoop/hadoop-1.0.4路径下。各个节点文件夹内容一致,只有slaves文件可以不在slave节点上标明。

$cd /hadoop/hadoop-1.0.4/conf/

$scp core-site.xml hadoop-env.shhdfs-site.xml mapred-site.xml masters slaveshadoop@node2:/hadoop/hadoop-1.0.4/conf/


启动hadoop

在master节点上(node1)格式化HDFS

$ /hadoop/hadoop-1.0.4/bin/hadoop namenode –format

启动hadoop

$ /hadoop/hadoop-1.0.4/bin/start-all.sh

 

管理

可使用浏览器访问以下网址进行hadoop的管理

http://192.168.11.26:50070

http://192.168.11.26:50030











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值