Hadoop2.x:
官网:hadoop.apache.org
三个组件:
HDFS:分布式文件系统,存储
MapReduce:分布式计算
Yarn:资源(cpu + memory)和JOB调度监控
文档地址:
http://hadoop.apache.org/docs/r2.8.2/
部署方式:
1.单机模式(Standalone):1个Java进程
2.伪分布模式(Pseudo-Distribute Mode):开发|学习 多个Java进程
3.集群模式(Cluster Mode):生产 多态机器多个Java进程
http://hadoop.apache.org/docs/r2.8.2/hadoop-project-dist/hadoop-common/SingleCluster.html
伪分布式部署:HDFS
1.创建hadoop服务的一个用户
# useradd hadoop
# id hadoop
# vi /etc/sudoers
hadoop ALL=(root) NOPASSWD:ALL
2.部署Java
使用:Oracle jdk1.8
尽力不要使用: Open JDk
2.1、解压+环境变量
2.2、CDH课 /usr/java
最好:which java
3.部署ssh,确保其是运行的
查看:默认是已经安装
service sshd status
4.解压hadoop
解压:
software]# tar -zxvf hadoop-2.8.1.tar.gz
修改权限:
chown -R root:root hadoop-2.8.1
配置环境变量
vi /etc/profile
export HADOOP_HOME=/opt/software/hadoop-2.8.1
export PATH=$HADOOP_HOME/bin:$PROTOC_HOME/bin:$FINDBUGS_HOME/bin:$MAVEN_HOME/bin:$JAVA_HOME/bin:$PATH
# which hadoop
# /opt/software/hadoop-2.8.1/bin/hadoop
软连接:
software]# ln -s /opt/software/hadoop-2.8.1 hadoop
修改用户和用户组:
software]# chown -R hadoop:hadoop hadoop
修改软连接
software]# chown -R hadoop:hadoop hadoop/*
修改软连接文件夹里面的内容
software]# chown -R hadoop:hadoop hadoop-2.8.1
修改原文件夹
chown -R hadoop:hadoop 文件夹:修改文件夹和文件夹里面的内容
chown -R hadoop:hadoop 软连接文件夹:修改软连接文件夹,不会修改软连接文件夹里面的
chown -R hadoop:hadoop 软连接文件夹/*:软连接文件夹不修改,只修改软连接文件夹里面的
software]# cd hadoop-2.8.1
hadoop-2.8.1]# rm -rf /hadoop-2.8.1/bin/*.cmd
hadoop-2.8.1]# rm -rf /hadoop-2.8.1/sbin/*.cmd
hadoop-2.8.1]# ll
bin:执行命令的shell
etc:配置文件
lib:lib库
sbin:启动和关闭hadoop里面的组件(进程)
hadoop-2.8.1/share/hadoop/hdfs:jar包
5.hadoop的模块组件配置core-site.xml
进入hadoop文件夹:
~]$ cd /opt/software/hadoop-2.8.1/etc/hadoop
hadoop]$ ll
hadoop-env.sh:hadoop配合环境
core-site.xml:hadoop 核心配置文件
hdfs-site.xml:针对于hdfs服务的 -->会起进程
[mapred-site.xml:MapReduce计算所需要的配置文件] 只当在jar计算时才有
yarn-site.xml:yarn服务的 -->会起进程
slaves:集群的机器名称
配置core-site.xml
hadoop]# cd/opt/software/hadoop-2.8.1/etc/hadoop
hadoop]# vi core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
hadoop]$ vi hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
6.配置root用户的ssh的信任关系
~]$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
~]$ chmod 0600 ~/.ssh/authorized_keys
.ssh]$ ssh 机器名 date
第一次输入需要yes
.ssh]$ ssh 机器名 date
第二次输入不需要yes
7.格式化文件系统
hadoop]$ hdfs namenode -format
Storage directory: /tmp/hadoop-hadoop/dfs/name
1.默认的存储路径哪个参数配置?
2.hadoop-hadoop指的是什么意思?
core-site.xml
hadoop.tmp.dir:/tmp/hadoop-${user.name}
hdfs-site.xml
dfs.namenode.name.dir : file://${hadoop.tmp.dir}/dfs/name
8.启动HDFS服务
删除不需要的cmd:
sbin]$ rm -rf *.cmd修改配置文件hadoop-env.sh: vi /opt/software/hadoop-2.8.1/etc/hadoop/hadoop-env.sh export JAVA_HOME=/usr/java/jdk1.8.0_45
启动dfs:
sbin]$ ./start-dfs.sh
namenode(名称节点) : localhost
datanode(数据节点) : localhost:
secondary namenode(第二名称节点) : 0.0.0.0
http://localhost:50070/
默认的端口:50070
web: localhost:9000
查看jps:sbin]# jps
8880 Jps
8455 NameNode
8760 SecondaryNameNode
8590 DataNode
查看进程是否启动:
sbin]$ ps -ef | grep hadoop
测试hdfs存储是否有效hadoop-01 /]# touch 1.txt
hadoop-01 /]# hdfs dfs -put 1.txt /
hadoop-01 /]# hdfs dfs -ls /
Found 1 items
-rw-r--r-- 1 root supergroup 0 2018-05-14 11:23 /1.txt
9.使用命令(hadoop、hdfs)
在hdfs上创建user文件夹:
bin]$ ./hdfs dfs -mkdir /user
在hdfs上创建hadoop文件夹:
bin]$ ./hdfs dfs -mkdir /user/hadoop
创建本地log文件:
bin]$ echo "123456" > rz.log
上传本地文件到hdfs:
bin]$ ./hadoop fs -put rz.log hdfs://localhost:9000/
查看hdfs里面的文件:
bin]$ ./hadoop fs -ls hdfs://localhost:9000/
或者
bin]$ ./hadoop fs -ls /
10.想要修改hdfs://localhost:9000为hdfs://IP地址:9000
停止hdfs服务:
bin]$ ../sbin/stop-dfs.sh
修改配置文件:
bin]$ vi ../etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.137.201:9000</value>
</property>
</configuration>
重新格式化:
bin]$ ./hdfs namenode -format
启动hdfs服务:
bin]$ ../sbin/start-dfs.sh
namenode(名称节点) : 主机名(admin)
datanode(数据节点) : localhost:
secondary namenode(第二名称节点) : 0.0.0.0
查看端口文件是否启动:
bin]$ netstat -nlp|grep 9000
Hadoop伪分布式模式部署
最新推荐文章于 2021-12-03 00:54:44 发布