hadoop安装部署思维导图下载链接
操作系统环境
依赖软件ssh,jdk
安装JDK
rpm -i jdk-7u67-linux-x64.rpm
whereis java
SSH
环境的配置
vi + /etc/profile
source /etc/profile
时间同步
hosts
hostname
创建目录
解压、环境配置
tar xf hadoop-2.6.5.tar.gz -C /opt/sxt/
配置文件修改(cd /hadoop/etc/hadoop/)
vi hadoop-env.sh
vi mapred-env.sh
vi yarn-env.sh
vi core-site.xml
fs.defaultFS hdfs://localhost:9000
hadoop.tmp.dir /var/sxt/hadoop/pseudo
vi hdfs-site.xml
dfs.replication 1
dfs.namenode.secondary.http-address localhost:50090
vi slaves
格式化hdfs
启动集群
浏览器访问
命令
hdfs
dfs
hdfs dfs
…]
…]]
]
]|[–set ]]
]]
实例
服务器设置
cat /etc/sysconfig/selinux
JDK
Hadoop配置文件
fs.defaultFS hdfs://node0001:9000
hadoop.tmp.dir /var/sxt/hadoop/full
dfs.replication 3
dfs.namenode.secondary.http-address node0002:50090
存储小文件
Hadoop 1.0中HDFS和MapReduce在高可用、扩展性等方面存在问题HDFS存在的问题(2个)
MapReduce存在的问题响系统
Hadoop 2.x由HDFS、MapReduce和YARN三个分支构成:
HDFS:NN Federation(联邦)、HA;
MapReduce:运行在YARN上的MR;
YARN:资源管理系统
解决HDFS 1.0中单点故障和内存受限问题。
解决单点故障
解决内存受限问题
2.x仅是架构上发生了变化,使用方式不变
对HDFS使用者透明
HDFS 1.x中的命令和API仍可以使用
主备NameNode
解决单点故障(属性,位置)
两种切换选择
基于Zookeeper自动切换方案
环境
profile环境变量
SSH免密
hadoop
hdfs-site.xml
dfs.nameservices mycluster - dfs.ha.namenodes.mycluster nn1,nn2 - dfs.namenode.rpc-address.mycluster.nn1 node0001:8020 dfs.namenode.rpc-address.mycluster.nn2 node0002:8020 - dfs.namenode.http-address.mycluster.nn1 node0001:50070 dfs.namenode.http-address.mycluster.nn2 node0002:50070 - dfs.namenode.shared.edits.dir qjournal://node0001:8485;node0002:8485;node0003:8485/mycluster - dfs.client.failover.proxy.provider.mycluster org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider - dfs.ha.fencing.methods sshfence dfs.ha.fencing.ssh.private-key-files /root/.ssh/id_rsa - dfs.journalnode.edits.dir /var/sxt/hadoop/ha/journalnode
fs.defaultFS hdfs://mycluster - hadoop.tmp.dir /var/sxt/hadoop/ha
dfs.ha.automatic-failover.enabled true
core-site.xml
ha.zookeeper.quorum node0002:2181,node0003:2181,node0004:2181
zookeeper
zoo.cfg
echo 1 >/var/sxt/zk/myid
首次启动
zkServer.sh start
hadoop-daemon.sh start journalnode
hdfs namenode -format
hadoop-daemon.sh start namenode
hdfs namenode -bootstrapStandby
hdfs zkfc -formatZK
验证
zkCli.sh
ls /hadoop-ha/mycluster
get /hadoop-ha/mycluster/ActiveBreadCrumb
get /hadoop-ha/mycluster/ActiveStandbyElectorLock
hadoop-daemon.sh stop zkf
start-dfs.sh
ss -nal
之后启动