Hadoop安装方案
Hadoop安装方案
一、概述
本文档适用于hadoop安装,采用1主+1从的方案,两台设备,可自由扩展多从节点。包含hadoop+habase+zookeeper,可作为通用hadoop框架安装的参考。
二、主机规划
主节点(Namenode):10.11.20.108
hadoop+habase
从节点(Datanode): 10.11.20.107
hadoop+habase+zookeeper
ps:从节点的hadoop+habase只需复制主节点配置好的目录
启动顺序:从节点zookeeper > 主节点hadoop > 主节点habase
三、环境准备
在两台主机同时配置:
1)修改IP和域名映射关系
vi /etc/hosts
10.11.20.107 njrd107
10.11.20.108 njrd108
2)创建用户
useradd -m -d /home/aihadoop -s /bin/csh -g aigrp aihadoop
passwd aihadoop
3)主从节点信任关系
1.在各节点aihadoop下执行以下操作
cd .ssh
ssh-keygen -t rsa
cat id_rsa.pub >> authorized_keys
2.将各节点的authorized_keys文件合成一个文件,然后覆盖到各节点.ssh下
3.验证:从10.11.20.108主机ssh aihadoop@10.11.20.107
从10.11.20.107主机ssh aihadoop@10.11.20.108
若都不需要输入密码则配置成功
四、应用搭建
1)准备安装文件
复制aihadoop.tar.gz到主节点安装目录
2)配置主节点hadoop
修改/home/aihadop/hadoop/conf目录下配置文件:
修改core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://10.11.20.107:59000</value> --------- namenode RPC交互端口
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/aihadoop/hadoop/temp</value> --------该目录需要手动创建
</property>
</configuration>
创建临时目录
mkdir -p /home/aihadoop/hadoop/temp
修改hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value> ---------------------有几个从节点就写几
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/home/aihadoop/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/aihadoop/hadoop/hdfs/data</value>
</property>
<property>
<name>dfs.datanode.max.xcievers</name>
<value>4096</value>
</property>
<property>
<name>dfs.support.append</name>
<value>true</value>
</property>
<property>
<name>dfs.http.address</name>
<value>0.0.0.0:56870</value> -----------NameNode web管理端口,默认50070
</property>
<property>
<name>dfs.datanode.address</name>
<value>0.0.0.0:56810</value> ------------datanode 控制端口,默认50010
</property>
<property>
<name>dfs.datanode.ipc.address</name>
<value>0.0.0.0:56820</value> -------datanode的RPC服务器地址和端口,默认50020
</property>
<property>
<name>dfs.datanode.http.address</name>
<value>0.0.0.0:56875</value>------datanode的HTTP服务器和端口,默认50075
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>0.0.0.0:56890</value>-----secondary NameNode web管理端口,默认50090
</property>
<property>
<name>dfs.support.append</name>
<value>true</value>
</property>
</configuration>
修改masters,新增主节点信息
10.11.20.107
修改slaves,新增从节点信息
10.11.20.108
修改mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>10.11.20.107:49201</value> ------------ job tracker交互端口
</property>
<property>
<name>mapred.local.dir</name>
<value>/home/aihadoop/hadoop/var</value>
</property>
<property>
<name>mapred.job.tracker.http.address</name>
<value>0.0.0.0:56830</value>--------- job tracker的web管理端口
</property>
<property>
<name>mapred.task.tracker.http.address</name>
<value>0.0.0.0:56860</value>------------- task tracker的HTTP端口
</property>
<property>
<name>mapred.tasktracker.map.tasks.maximum</name>
<value>10</value>
</property>
<property>
<name>mapred.tasktracker.reduce.tasks.maximum</name>
<value>10</value>
</property>
3)配置从节点hadoop
复制主节点信息至从节点:
scp -r hadoop aihadoop@10.11.20.108:.
4)配置从节点zookeeper
复制安装文件到从节点:
scp -r zookeeper aihadoop@10.11.20.108:.
修改/home/aihadop/zookeeper/conf下配置信息
修改zoo.cfg
dataDir=/home/amstest/zookeeper/zookeeper-3.4.5/data
clientPort=12281 ------------客户端连接的端口,该端口与hbase /conf/ hbase-site.xml中的hbase.zookeeper.property.clientPort 保持一致
server.1=10.11.20.108:12988:13988
---- server.1中的1需要在zookeeper/data/myid 文件中写入1,没有该文件和目录,需要新建
----12988是ZooKeeper节点使用的端口,需要与hbase /conf/ hbase-site.xml中一致
----13988是ZooKeeper用来选择Leader的端口,需要与hbase /conf/ hbase-site.xml中一致
5)配置主节点habase
修改/home/aihadop/hbase/conf目录下配置信息
修改hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://10.11.20.107:59000/hbase</value> ----该端口需要与hadoop中core-site.xml的fs.default.name保持一致,该目录用于持久化HBase,是region server的共享目录,即HBase数据库数据的目录
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/home/aihadoop/hbase/data</value> ---根据实际环境修改
</property>
<property>
<name>hbase.master</name>
<value>10.11.20.107:60100</value> ---与下面的hbase.master.port一致
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>10.11.20.108</value>---根据实际环境修改,填从节点信息,多个用“,”隔开
</property>
<property>
<name>hbase.master.port</name>
<value>60100</value> ------------------ HBase的Master端口,默认是60000
</property>
<property>
<name>hbase.master.info.port</name>
<value>60110</value>---------- HBase Master web界面端口,默认是60010
</property>
<property>
<name>hbase.regionserver.port</name>
<value>60120</value>---HBase RegionServer端口,默认是60020。
</property>
<property>
<name>hbase.regionserver.info.port</name>
<value>60130</value>--- HBase RegionServer web界面端口,设置为-1,意味着你不想运行RegionServer界面,默认是60030。
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>12281</value> ----------需要与zookeeper的配置对应
</property>
<property>
<name>hbase.zookeeper.peerport</name>
<value>12988</value>----------需要与zookeeper的配置对应
</property>
<property>
<name>hbase.zookeeper.leaderport</name>
<value>13988</value> ----------需要与zookeeper的配置对应
</property>
<property>
<name>hbase.zookeeper.property.datadir</name>
<value>/home/aihadoop/zookeeper</value> ---根据实际环境修改
</property>
<property>
<name>zookeeper.session.timeout</name>
<value>60000</value>
</property>
<property>
<name>hbase.regionserver.handler.count</name>
<value>100</value>
</property>
<property>
<name>hbase.hregion.max.filesize</name>
<value>536870912</value>
</property>
<property>
<name>hbase.hregion.memstore.flush.size</name>
<value>246579200</value>
</property>
</configuration>
修改hbase-env.sh
export HBASE_MANAGES_ZK=false-----------------------不用hbase自带的ZK管理
配置regionservers文件,新增节点
10.11.20.108 ---------------------------这里写从节点ip
5)配置从节点habase
复制主节点信息至从节点:
scp -r hbase aihadoop@10.11.20.108:.
6)端口检查
下面这段脚本可以简单检查端口情况,只需要把配置的14个端口列进去即可
#!/usr/bin/ksh
list='
49000
56770
56710
56720
56775
56790
49001
56730
56760
60000
60010
12181
12888
13888
'
for i in $list
do
netstat -an|grep ${i}
done
五、启动
初次启动需要格式化hadoop磁盘空间,以后启动不需要
cd /home/aihadoop/hadoop/bin;./hadoop namenode –format
按顺序执行:
从节点cd /home/aihadoop/zookeeper/bin;./zkServer.sh start
主节点cd /home/aihadoop/hadoop/bin;./ start-all.sh
登录http://10.11.20.107:56870/,可查看状态
主节点cd /home/aihadoop/ hbase/bin;./ start-hbase.sh
登录http://10.11.20.107:60110/,可查看状态
验证:
cd hbase/bin
./hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.94.12, r1524863, Fri Sep 20 00:25:45 UTC 2013
hbase(main):011:0> create 't1', 'f1'
0 row(s) in 1.0830 seconds
hbase(main):012:0> list
TABLE
t1
1 row(s) in 0.0370 seconds