hadoop大数据应用开发环境配置.docx
《hadoop大数据应用开发环境配置.docx》由会员分享,可在线阅读,更多相关《hadoop大数据应用开发环境配置.docx(34页珍藏版)》请在冰豆网上搜索。
![hadoop大数据应用开发环境配置.docx](https://file1.bdocx.com/fileroot1/2023-5/29/c59ed8fe-837a-4bea-92ab-b3b20f1ef986/c59ed8fe-837a-4bea-92ab-b3b20f1ef9861.gif)
hadoop大数据应用开发环境配置
Hadoop大数据应用开发环境配置
一、运行环境
计算机名
IP
角色
备注
Kingo-mn
192.168.0.230
主节点(namenode),masters
负责总管分布式数据的调度。
Kingo-ms
192.168.0.231
副节点(JobTracker),masters
分解任务的执行。
资源控制器
Kingo-d1
192.168.0.232
数据节点1(Datanode1)
Slaves/TaskTracker,负责分布式数据存储以及任务的执行。
Kingo-d2
192.168.0.238
数据节点2(Datanode2)
Kingo-d3
192.168.0.239
数据节点3(Datanode3)
说明
修改/etc/sysconfig/network文件可以修改主机名;主机名不能含“_”。
Ip
主机名
程序
进程
192.168.0.230
Kingo-mn
Jdk
Hadoop
hbase
Namenode
DFSZKFailoverController
Hamster
resourceManager
192.168.0.231
Kingo-ms
Jdk
Hadoop
hbase
Namenode
SecondaryNamenode
JobTracker
DFSZKFailoverController
Hamster
resourceManager
192.168.0.232
Kingo-d1
Jdk
Hadoop
Zookeeper
hbase
Datanode
nodeManager
JournalNode
QuorumPeerMain
HregionServer
TaskTracker
192.168.0.238
Kingo-d2
Jdk
Hadoop
ZooKeeper
hbase
Datanode
nodeManager
JournalNode
QuorumPeerMain
HregionServer
TaskTracker
192.168.0.239
Kingo-d3
Jdk
Hadoop
Zookeeper
Hbase
Datanode
nodeManager
JournalNode
QuorumPeerMain
HregionServer
TaskTracker
二、创建帐号
四台机器均创建kingo用户组和bigdata帐号,密码统一为Kingo123。
#groupaddkingo
#useradd-d/home/bigdata-gkingobigdata
#passwdbigdata//设置密码为Kingo123
#cd/home
#chgrp-Rkingobigdata//设置目录所属组
#chmod-Rg=rwxbigdata//设置目录所属组的权限为读、写、执行
三、绑定hostname与IP
#vi/etc/hosts,增加内容如下:
192.168.0.230 kingo-mn
192.168.0.231 kingo-ms
192.168.0.238 kingo-rm
192.168.0.232 kingo-d1
192.168.0.239 kingo-d2
四、设置节点之间的免密码通信
1、向各节点复制Hosts文件
scp/etc/hostskingo-ms:
/etc/hosts
scp/etc/hostskingo-d1:
/etc/hosts
scp/etc/hostskingo-d2:
/etc/hosts
scp/etc/hostskingo-d3:
/etc/hosts
2、在各节点上生成各自SSH秘钥对
#ssh-keygen-tdsa-P''-f~/.ssh/id_dsa
#cd~/.ssh
#catid_dsa.pub>>authorized_keys
#chmod600authorized_keys
3、复制公钥到某一节点
#ssh-copy-id-i~/.ssh/id_dsa.pubkingo-mn
4、复制密钥到各个节点。
在kingo-mn上执行如下命令:
#scp/root/.ssh/authorized_keyskingo-ms:
/root/.ssh/;scp/root/.ssh/authorized_keyskingo-d1:
/root/.ssh/;scp/root/.ssh/authorized_keyskingo-d2:
/root/.ssh/;scp/root/.ssh/authorized_keyskingo-d3:
/root/.ssh/
五、安装JDK
把jdk-7u80-linux-x64.rpm安装包复制到/bigdata/setup文件夹下,执行:
#rpm–ivhjdk-7u80-linux-x64.rpm
Jdk安装到默认目录/usr/java/jdk1.7.0_80下。
#vi/etc/profile
加入如下配置信息:
exportJAVA_HOME=/usr/java/jdk1.7.0_80
exportCLASSPATH=.:
$JAVA_HOME/lib/tools.jar:
$JAVA_HOME/lib/dt.jar
exportPATH=.:
$JAVA_HOME/bin:
$PATH
#sourceprofile//执行profile内容,确认是否配置成功
#java–version//查看是否JDK安装成功
六、设置hadoop环境变量
#vi/etc/profile
exportHADOOP_HOME=/home/bigdata/hadoop-2.7.1
exportPATH=.:
$HADOOPHOME/sbin:
$HADOOP_HOME/bin:
$JAVAHOME/bin:
$PATH
exportHADOOP_LOG_DIR=/home/bigdata/hadoop-2.7.1/logs
exportYARN_LOG_DIR=$HADOOP_LOG_DIR
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
#hadoopversion//查看hadoop是否安装成功
七、配置hadoop
1、配置hadoop2.7.1/etc/hadoop下的hadoop-env.sh、yarn-env.sh、mapred-env.sh
修改JAVA_HOME值:
exportJAVA_HOME=/usr/java/jdk1.7.0_80
2、配置hadoop2.7.1/etc/hadoop/slaves
kingo-d1
kingo-d2
kingo-d3
3、配置hadoop2.7.1/etc/hadoop/core-site.xml
fs.defaultFS
hdfs:
//kingo-mn:
9000/
设定namenode的主机名及端口
hadoop.tmp.dir
/home/bigdata/tmp/hadoop-${user.name}
存放临时文件的目录
hadoop.proxyuser.hadoop.hosts
*
hadoop.proxyuser.hadoop.groups
*
4、配置hadoop2.7.1/etc/hadoop/hdfs-site.xml
dfs.namenode.http-address
kingo-mn:
50070
NameNode获得fsimage和edits
dfs.namenode.secondary.http-address
kingo-ms:
50090
SecondNameNode获得最新的fsimage
dfs.namenode.rpc-address
kingo-mn:
9000
kingo-mn
dfs.replication
3
设定HDFS存储文件的副本个数,默认为3
dfs.namenode.name.dir
file:
///home/bigdata/hadoop-2.7.1/hdfs/name
namenode用来持续存放命名空间和交换日志的本地文件系统路径
dfs.datanode.data.dir
file:
///home/bigdata/hadoop-2.7.1/hdfs/data
DataNode在本地存放块文件的目录列表,用逗号分隔
dfs.namenode.checkpoint.dir
file:
///home/bigdata/hadoop-2.7.1/hdfs/namesecondary 设置secondary存放临时镜像的本地文件系统路径,如果这是一个用逗号分隔的文件列表,则镜像将会冗余复制到所有目录,只对secondary有效
dfs.webhdfs.enabled
true
dfs.stream-buffer-size
131072
默认是4KB,作为hadoop缓冲区,用于hadoop读hdfs的文件和写hdfs的文件,还有map的输出都用到了这个缓冲区容量,对于现在的硬件很保守,可以设置为128k(131072),甚至是1M(太大了map和reduce任务可能会内存溢出)
dfs.namenode.checkpoint.period
3600
两次checkpoints之间的间隔,单位为秒,只对secondary有效
dfs.permissions.enabled
false
If"true",enablepermissioncheckinginHDFS.
If"false",permissioncheckingisturnedoff,
butallotherbehaviorisunchanged.
Switchingfromoneparametervaluetotheotherdoesnotchangethemode,
ownerorgroupoffilesordirectories.
5、配置hadoop2.7.1/etc/hadoop/mapred-site.xml
mapreduce.framework.name
yarn
mapreduce.jobtracker.address
hdfs:
//kingo-mn:
9001
mapreduce.jobhistory.address
kingo-mn:
10020
MapReduceJobHistoryServerhost:
port,default portis 10020.
mapreduce.jobhistory.webapp.address
kingo-mn:
19888
MapReduceJobHistoryServerWebUIhost:
port,default portis 19888.
6、配置hadoop2.7.1/etc/hadoop/yarn-site.xml
yarn.resourcemanager.hostname
kingo-mn
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
yarn.resourcemanager.address
kingo-mn:
8032
yarn.resourcemanager.scheduler.address
kingo-mn:
8030
yarn.resourcemanager.resource-tracker.address
kingo-mn:
8031
yarn.resourcemanager.admin.address
kingo-mn:
8033
yarn.resourcemanager.webapp.address
kingo-mn:
8088
八、启动hadoop
#hdfsnamenode-format//格式化hadoop
将集群信息复制到kingo-ms上
#hdfsnamenodebootstrapstandby
#start-all.sh
九、管理hadoop
主节点:
http:
//192.168.0.230:
50070/
集群:
http:
//192.168.0.230:
8088/
节点一:
http:
//192.168.0.231:
8042/
节点二:
http:
//192.168.0.232:
8042/
节点三:
http:
//192.168.0.239:
8042/
注意:
如果启动正常,无法访问主节点web页面,可以关闭防火墙。
#serviceiptablesstop或
#chkconfigiptablesoff
一十、集群验证
1、在HDFS创建数据目录
hadoopfs-mkdir-p/data/wordcount//存放数据文件
hadoopfs-mkdir-p/output//存放MapReduce任务的输出结果
2、上传本地文件到HDFS中:
hadoopfs-put/home/bigdata/hadoop-2.7.1/etc/hadoop/*.xmldata/wordcount/
3、查看上传后的文件:
hadoopfs-ls/data/wordcount
4、运行WordCount例子
hadoop jar /home/bigdata/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jarwordcount /data/wordcount /output/wordcount
1.先启动zookeeper在h4,h5,h6上
zkServer.shstart
查看状态zkServer.shstatus(会发现有一个leader,两个follower)
2. 启动journalnode(在h1上启动)
hadoop-daemons.shstartjournalnode
3.格式化HDFS(在h1上启动)
hadoopnamenode–format
此时会在hadoop目录里面产生tmp文件夹,将这个文件夹拷贝到h2上
3. 格式化ZK(在h1上启动)
hdfszkfc–formatZK
4. 启动hadoop(在h1上启动)
start-all.sh
HBase大数据应用开发环境配置
一、设置Zookeeper环境变量
解压zookeeper-3.4.6,配置如下环境变量:
#vi/etc/profile
#Setzookeeperenvironmentvariables
exportZOOKEEPER_HOME=/home/zookeeper-3.4.6
#Addzookeeperbin/directorytoPATH
exportPATH=$PATH:
$ZOOKEEPER_HOME/bin:
$ZOOKEEPER_HOME/conf
二、配置Zookeeper配置文件
#mkdirdata
#mkdirdatalog
将conf/zoo_sample.cfg改成conf/zoo.cfg。
#vizoo.cfg
dataDir=/home/zookeeper-3.4.6/data
dataLogDir=/home/zookeeper-3.4.6/datalog
server.1=kingo-mn:
2888:
3888
server.2=kingo-ms:
2888:
3888
server.3=kingo-d1:
2888:
3888
server.4=kingo-d2:
2888:
3888
在data文件夹下创建myid文件
#vimyid
输入:
1,保存。
其它服务输入zoo.cfg中对应的数字。
三、设置HBase环境变量
解压hbase-1.0.1.1,配置如下环境变量:
#vi/etc/profile
#Set