1.hadoop介绍
公司主营业务:网站设计制作、成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出遵义免费做网站回馈大家。
Hadoop是Apache软件基金会旗下的一个开源分布式计算平台。以Hadoop分布式文件系统(HDFS,Hadoop Distributed Filesystem)和MapReduce(Google MapReduce的开源实现)为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构。
对于Hadoop的集群来讲,可以分成两大类角色:Master和Salve。一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件系统的访问操作;集群中的DataNode管理存储的数据。MapReduce框架是由一个单独运行在主节点上的JobTracker和运行在每个集群从节点的TaskTracker共同组成的。主节点负责调度构成一个作业的所有任务,这些任务分布在不同的从节点上。主节点监控它们的执行情况,并且重新执行之前的失败任务;从节点仅负责由主节点指派的任务。当一个Job被提交时,JobTracker接收到提交作业和配置信息之后,就会将配置信息等分发给从节点,同时调度任务并监控TaskTracker的执行。
从上面的介绍可以看出,HDFS和MapReduce共同组成了Hadoop分布式系统体系结构的核心。HDFS在集群上实现分布式文件系统,MapReduce在集群上实现了分布式计算和任务处理。HDFS在MapReduce任务处理过程中提供了文件操作和存储等支持,MapReduce在HDFS的基础上实现了任务的分发、跟踪、执行等工作,并收集结果,二者相互作用,完成了Hadoop分布式集群的主要任务。
1.2环境说明
master 192.168.0.201
slave 192.168.0.220
两个节点都是CentOS7
1.3环境准备
永久关闭防火墙和selinux
systemctl disable firewalld systemctl stop firewalld setenforce 0
1.4网络配置
两台修改主机名:master/salve
设置hosts,能互相解析
1.5配置ssh互信
master yum -y install sshpass ssh-keygen 一路回车 ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.220 slave yum -y install sshpass ssh-keygen 一路回车 ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.201 测试ssh对方主机,不提示输入密码则OK
2.安装JDK
两台机器都装
tar zxvf jdk-8u65-linux-x64.tar.gz mv jdk1.8.0_65 /usr/jdk
2.1设置环境变量
两台机器都设置
export JAVA_HOME=/usr/jdk export JRE_HOME=/usr/jdk/jre export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin 执行 source /etc/profile
3.测试JDK
java -version
3.1安装Hadoop
官方网站下载CDH-2.6-hadoop:archive.cloudera.com/cdh6
tar zxvf hadoop-2.6.0-cdh6.4.8.tar.gz mv hadoop-2.6.0-cdh6.4.8 /usr/hadoop cd /usr/hadoop mkdir -p dfs/name mkdir -p dfs/data mkdir -p tmp
3.2添加slave
cd /usr/hadoop/etc/hadoop vim slaves 192.168.0.220 #添加slaveIP
3.3修改hadoop-env.sh和yarn.env.sh
vim hadoop-env.sh / vim yarn-env.sh export JAVA_HOME=/usr/jdk #加入java变量
3.4修改core-site.xml
fs.defaultFS hdfs://192.168.0.201:9000 io.file.buffer.size 131702 hadoop.tmp.dir /usr/hadoop/tmp hadoop.proxyuser.hadoop.hosts * hadoop.proxyuser.hadoop.groups *
3.5修改hdfs-site.xml
dfs.namenode.name.dir /usr/hadoop/dfs/name dfs.datanode.data.dir /usr/hadoop/dfs/data dfs.replication 2 dfs.namenode.secondary.http-address 192.168.0.201:9001 dfs.webhdfs.enabled true dfs.permissions false
3.6修改mapred-site.xml
configuration>mapreduce.framework.name yarn mapreduce.jobhistory.address 192.168.0.201:10020 mapreduce.jobhistory.webapp.address 192.168.0.201:19888
3.7修改yarn-site.xml
yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.auxservices.mapreduce.shuffle.class org.apache.hadoop.mapred.ShuffleHandler yarn.resourcemanager.address 192.168.0.201:8032 yarn.resourcemanager.scheduler.address 192.168.0.201:8030 yarn.resourcemanager.resource-tracker.address 192.168.0.201:8031 yarn.resourcemanager.admin.address 192.168.0.201:8033 yarn.resourcemanager.webapp.address 192.168.0.201:8088 yarn.nodemanager.resource.memory-mb 768
4.把配置文件拷贝到slave端
scp -r /usr/hadoop root@192.168.0.220:/usr/
5.格式化nanenode
./bin/hdfs namenode -format
5.1启动hdfs
./sbin/start-dfs.sh$ ./sbin/start-yarn.sh
5.2检查启动情况
输入192.168.0.201:8088
输入网址:192.168.0.201:9001
配置文件详解:
core-site.xml
hadoop.tmp.dir hadoop文件系统依赖的基础配置,很多路径都依赖它。如果hdfs-site-xml中不配置namenode 和datanode的存放位置,默认就放在这个路径下 fs.defaultFS 这里的值指的是默认的HDFS路径。这里只有一个HDFS集群,在这里指定!
hdfs-site.xml
dfs.replication 指定DataNode存储block的副本数量。默认值是3个,我们现在有4个DataNode,该值不大于4即可