标签:本地 2.x 配置文件 进程 -- 基金 centos 负载 share
Hadoop发行版本分为开源社区版和商业版。
Hadoop1.0是由一个分布式文件系统HDFS和一个离线计算框架MapReduce组成
Hadoop2.0则包含一个支持NameNode横向扩展的HDFS,一个资源管理系统YARN和一个运行在YARN上的离线计算框架MapReduce。相比1.0Hadoop2.0功能更加强大,且具有更好的扩展性、性能,并支持多种计算框架
Hadoop3.0相比之前的Hadoop2.0有一系列的功能增强。但目前还是alpha版本有很多bug不能保证API的稳定和质量
Hadoop集群具体来说是包含两个集群:HDFS集群和YARN集群,两者逻辑上分离但物理上常在一起
集群是多台机器做同一件事情(高性能HPC) 或者任意一台机器处理一个事情(负载均衡LBC)主备高可用(HA)
主从和主备
* 主从:主和从干的活不一样,但是从受主的管理,而且主从同时运行
* 主备:主和备干的活一模一样 同一时刻同一时间只能有一个服务,主挂掉备启动 高可用HA
主要角色有:NameNode、DataNode、SecondaryNameNode
主要角色有:ResourceManager、NodeManager
MapReduce是一个分布式运算变成框架,是应用程序开苞,由用户按照变成规范进行程序开发,打包后运行在HDFS集群上,并且受到YARN集群的资源调度管理.
集群模式Cluster mode 集群模式主要用于生产环境部署。会使用 N 台主机组成一个 Hadoop 集群。
这种部署模式下,主节点和从节点会分开部署在不同的机器上。
node-1 NameNode DataNode ResourceManager NodeManager
node-2 DataNode SecondaryNameNode NodeManager
node-3 DataNode NodeManager
第一种:通过Linux图形界面进行修改(桌面版本Centos)
进入Linux图形界面
-> 右键点击右上方的两个小电脑
-> 点击Edit connections
-> 选中当前网络System eth0
-> 点击edit按钮
-> 选择IPv4
-> method选择为manual
-> 点击add按钮
-> 添加IP:192.168.1.101 子网掩码:255.255.255.0 网关:192.168.1.1 -> apply
第二种:修改配置文件方式
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static" ###
HWADDR="00:0C:29:3C:BF:E7"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c"
IPADDR="192.168.1.101" ###
NETMASK="255.255.255.0" ###
GATEWAY="192.168.1.1" ###
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node-1
vi /etc/hosts
192.168.1.101 node-1
192.168.1.102 node-2
192.168.1.103 node-3
#查看防火墙状态
service iptables status
#关闭防火墙
service iptables stop
#查看防火墙开机启动状态
chkconfig iptables --list
#关闭防火墙开机启动
chkconfig iptables off
#生成ssh免登陆密钥
ssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免密登陆的目标机器上
ssh-copy-id node-2
常用的手动进行时间的同步
date -s "2017-03-03 03:03:03"
或者网络同步:
yum install ntpdate
ntpdate cn.pool.ntp.org
rz jdk-8u65-linux-x64.tar.gz
tar -zxvf jdk-8u65-linux-x64.tar.gz -C /root/apps
vim /etc/profile
#在文件最后添加
export JAVA_HOME=/root/apps/jdk1.8.0_65
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#刷新配置
source /etc/profile
上传hadoop的安装包到服务器
hadoop-2.7.4-with-centos-6.7.tar.gz
解压安装包
tar zxvf hadoop-2.7.4-with-centos-6.7.tar.gz
vi hadoop-env.sh
export JAVA_HOME=/root/apps/jdk1.8.0_65
<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node-1:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录,默认/tmp/hadoop-${user.name} -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.4.1/tmp</value>
</property>
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>2</value> //包含源文件一共2分
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node-22:50090</value>
</property>
mv mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
<!-- 指定mr运行时框架,这里指定在yarn上,默认是local -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node-21</value>
</property>
<!-- NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序默认值:"" -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
vi slaves
node-21
node-22
node-23
vim /etc/proflie
export JAVA_HOME=/root/apps/jdk1.8.0_65
export HADOOP_HOME=/root/apps/hadoop-2.7.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
hdfs namenode -format(hadoop namenode -format)
推荐使用hadoop namenode -format 这是hadoop2提供改的 前一个是hadoop1提供的按照最新的选择
所谓的namenode的格式化就是针对hdfs集群进行初始化,在这当中,创建hadoop数据存储的目录(hadoop.tmp.dir)还会创建一些和hdfs相关文件,创建集群的id编号clusterID=CID-8e80457a-f23e-4b43-96ff-035e11b2e360
不要理解成传统意义上的格式化
格式化只能进行一次,一般在集群新搭建的时候进行
/export/data/hadoop/dfs/name/current
-rw-r--r--. 1 root root 321 Dec 4 11:51 fsimage_0000000000000000000
-rw-r--r--. 1 root root 62 Dec 4 11:51 fsimage_0000000000000000000.md5
-rw-r--r--. 1 root root 2 Dec 4 11:51 seen_txid
-rw-r--r--. 1 root root 208 Dec 4 11:51 VERSION
查看该目录下文件可以看出是刚刚启动改的集群
cat VERSION
里保存了集群编号 这个id唯一标识
想要重新格式化需要重启系统
启动方式有两种
在主节点上使用以下命令启动 HDFS NameNode:
hadoop-daemon.sh start namenode
在每个 从节点上使用以下命令启动 HDFS DataNode:
hadoop-daemon.sh start datanode
hadoop-daemons.sh start datanode
datanode 结合 slaves 文件 启动所有 DataNode 。
在主节点上使用以下命令启动 YARN ResourceManager:
yarn-daemon.sh start resourcemanager resourcemanager
在每个 从节点上使用以下命令启动 YARN nodemanager:
yarn-daemon.sh start nodemanager
yarn-daemons.sh start nodemanager
结合 slaves 启动所有 nodemanager 。
以上脚本位于$HADOOP_PREFIX/sbin/目录下。如果想要停止某个节点上角色,只需要把命令中的start改为stop即可。
如果配置了 etc/hadoop/slaves 和 ssh 免密登录,则可以使用程序脚本启动所有 Hadoop 两个集群的相关进程,在主节点所设定的机器上执行。
hdfs:$HADOOP_PREFIX/sbin/start-dfs.sh
yarn: $HADOOP_PREFIX/sbin/start-yarn.sh
停止集群:
stop-dfs.sh
stop-yarn.sh
使用jps命令验证
27408 NameNode
28218 Jps
27643 SecondaryNameNode (secondarynamenode) 这个进程只能在该主进程处
28066 NodeManager
27803 ResourceManager
27512 DataNode
http://192.168.1.101:50070 (HDFS管理界面)
http://192.168.1.101:8088 (MR管理界面)
从 Linux 本地上传一个文本文件到 hdfs 的/test/input 目录下
hadoop fs -mkdir -p /wordcount/input
hadoop fs -put /root/somewords.txt /test/input
上传后可以在NameNode管理页面查找到
192.168.XXX.XXX:50070 -> Utilities
在 Hadoop 安装包的 hadoop-2.7.4/share/hadoop/mapreduce 下有官方自带
的 mapreduce 程序。我们可以使用如下的命令进行运行测试。 示例程序 jar:
hadoop-mapreduce-examples-2.7.4.jar
计算圆周率:
hadoop jar hadoop-mapreduce-examples-2.7.4.jar pi 2 5
关于圆周率的估算,感兴趣的可以查询资料 Monte Carlo 方法来计算 Pi 值。
标签:本地 2.x 配置文件 进程 -- 基金 centos 负载 share
原文地址:https://www.cnblogs.com/Luckyness/p/9013104.html