集群概念
计算机集群是一种计算机系统,通过一组松散继承的计算机软件或硬件连接连接起来高度紧密地协作完成计算工作。
集群系统中的单个计算机通常称为节点,通过局域网连接。
集群特点:
1、效率高,通过多态计算机完成同一个工作。
2、高容错,两台或多台机内容、工作过程等完全一样,宕机一台其他机器继续工作。
Hadoop集群部署
搭建步骤
1、跟伪分布模式环境相同
更改主机名
设置Hosts
关闭防火墙
安装jdk
设置环境变量
设置SSH密钥登陆
2、安装配置Hadoop
namenode配置:
配置Hadoop环境变量
export HADOOP_HOME=/usr/local/hadoop
export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
配置hadoop-env.sh文件
export JAVA_HOME = /usr/local/jdk
export HADOOP_PID_DIR = /usr/local/hadoop/pids
配置core-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://h1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
配置hdfs-site.xml
<property>
副本数量设置
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.hosts.exclude</name>
<value>/usr/local/hadoop/conf/excludes</value>
</property>
配置mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>hdfs://h1:90001</value>
</property>
配置masters和slaves
master中配置的节点为Secondarynamenode节点。
slaves中配置的节点为datanode和tasktracker节点。
拷贝hadoop目录到其他节点中。
namenode上使用 hadoop namenode –format格式化文件系统,以前格式化过的需要把hadoop.tmp.dir目录删除,否则格式化失败。
增加节点
1、在namnode和新主机的hosts文件中添加主机名,保证通过主机名能ping通。
2、修改namenode的配置文件 conf/slaves
添加新节点的ip或者主机名
3、在新节点上启动服务
hadoop-daemon.sh start datanode
hadoo-daemon.sh start tasktracker
4、在Namenode节点上执行刷新节点命令
hadoop dfsadmin –refreshNodes
5、Datanode节点均衡block块,也就是同步数据。
start-balancer.sh
注意事项:
1、保证slave的防火墙关闭
2、确保新的salve的ip或者主机名已经添加到master及其他slaves的hosts文件中,反之将master添加其他slave的主机名。实现主机名可以解析ip。
删除节点
1、在namenode节点中的配置文件添加
<property>
<name>dfs.hosts.exclude</name>
<value>/usr/local/hadoop/conf/exclude</value>
</property>
2、在dfs.hosts.exclude定义的文件中添加要下架的机器,一行一个。
3、使用命令强制加载节点
hadoop dfsadmin –refreshNodes
4、查看下架状态
hadoop dfsadmin –report
下架的机器会显示:Decommission in progres
执行完成后将不显示。
5、删除exclude文件中的主机名
6、到要下架的节点上关闭taskracker。
hadoop-daemon.sh stop tasktracker
安全机制
允许进入的节点设置
dfs.hosts/map.hosts
排除的设置(下线使用)
dfs.hosts.exclude/mapred.hosts.exclude
安全模式
hadoop开启是会有安全模式,安全模式时不允许修改、删除文件,知道安全模式结束。
作用:
主要为了系统启动时检查各个DataNode节点数据块的有效性,同时根据策略必要的复制或删除部分数据块。
一直处于安全模式原因:
如果datanode丢失的block块达到一定比例,系统会一直处于安全模式。
dfs.safemode.threshold.pct设置比例,默认是0.99f。如果设为1将永远为SafeMode。
集群监控-Web
MapReduce监控页面
HDFS监控页面
http://主机名:50070/
第三方监控工具
ganglie 分布式监控系统
Hadoop管理员命令
hadoop dfsadmin –safemode get 查看运行模式
hadoop dfsadmin –safemode enter 开启安全模式
hadoop dfsadmin –safemode leave 关闭安全模式
hadoop job –list 查看任务列表
hadoop job –kill jobid 删除任务
hadoop fsck / 检查HDFS状态,是否损坏
hadoop fsck / -delete 检查HDFS状态,删除损坏块
hadoop dfsadmin –report 检查HDFS状态,包括DdataNode信息
常见分布模式安装错误
1、NameNode与DataNode互相都可以ssh无密钥登陆访问
2、在hosts文件中127.0.0.1不要与主机名在一起