Hadoop2.X配置管理1-HDFS安装配置单机版
HDFS:分布式文件系统(Hadoop Distributed File System)的缩写,是大数据分析中对文件的分布式存储的基础支持。这里主机价绍单机部署HDFS系统的安装与配置步骤,用以指导初学者了解。1.系统环境及要求硬件:以一台双核2G虚拟机系统:CentOS 6.3 64bitJDK: JDK 7(hadoop 2.7.3最低要求1.7,不支持1.6)
·
HDFS:分布式文件系统(Hadoop Distributed File System)的缩写,是大数据分析中对文件的分布式存储的基础支持。这里主机价绍单机部署HDFS系统的安装与配置步骤,用以指导初学者了解。
硬件:以一台双核2G虚拟机
系统:CentOS 6.3 64bit
JDK: JDK 7(hadoop 2.7.3最低要求1.7,不支持1.6)
2.文件下载:
HDFS是HADOOP平台的一个子系统,需要把整个hadoop下载下来,只需配置启动HDFS子系统便可。
HADOOP的历史版本列表网址:http://hadoop.apache.org/releases.html
下载地址:http://apache.fayea.com/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz
3.安装:
创建hadoop用户组:
[root@saos ~]# groupadd add
创建hadoop用户:
[root@saos ~]# useradd -g hadoop -m -d /home/hadoop -s /bin/bash
给hadoop用户添加Root权限(超级用户):
给/etc/sudoers设置可修改:
[root@saos ~]# chmod +w /etc/sudoers
[root@saos ~]# vi /etc/sudoers
找到如下如示,增加hadoop那一行:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL
切换到hadoop用户下:
[root@saos ~]# passwd hadoop "回车后输和两次密码"
切换到hadoop目录下:
[root@saos ~]# su - hadoop
把下载的文件上传到hadoop目录下。
将文件解压到"/usr/local"目录下,如hadoop用户没有写权限就修改一下。
然后将文件夹列名为hadoop。
回到hadoop的HOME目录,配置环境变量:
[root@saos ~]# vi .bashrc
export JAVA_HOME=/usr/local/jdk1.7.0_80
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/usr/local/hadoop
export PATH=${PATH}:${HADOOP_HOME}/sbin:${HADOOP_HOME}/bin
配置如上内容。保存退出。重新登录使环境变量生效
3.配置:
HADOOP的配置文件目录:
/usr/local/hadoop/etc/hadoop
(1)修改core-site.xml,增加如下内容:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop/data</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://saos:9000</value> “saos为主机名,9000为api服务的端口”
</property>
</configuration>
(2)修改hdfs-site.xml,增加如下内容:
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/hadoop/hdfs/name</value> “文件的保存路径,需要手机创建好”
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/hadoop/hdfs/data</value> “文件的保存路径,需要手机创建好”
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name> “不配置这个时,JAVA远程调用时会报没有权限接口”
<value>false</value>
</property>
</configuration>
(3)修改mapred-site.xml,修改成如下内容:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
4、配置好了hdfs的两个程序的配置,接下来就可以启动进程了,首先要执行HDFS的格式化操作:
[hadoop@saos hadoop]$ ./bin/hadoop namenode -format
执行完成之后,配置的namenode目录下会出现一些文件。
5、启动进程:
分别要启动namenode、datanode
./sbin/hadoop-daemon.sh start namenode
./sbin/hadoop-daemon.sh start datanode
查看启动的java进程可以看到,他们都分别启动了:
[hadoop@saos hadoop]$ jps
22735 NameNode
26819 Jps
22825 DataNode
HDFS支持SHELL的command和JAVA API两种方式访问。java api需要代码才能示范,这里简单说明下SHELL的command的使用方式。
HDFS的命令模式为:
hadoop fs -“操作命令”
如:
[hadoop@saos hadoop]$ hadoop fs -ls / “/表求hdfs的根目录下,是ls命令的一个参数”
Found 2 items
drwxr-xr-x - hadoop supergroup 0 2016-12-26 23:21 /flume
drwxr-xr-x - hadoop supergroup 0 2016-12-26 19:23 /hadoop
使用这个命令时,如果hdfs下没有创建过目录或文件时,则会报如下告警:
ls: `.': No such file or directory
这里不用管理,创建文件和目录后就不会再报了。
查文件使用请况:
[hadoop@saos hadoop]$ hadoop fs -df -h
Filesystem Size Used Available Use%
hdfs://saos:9000 17.1 G 14.7 M 13.6 G 0%
创建目录:
[hadoop@saos hadoop]$ hadoop fs -mkdir /test1
写入文件:
[hadoop@saos hadoop]$ hadoop fs -put LICENSE.txt /test1
下载文件:
[hadoop@saos hadoop]$ hadoop fs -get /test1/LICENSE.txt
hadoop fs -ls /
hadoop fs -lsr
hadoop fs -mkdir /flume
hadoop fs -put test.txt /flume
hadoop fs -get /flume/test.txt
hadoop fs -cp src dst
hadoop fs -mv src dst
hadoop fs -cat /flume/test.txt
hadoop fs -rm /flume/test.txt
hadoop fs -rmr /flume/test.txt
hadoop fs -text /flume/test.txt
hadoop fs -copyFromLocal localsrc dst 与hadoop fs -put功能类似。
hadoop fs -moveFromLocal localsrc dst 将本地文件上传到hdfs,同时删除本地文件。
lhadoop fsadmin
hadoop dfsadmin -report
hadoop dfsadmin -safemode enter | leave | get | wait
hadoop dfsadmin -setBalancerBandwidth 1000
更多推荐
已为社区贡献2条内容
所有评论(0)