1.JDK安装配置
之前在有篇博客是搭建apache tomcat + nutch + solr的已经讲过jdk的详细搭建,此次在这里采用第一种搭建方式,即在/etc/profile
里进行环境变量的配置。
1).JDK解压安装
我所有的软件包,全部在mac上通过terminal下的scp发送到master上了,全部放在/usr/local/src
下,如下图:
切换到root
用户,在/usr
下创建java
目录,将jdk包拷贝到java目录下,解压
mkdir /usr/java
cp /usr/local/src/jdk-8u111-linux-x64.tar.gz /usr/java #将jdk包拷贝到java目录下
tar zxvf jdk-8u111-linux-x64.tar.gz #解压jdk包
rm jdk-8u111-linux-x64.tar.gz #解压完成后,将其删除
ll #查看解压后的jdk包
即可看到如下目录
接下来为在profile
中设置环境变量
2).profile配置
打开/etc/profile
文件,在文件最后加入如下代码:
vi /etc/profile
#set java environment
export JAVA_HOME=/usr/java/jdk1.8.0_111
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
如图:
添加完成后保存退出:wq
,然后source /etc/profile
让配置生效
查看jdk是否配置成功
java -version
显示如下,表示配置成功
2.Hadoop安装配置
1).Hadoop解压安装
将/usr/local/src/hadoop-2.7.1.tar.gz
拷贝到/usr
下并将其解压,并将其分配给hadoop用户读的权限,需用root用户登录
cp /usr/local/src/hadoop-2.7.1.tar.gz /usr
tar zxvf hadoop-2.7.1.tar.gz
mv hadoop-2.7.1.tar.gz hadoop
rm hadoop-2.7.1.tar.gz
chown -R hadoop:hadoop hadoop/
2).Hadoop配置
Hadoop 所有的配置文件全部在/usr/hadoop/etc/hadoop
下,进行相应的配置时可用vi
编辑器进行打开配置。其中主要配置其中的5歌文件,如下所示:
(1).第一步,hadoop-env.sh配置
在24行
#The java implementation to use.
#export JAVA_HOME=\${JAVA_HOME}
export JAVA_HOME=/usr/java/jdk1.8.0_111
如下所示:
(2).第二步,core-site.xml配置
|
|
如图所示:
(3).第三步,hdfs-site.xml配置
|
|
如图所示:
(4).第四步,mapred-site.xml配置
需要将mapred-site.xml.template
重命名为mapred-site.xml
|
|
如图所示:
(5).第五步,yarn-site.xml配置
|
|
如图所示:
(6).第六步,slaves配置
Slave1.Hadoop
Slave2.Hadoop
如图所示
注意:slaves 文件只是在Master节点上有用,其他Slave节点没用,但复制过去时带着也无妨。
(7).第七步,profile配置Hadoop命令(可省)
#set hadoop enviroment
export HADOOP_HOME=/usr/hadoop
export PATH=\$PATH:\$HADOOP_HOME/bin
如图所示:
3).发送给所有slave节点并进行配置
先将Master配置好的各项文件发给所有的Slave,然后再单独对Slave的相关文件进行设置。
1.将Master的hosts
文件发给Slave
scp /etc/hosts root@Slave1.Hadoop:/etc/
scp /etc/hosts root@Slave2.Hadoop:/etc/
2.将Master的JDK
发给Slave
scp -r /usr/java/ root@Slave1.Hadoop:/usr/
scp -r /usr/java/ root@Slave2.Hadoop:/usr/
3.将Master的hadoop
发送给Slave
scp -r /usr/hadoop/ root@Slave1.Hadoop:/usr/
scp -r /usr/hadoop/ root@Slave2.Hadoop:/usr/
4.将Master的profile
发送给Slave
scp /etc/profile root@Slave1.Hadoop:/etc/
scp /etc/profile root@Slave2.Hadoop:/etc/
5.将Master创建的hadoop-2.7.1
目录发送到Slave
scp -r hadoop-2.7.1/ hadoop@Slave2.Hadoop:~/
6.登录所有的Slave进行配置,让profile
生效,给hadoop
文件增加hadoop用户读的权限。
source /etc/profile
su & cd /usr
chown -R hadoop:hadoop hadoop/
至此,所有的安装配置工作完成,接下来要进行验证是否配置成功。
4).启动验证
(1).格式化HDFS文件系统
在”Master.Hadoop”上使用普通用户hadoop进行操作。(备注:只需一次,下次启动不再需要格式化,只需 start-all.sh)
hadoop namenode -format
如图所示表示格式化成功:
(2).启动Hadoop
进入到cd /usr/hadoop/sbin
目录下
./start-all.sh
可以通过以下启动日志看出,首先启动namenode 接着启动datanode1,datanode2,…,然后启动secondarynamenode。再启动yarn,resourcemanager,nodemanager.
启动 hadoop成功后,在 Master 中的 tmp 文件夹中生成了 dfs 文件夹,在Slave 中的 tmp 文件夹中均生成了 dfs 文件夹和 nm-local-dir 文件夹。
(3).验证Hadoop
通过jps
查看进程
Master上查看:
jps
含有:
8515 SecondaryNameNode
8325 NameNode
9448 Jps
8667 ResourceManager
进程,如图所示,表示master运行成功。
Slave上查看:
含有:
12338 Jps
11884 NodeManager
11775 DataNode
进程,如图所示,表示slave上运行成功。
还可使用
[hadoop@Master hadoop]$ hadoop dfsadmin -report
来查看hadoop集群状态。
回到mac上打开chrome浏览器,输入10.211.55.13:8088
10.211.55.13:50070
可查看相关网页版状态。
附Hadoop shell相关命令操作:
既然 HDFS
是存取数据的分布式文件系统,那么对 HDFS
的操作,就是文件系统的基本操作,比如文件的创建、修改、删除、修改权限等,文件夹的创建、删除、重命名等。对 HDFS 的操作命令类似于Linux 的 shell对文件的操作,如 ls、mkdir、rm 等。
执行:hadoop fs
,可以查看hdfs 的指令:
选项名称 | 使用格式 | 含义 |
---|---|---|
-ls | -ls <路径> | 查看指定路径的当前目录结构 |
-lsr | -lsr <路径> | 递归查看指定路径的目录结构 |
-du | -du <路径> | 统计目录下个文件大小 |
-dus | -dus <路径> | 汇总统计目录下文件(夹)大小 |
-count | -count [-q] <路径> | 统计文件(夹)数量 |
-mv | -mv <源路径> <目的路径> | 移动 |
-cp | -cp <源路径> <目的路径> | 复制 |
-rm | -rm [-skipTrash] <路径> | 删除文件/空白文件夹 |
-rmr | -rmr [-skipTrash] <路径> | 递归删除 |
-put | -put <多个 linux 上的文件> |
上传文件 |
-copyFromLocal | -copyFromLocal <多个 linux 上的文件> |
从本地复制 |
-moveFromLocal | -moveFromLocal <多个 linux 上的文件> |
从本地移动 |
-getmerge | -getmerge <源路径> |
合并到本地 |
-cat | -cat |
查看文件内容 |
-text | -text |
查看文件内容 |
-copyToLocal | -copyToLocal [-ignoreCrc] [-crc] [hdfs 源路 径] [linux 目的路径] | 从本地复制 |
-moveToLocal | -moveToLocal [-crc] |
从本地移动 |
-mkdir | -mkdir |
创建空白文件夹 |
-setrep | -setrep [-R] [-w] <副本数> <路径> | 修改副本数量 |
-touchz | -touchz <文件路径> | 创建空白文件 |
-stat | -stat [format] <路径> | 显示文件统计信息 |
-tail | -tail [-f] <文件> | 查看文件尾部信息 |
-chmod | -chmod [-R] <权限模式> [路径] | 修改权限 |
-chown | -chown [-R] [属主][:[属组]] 路径 | 修改属主 |
-chgrp | -chgrp [-R] 属组名称 路径 | 修改属组 |
-help | -help [命令选项] | 帮助 |