实验2++Hadoop和HBase的安装部署和配置实验Word下载.docx
- 文档编号:20746704
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:13
- 大小:99.73KB
实验2++Hadoop和HBase的安装部署和配置实验Word下载.docx
《实验2++Hadoop和HBase的安装部署和配置实验Word下载.docx》由会员分享,可在线阅读,更多相关《实验2++Hadoop和HBase的安装部署和配置实验Word下载.docx(13页珍藏版)》请在冰豆网上搜索。
#setjavaenvironment
exportJAVA_HOME=/usr/program/jdk1.6.0_13/
exportJRE_HOME=/usr/program/jdk1.6.0_13/jre
exportCLASSPATH=.:
$JAVA_HOME/lib:
$JAVA_HOME/jre/lib
exportPATH=$JAVA_HOME/bin:
$JAVA_HOME/jre/bin:
$PATH
保存并退出,执行以下命令使配置生效
source/etc/profile
2.配置所有节点之间SSH无密码验证
以节点A和B两个节点为例,节点A要实现无密码公钥认证连接到节点B上时,节点A是客户端,节点B是服务端,需要在客户端A上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到服务端B上。
当客户端A通过ssh连接服务端B时,服务端B就会生成一个随机数并用客户端A的公钥对随机数进行加密,并发送给客户端A。
客户端A收到加密数之后再用私钥进行解密,并将解密数回传给B,B确认解密数无误之后就允许A进行连接了。
这就是一个公钥认证过程,其间不需要用户手工输入密码。
重要过程是将客户端A公钥复制到B上。
因此如果要实现所有节点之间无密码公钥认证,则需要将所有节点的公钥都复制到所有节点上。
(1)所有机器上生成密码对
(a)所有节点用hadoop用户登陆,并执行以下命令,生成rsa密钥对:
ssh-keygen-trsa
这将在/home/hadoop/.ssh/目录下生成一个私钥id_rsa和一个公钥id_rsa.pub。
(b)将所有datanode节点的公钥id_rsa.pub传送到namenode上:
cpid_rsa.pubdatanode01.id_rsa.pub
scpdatanode01.id_rsa.pubnamenode节点ip地址:
/home/hadoop/.ssh
......
cpid_rsa.pubdatanoden.id_rsa.pub
scpdatanoden.id_rsa.pubnamenode节点ip地址:
(c)namenode节点上综合所有公钥(包括自身)并传送到所有节点上
cpid_rsa.pubauthorized_keys这是namenode自己的公钥
catdatanode01.id_rsa.pub>
>
authorized_keys
catdatanode0n.id_rsa.pub>
然后使用SSH协议将所有公钥信息authorized_keys复制到所有DataNode的.ssh目录下
scpauthorized_keysdata节点ip地址:
这样配置过后,所有节点之间可以相互SSH无密码登陆,可以通过命令
“ssh节点ip地址”来验证。
配置完毕,在namenode上执行“ssh本机,所有数据节点”命令,因为ssh执行一次之后将不会再询问。
3.Hadoop集群配置
以下操作均在主节点(namenode)上完成:
使用root用户创建/usr/local/hadoop目录,并将hadoop目录的拥有者修改为hadoop用户。
使用hadoop用户登陆,下载hadoop-0.20.1.tar.gz,将其解压到/usr/local/hadoop目录下,目录结构为/usr/local/hadoop/hadoop-0.20.1。
(1)使用root用户登陆,修改主节点的/etc/profile文件,将所有节点的节点名和对应IP加入其中。
master
slave1
slave2
(2)使用hadoop用户登陆,修改Hadoop的配置文件
(a)配置hadoop-env.sh
exportJAVA_HOME=/usr/jdk1.6.0_13/
(b)配置core-site.xml
<
configuration>
property>
<
name>
master.node<
/name>
value>
namenode_主机名<
/value>
description>
master<
/description>
/property>
hadoop.tmp.dir<
/usr/local/hadoop/tmp<
localdir<
fs.default.name<
hdfs:
//${master.node}:
9000<
/configuration>
(c)配置hdfs-site.xml
dfs.replication<
2<
(replication是数据副本数量,若不配置该选项,则默认为3。
当节点数量少于3时必须配置为比3小的数,否则会报错,这里有2个节点,配置为2)
dfs.name.dir<
${hadoop.tmp.dir}/hdfs/name<
dfs.data.dir<
${hadoop.tmp.dir}/hdfs/data<
(d)配置mapred-site.xml
mapred.job.tracker<
${master.node}:
9001<
mapred.local.dir<
${hadoop.tmp.dir}/mapred/local<
mapred.system.dir<
/tmp/mapred/system<
hdfsdir<
(e)配置masters文件,加入namenode的主机名
(f)配置slaves文件,加入所有datanode的主机名
slave1
slave2
(3)复制配置好的各文件到所有数据节点上。
root用户下:
scp/etc/hosts数据节点ip地址:
/etc/hosts
scp/etc/profile数据节点ip地址:
/etc/profile
scp-r/usr/jdk-6u13-linux-i586.bin数据节点ip地址:
/usr/
hadoop用户下:
在所有数据节点上创建文件夹/usr/local/hadoop,将namenode节点上配置好的hadoop所在文件夹/usr/local/hadoop/hadoop-0.20.1复制到所有datanode节点上的/usr/local/hadoop目录下。
scp-r/usr/local/hadoop/hadoop-0.20.1数据节点ip地址:
/usr/local/hadoop
4Hadoop集群启动
Namenode节点上执行:
cd/usr/local/hadoop/hadoop-0.20.1
(1)格式化namenode
bin/hadoopnamenode–format
(2)启动hadoop所有进程,
bin/start-all.sh(或者先后执行start-dfs.sh和start-mapreduce.sh)。
可以通过以下启动日志看出,首先启动namenode,然后启动datanode1,datanode2,然后启动secondarynamenode。
再启动jobtracker,然后启动tasktracker1,最后启动tasktracker2。
namenode上用java自带的小工具jps查看进程
#jps
8383JobTracker
8733Jps
8312SecondaryNameNode
8174NameNode
每个datanode上查看进程
7636DataNode
7962Jps
7749TaskTracker
在namenode上查看集群状态
bin/hadoopdfsadmin–report
ConfiguredCapacity:
16030539776(14.93GB)
PresentCapacity:
7813902336(7.28GB)
DFSRemaining:
7748620288(7.22GB)
DFSUsed:
65282048(62.26MB)
DFSUsed%:
0.84%
-------------------------------------------------
Datanodesavailable:
2(2total,0dead)
Name:
**********
DecommissionStatus:
Normal
8015269888(7.46GB)
32641024(31.13MB)
NonDFSUsed:
4364853248(4.07GB)
3617775616(3.37GB)
0.41%
DFSRemaining%:
45.14%
Lastcontact:
ThuMay1306:
17:
57CST2010
****************
3851784192(3.59GB)
4130844672(3.85GB)
51.54%
59CST2010
通过web方式查看Hadoop中HDFS节点的状态:
http:
//namenodeip地址:
50070
通过Web方式查看MapReduce工作情况:
http:
50030
5.HBase配置和启动
Hbase的安装是基于hdfs的,Hbase的配置主要涉及conf目录下的三个文件:
hbase-env.sh,hbase-site.xml,regionserver。
Hbase-env.sh配置如下:
#必须配置的项目如下:
exportJAVA_HOME=/root/jdk1.6.0_25
exportHBASE_OPTS="
-ea-XX:
+UseConcMarkSweepGC-XX:
+CMSIncrementalMode"
exportHBASE_MANAGES_ZK=true
exportHBASE_CLASSPATH=/usr/local/hadoop-0.20.1-dev/conf
调优配置项如下:
#ExtraJavaCLASSPATHelements.Optional.
#exportHBASE_CLASSPATH=
#Themaximumamountofheaptouse,inMB.Defaultis1000.
#exportHBASE_HEAPSIZE=1000
#ExtraJavaruntimeoptions.
#Belowarewhatwesetbydefault.MayonlyworkwithSUNJVM.
#Formoreonwhyaswellasotherpossiblesettings,
#seehttp:
//wiki.apache.org/hadoop/PerformanceTuning
#Uncommentbelowtoenablejavagarbagecollectionlogging.
#exportHBASE_OPTS="
$HBASE_OPTS-verbose:
gc-XX:
+PrintGCDetails-XX:
+PrintGCDateStamps-Xloggc:
$HBASE_HOME/logs/gc-hbase.log"
#UncommentandadjusttoenableJMXexporting
#Seejmxremote.passwordandjmxremote.accessin$JRE_HOME/lib/managementtoconfigureremotepasswordaccess.
#Moredetailsat:
#
#exportHBASE_JMX_BASE="
-Dcom.sun.management.jmxremote.ssl=false-Dcom.sun.management.jmxremote.authenticate=false"
#exportHBASE_MASTER_OPTS="
$HBASE_JMX_BASE-Dcom.sun.management.jmxremote.port=10101-javaagent:
lib/HelloWorldAgent.jar"
#exportHBASE_REGIONSERVER_OPTS="
$HBASE_JMX_BASE-Dcom.sun.management.jmxremote.port=10102"
#exportHBASE_THRIFT_OPTS="
$HBASE_JMX_BASE-Dcom.sun.management.jmxremote.port=10103"
#exportHBASE_ZOOKEEPER_OPTS="
$HBASE_JMX_BASE-Dcom.sun.management.jmxremote.port=10104"
#FilenaminghostsonwhichHRegionServerswillrun.$HBASE_HOME/conf/regionserversbydefault.
#exportHBASE_REGIONSERVERS=${HBASE_HOME}/conf/regionservers
#Extrasshoptions.Emptybydefault.
#exportHBASE_SSH_OPTS="
-oConnectTimeout=1-oSendEnv=HBASE_CONF_DIR"
#Wherelogfilesarestored.$HBASE_HOME/logsbydefault.
#exportHBASE_LOG_DIR=${HBASE_HOME}/logs
#Astringrepresentingthisinstanceofhbase.$USERbydefault.
#exportHBASE_IDENT_STRING=$USER
#Theschedulingpriorityfordaemonprocesses.See'
mannice'
.
#exportHBASE_NICENESS=10
#Thedirectorywherepidfilesarestored./tmpbydefault.
#exportHBASE_PID_DIR=/var/hadoop/pids
#Secondstosleepbetweenslavecommands.Unsetbydefault.This
#canbeusefulinlargeclusters,where,e.g.,slaversyncscan
#otherwisearrivefasterthanthemastercanservicethem.
#exportHBASE_SLAVE_SLEEP=0.1
#TellHBasewhetheritshouldmanageit'
sowninstanceofZookeeperornot.
exportHBASE_MANAGES_ZK=true
exportHBASE_CLASSPATH=/usr/local/hadoop-0.20.1-dev/conf
hbase-site.xml配置如下:
?
xmlversion="
1.0"
xml-stylesheettype="
text/xsl"
href="
configuration.xsl"
hbase.rootdir<
//hadoopNN00:
9000/hbase<
Thedirectorysharedbyregionservers.<
hbase.master.port<
60000<
hbase.cluster.distributed<
true<
hbase.zookeeper.property.dataDir<
/usr/local/hbase/zookeeper<
hbase.zookeeper.property.clientPort<
2181<
hbase.zookeeper.quorum<
192.168.11.16,192.168.11.18,192.168.11.20<
其中,hbase.rootdir这一项的配置必须与hdfs的fs.name.default项一致,还要为hbase指定根目录/hbase
Regionserver的配置如下:
192.168.11.16
192.168.11.18
192.168.11.20
配置完毕后将hbase拷贝到各个机器中的相同目录下。
启动habse。
在192.168.11.12上启动hbase集群:
bin/start-hbase.sh,首先启动的是zookeeper,再是master,最后是HRegionserver。
五.本实验
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 Hadoop HBase 安装 部署 配置