hadoop-2.7.3版本
1、安装java环境
2、hadoop/etc/hadoop/hadoop-env.sh
>> JAVA_HOME = /root/java/jdk8
3、在命令行输入hadoop就会有提示信息,说明最基本的环境已经安装完成
4、配置namenode的节点信息 hadoop/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/soft/hadoop/tempData</value>
</property>
</configuration>
>> fs.defaultFS => 即告诉集群哪个机器是namenode
>> hadoop.tmp.dir => hadoop工作时的临时文件
还有把hadoop/etc/hadoop/slaves修改了,默认里面是localhost,在这里需要把slaves节点的IP或者映射名
注意修改 /etc/sysconfig/network 为每一个计算机起一个别名
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=master
注意关闭防火墙
5、格式化namenode
>> hdfs namenode -format
6、发送hadoop文件夹到其他的节点上
>> scp -r hadoop root@192.168.29.161:`pwd`
7、开启hadoop集群
在master上启动namenode,在slave上启动datanode
>> (启动HDFS相关进程)hadoop-daemon.sh start|stop namenode|datanode
8、验证节点是否启动成功了使用jps命令如果看到 namenode/datanode的信息就说明启动了对应的节点
>>以上就是HDFS集群
hdfs dfsadmin -report 可以查看活着的节点
netstat
9、通过web界面观察hdfs文件系统的情况 http://192.168.29.160:50070
10、通过在每一台机器上执行 hadoop-daemon.sh start xxxnode 来启动对应的节点是在太麻烦
这个时候就可以使用start-all.sh但是在这之前还需要配置每个slave对应的机器
在hadoop/etc/hadoop
现在可以使用start-all.sh(启动hdfs和yarn) 启动所有节点,通过stop-all.sh 关闭所有的节点 这样就实现了集中式的管理
>>start-dfs.sh 只启动hdfs
分开开启,常用语生产环境
(启动yarn相关的进程)yarn-daemon.sh start|stop resourcemanager|nodemanager
11、操作hdfs
hadoop fs -ls / 查看根目录下的所有文件
hadoop fs -put locationFile destination 把一个本地文件放入HDFS文件系统
>> hadoop fs -put ./xx.tar.gz / 把xx.tar.gz 放入HDFS的根目录
如果不会使用可以 敲hadoop fs 并回车
12、配置hdfs的备份的数量(下面表示备份数是2即每个block备份两块)
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
>>冗余备份:即一个文件F(B2->Node1,B2->Node2,Node3) 当Node1宕机则Node会把会复制一份到Node3上
关于云计算>>就是分布式计算
yarn
yarn也是主从结构一个ResourceManager带着多个NodeManager
当一个任务来了就向ResourceManager请求资源,然后ResourceManager将这个任务分配给具体的一个NodeManager来计算
一般情况下ResourceManager和HDFS的Namenode不在一台机器上,因为这两个逻辑节点都很费内存
而dataNode和NodeManager在一台机器上就不用把数据搬来搬去了
13、配置yarn hadoop/etc/hadoop/yarn-site.xml 添加如下配置意在告诉集群yarn的ResourceManager是哪台机器
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
14、修改mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
15、通过start-yarn.sh就可以启动yarn yarn会读取slaves文件来知道ResourceManager管理者哪些NodeManager (yarn和HDFS在逻辑上时可以分开启动的)
通过http://master:8088 就可以访问yarn的web页面,可以通过web页面查看当前运行的任务