hadoop学习笔记.docx
《hadoop学习笔记.docx》由会员分享,可在线阅读,更多相关《hadoop学习笔记.docx(25页珍藏版)》请在冰豆网上搜索。
![hadoop学习笔记.docx](https://file1.bdocx.com/fileroot1/2022-11/25/5f0c88d0-587a-4743-b774-35fde4238798/5f0c88d0-587a-4743-b774-35fde42387981.gif)
hadoop学习笔记
一、Hadoop的结构:
NameNode
DataNode
SecondaryNameNode
LobTracker
TaskTracker
二、Hadoop安装流程:
1、新建用户和组
2、配置服务器域名和主机名
3、SSH无密码登陆
4、JDK的安装
5、Hadoop配置
6、格式化与启动
7、WEB监控Hadoop的运行状态
三、下载:
VirtualBox
CenterOS
JDK
Hadoop
HBase
Putty
四、HadoopFSShell
hadoopfs–commandparameter
help
ls、lsr
du、dus
count
copyFromLocal、copyToLocal、cp
moveFromLocal、mv、put
cat
chgrp、chmod、chown
expunge
get、getmerge
mkdir
rm、rmr
setrep、stat、tail、test、text、touchz
Linux的安装
在安装时内存大小如果小于652MB时默认会进入textmodel(文本安装模式)。
因此在此处需要将内存调大些
网络:
VirtualBox有4种网络连接方式
1、NAT
2、BridgedAdapter
3、Internal
4、Host-onlyAdapter
VMWare有三种连接方式(上面的除去Internal)
1、NAT
NAT:
NetworkAddressTranslation:
网络地址转换
NAT模式是最简单的实现虚拟机上网的方式
4、Host-onlyAdapter(主机模型)
主机模型是一种比较复杂的模式,需要有比较扎实的网络基础知识才能玩转,可以说前面的几种模式所实现的功能在这种模式下,通过虚拟机及网卡的设置都可以被实现
网络配置:
DEVICE="eth0"
BOOTPROTO="static"
HWADDR="08:
00:
27:
34:
F4:
69"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="35b4fc2a-f79b-4013-a465-0a6aa793b487"
IPADDR=192.168.137.10
NETMASK=255.255.255.0
GATEWAY=192.168.137.1
DNS1=101.226.4.6
DNS2=192.168.0.1
Hadoop的配置步骤:
添加用户和组
[root@localhost~]#groupaddhadoop#添加组
[root@localhost~]#useraddhadoop–ghadoop#添加用户
[root@localhost~]#suhadoop#切换
[hadoop@localhostroot]$exit#退出
exit
Hosts的配置:
[root@localhost~]#vi/etc/hosts
追加
192.168.137.10master#本机IP地址主机名
[root@localhost~]#vi/etc/sysconfig/network
修改
HOSTNAME=master
[root@localhost~]#hostname#查看主机名(需要重启才能修改主机名)
[root@localhost~]#hostnamemaster#临时把主机名修改为master
[root@localhost~]#logout#登出
SSH无密码登陆
[root@master~]#yum–yinstallopenssh-clients#安装SSH客户端
#ssh默认是需要输入密码的:
[root@master~]#sshlocalhost
yes
#接下来需要输入密码,我们按[Ctrl+C]结束,接下来我们设置ssh的无密码登陆
[root@master~]#suhadoop#切换到hadoop用户
[hadoop@masterroot]$cd
[hadoop@master~]$ssh-keygen–trsa–P‘’–f~/.ssh/id_rsa#设置无密码登陆公钥和私钥对(除了rsa格式的公私钥还有dsa格式的:
ssh-keygen–tdsa–P‘’–f~/.ssh/id_dsa)
[hadoop@master~]$pwd
/home/hadoop
[hadoop@master~]$cd.ssh/
[hadoop@master.ssh]$ls–alh#查看生成的公钥(id_rsa.pub)和私钥(id_rsa)
[hadoop@master.ssh]$catid_rsa.pub>>authorized_keys
[hadoop@master.ssh]$ls-alh
[hadoop@master.ssh]$chmod600authorized_keys
[hadoop@master.ssh]$cd..
[hadoop@master~]$chmod700.ssh/
ssh无密码登陆设置成功。
测试:
[hadoop@master~]$sshmasterex
[hadoop@master~]$exit#退出ssh
JDK的安装:
[hadoop@master~]$exit#退出hadoop用户,进入root用户
[root@master~]$cdsoftware/#却换到JDK安装包目录
[root@mastersoftware]$mkdir/usr/java#创建解压目录
[root@mastersoftware]$tar-zxvfjdk-7u25-linux-i586.tar.gz–C/usr/java#解压(rpm包的解压:
rpm–ivhjdkxxx.rpm)
[root@mastersoftware]$cd/usr/java
[root@masterjava]$ls–alh
[root@master~]$vi/etc/profile#配置PATH
exportJAVA_HOME=/usr/java/jdk
exportPATH=$JAVA_HOME/bin:
$PATH
exportCLASSPATH=.:
$JAVA_HOME/lib/tools.jar:
$JAVA_HOME/lib/dt.jar
[root@master~]$source/etc/profile#使配置生效
hadoop的配置
[root@master~]#cd/software/
[root@mastersoftware]#ls-alh
[root@mastersoftware]#mkdir/software_jy
[root@mastersoftware]#tar-zxvfhadoop-1.2.1.tar.gz–C/software_jy
[root@mastersoftware]#cd/software_jy/
[root@mastersoftware_jy]#ls-alh
总用量12K
drwxr-xr-x.3rootroot4.0K4月2211:
19.
dr-xr-xr-x.27rootroot4.0K4月2211:
19..
drwxr-xr-x.15rootroot4.0K7月232013hadoop-1.2.1
[root@mastersoftware_jy]#chown-Rhadoop:
hadoophadoop-1.2.1/
[root@mastersoftware_jy]#mvhadoop-1.2.1/hadoop
[root@mastersoftware_jy]#ls-alh
[root@mastersoftware_jy]#suhadoop
[hadoop@mastersoftware_jy]$cdhadoop/conf
[hadoop@masterhadoop]$ls-alh
[hadoop@masterconf]$vihadoop-env.sh#配置环境变量
exportJAVA_HOME=/usr/java/jdk
exportHADOOP_HEAPSIZE=256
exportHADOOP_PID_DIR=/home/$USER/pids
[hadoop@masterconf]$vicore-site.xml
xmlversion="1.0"?
>
xml-stylesheettype="text/xsl"href="configuration.xsl"?
>
--Putsite-specificpropertyoverridesinthisfile.-->
fs.default.name
hdfs:
//master:
9000
hadoop.tmp.dir
/home/${user.name}/tmp
[hadoop@masterconf]$vihdfs-site.xml#配置hdfs
需要配置namenode的数据目录、datanode的数据目录、集群个数(dfs.replication)
xmlversion="1.0"?
>
xml-stylesheettype="text/xsl"href="configuration.xsl"?
>
--Putsite-specificpropertyoverridesinthisfile.-->
dfs.replication
1
dfs.name.dir
/home/${user.name}/dfs_name
dfs.data.dir
/home/${user.name}/dfs_data
[hadoop@masterconf]$vimapred-site.xml
xmlversion="1.0"?
>
xml-stylesheettype="text/xsl"href="configuration.xsl"?
>
--Putsite-specificpropertyoverridesinthisfile.-->
mapred.job.tracker
master:
9001
--mapred的系统目录-->
mapred.system.dir
/home/${user.name}/mapred_system
--mapred的本地目录-->
mapred.local.dir
/home/${user.name}/mapred_local
[hadoop@masterconf]$vimasters#配置辅助名称节点
[hadoop@masterconf]$vislaves#配置slaves
到此已配置完成。
验证一下是否真正的配置成功:
[hadoop@masterconf]$cd../bin
[hadoop@masterbin]$./hadoopnamenode-format
[hadoop@masterbin]$./start-all.sh
[hadoop@masterbin]$jps
查看命令是否能正常执行。
[hadoop@masterbin]$./hadoopdfsadmin–report#执行dfsadmin命令,-report作用:
打印一个报告
查看hdfs中有什么内容:
[hadoop@masterbin]$./hadoopfs-ls/
[hadoop@masterbin]$./hadoopfs-ls/home/hadoop/mapred_system
查看日志文件:
[hadoop@masterbin]$cd../logs
[hadoop@masterlogs]$ls–alh
Hbase的配置:
[hadoop@masterlogs]$cd../conf
[hadoop@masterconf]$vihdfs-site.xml
xmlversion="1.0"?
>
xml-stylesheettype="text/xsl"href="configuration.xsl"?
>
--Putsite-specificpropertyoverridesinthisfile.-->
dfs.replication
1
dfs.name.dir
/home/${user.name}/dfs_name
dfs.data.dir
/home/${user.name}/dfs_data
--HBase的配置-->
dfs.support.append
true
dfs.datanode.max.xcievers
4096
--HBase配置结束-->
重启hadoop
[hadoop@masterconf]$cd../bin
[hadoop@masterbin]$./stop-all.sh
[hadoop@masterbin]$./start-all.sh
[hadoop@masterbin]$./hadoopdfsadmin–report#查看启动状态
http:
//192.168.137.10:
50030/
http:
//192.168.137.10:
50070/
开始安装Hbase
解压Hbase
[hadoop@masterbin]$exit
exit
[root@master~]#cd/software
[root@mastersoftware]#tar-zxvfhbase-0.94.10.tar.gz-C/software_jy/
[root@mastersoftware]#cd/software_jy/
[root@mastersoftware_jy]#ls–alh
[root@mastersoftware_jy]#mvhbase-0.94.10/hbase
[root@mastersoftware_jy]#chown-Rhadoop:
hadoophbase/
[root@mastersoftware_jy]#cdhbase/
[root@masterhbase]#ls–alh
[root@masterhbase]#cdconf/
[root@masterconf]#ls-alh
[root@masterconf]#vihbase-env.sh
exportJAVA_HOME=/usr/java/jdk
exportHBASE_MANAGES_ZK=true
[root@masterconf]#vihbase-site.xml
xmlversion="1.0"?
>
xml-stylesheettype="text/xsl"href="configuration.xsl"?
>
--HBase的数据存放的位置-->
hbase.rootdir
hdfs:
//master:
9000/hbase
--是否为分布式-->
hbase.cluster.distributed
true
--主节点-->
hbase.master
hdfs:
//master:
60000
--Hbase临时目录-->
--Hbase临时目录-->
hbase.tmp.dir
/home/${user.name}/tmp
--zookeeper-->
hbase.zookeeper.quorum
master
hbase.zookeeper.property.clientPort
2181
hbase.zookeeper.property.dataDir
/home/${user.name}/zookeeper
[root@masterconf]#viregionservers
覆盖hadoop类库:
与hadoop集成时需要,hadoop类库需要与Hbase类库相同
[root@masterconf]#cd../lib/#进入hbase的lib目录
[root@masterlib]#lshadoop-core-1.0.4.jar#查看hbase使用的hadoop
[root@masterlib]#rm-rfhadoop-core-1.0.4.jar#删除hbase中使用的hadoop类库
[root@masterlib]#cp/software_jy/hadoop/hadoop-core-1.2.1.jar.#将hadoop中的hadoop类库复制到hbase中的lib目录下
[root@masterlib]#chown-Rhadoop:
hadoophadoop-core-1.2.1.jar#授权hadoop
[root@masterlib]#suhadoop#切换hadoop用户
[hadoop@masterlib]$cd../bin/#进入hbase的bin目录
[hadoop@masterbin]$./start-hbase.sh#启动hbase
[hadoop@masterbin]$jps
http:
//192.168.137.10:
60010/
http:
//192.168.137.10:
60030/
http:
//192.168.137.10:
60010/zk.jsp
[hadoop@masterbin]$./hbaseshell#执行shell命令
hbase(main):
001:
0>list#查看表
hbase(main):
003:
0>create'user','f1','f2','f3'#创建表
hbase(main):
004:
0>list#查看表
hbase(main):
005:
0>put‘user’,’1’,’f1:
name’,’su’
hbase(main):
007:
0>scan'user'
hbase(main):
007:
0>exit#退出shell命令
[hadoop@masterbin]$./stop-hbase.sh#停止hbase
MapReduce配置:
[hadoop@masterbin]$cd../../hadoop/conf#进入hadoop的配置目录
[hadoop@masterconf]$vihadoop-env.sh#进入hadoop环境变量配置文件
exportHBASE_HOME=/software_jy/hbase
exportHADOOP_CLASSPATH=$HADOOP_CLASSPATH:
$HBASE_HOME/hbase-0.94.10.jar:
$HBASE_HOME/hbase-0.94.10-tests.jar:
$HBASE_HOME/conf:
$HBASE_HOME/lib/zookeeper-3.4.5.jar:
$HBASE_HOME/lib/protobuf-java-2.4.0a.jar
[hadoop@masterc