首先要准备四台虚拟机:
下面安装的东西:可以在一台虚拟机上安装配置好,然后克隆:
比如:
1)做一台主机名字叫做mini1磁盘空间50G
2)配置好名称,修改好ip,关闭防火墙,安装好JDK,安装好ntp和ntpdate,安装好man
3)配置好Yum的网络源和本地源任选最好是网络源
4)修改好本地文件C:\Windows\System32\drivers\etc下的
映射配置
5)克隆出3台机器
一、安装JDK1.7
1.把压缩包解压到/opt/software/下
software目录本身是不存在的,要自己创建:mkdir /opt/software
2.配置环境变量
1)在里面加入下面两行:
2)把配置好的环境变量重新加载进入内存
3.验证jdk是否安装成功,出现下面说明成功了。
二、安装网络yum源
1.进入yum目录 cd /etc/yum.repos.d/
2. 使原有的失效 rename .repo .repo.bak ./*.repo
3. 加载阿里云yum源
4. 清空yum源缓冲流:yum clean all(防止有缓存)
5. 查看可用的yum源: yum repolist,出现下图说明yum源安装成功
三、安装并配置ntp服务器
1)安装ntp服务器
2)配置ntp
vi /etc/ntp.conf
3)启动ntp服务器
4)让mini2同步mini1的时间
ps:在ntp server上重新启动ntp服务后,ntp server自身或者与其server的同步的需要一个时间段,这个过程可能是5分钟,在这个时间之内在客户端运行ntpdate命令时会产生no server suitable for synchronization found的错
误。
5)2,3,4虚拟机开启定时任务
6)一旦服务器关停,定时服务器也会关停
四、做免秘钥登录
1.出现下图说明没有ssh
1)安装
2)做自身的免秘钥
1)ssh mini1
2)输入密码
3)exit
4)生成自身的公钥
输入上面的命令之后,然后连续按四次回车键出现下图,说明公钥 生成成功
5)将公钥发给mini1
并输入mini1的密码:
出现下图:说明发送成功
6)重新登录一下就实现了免秘钥登录
ssh mini1,出现下图说明免秘钥做成功
7)实现四台虚拟机之间可以互相免密
五、完全分布式
一、安装Hadoop
1.解压hadoop
2.修改配置文件
1)修改环境变量 vi /etc/profile
2)发给2,3,4
3)修改hadoop路径的配置文件
1)cd /opt/software/hadoop-2.7.1/etc/hadoop/
2)vi hadoop-env.sh (在里面写自己的JDK安装路径)
4)修改相同路径下的core-site.xml 和 hdfs-site.xml
1)core-site.xml
2)hdfs-site.xml
5)添加 从节点
6)分发hadoop安装包,因为已经配置完成直接分发即可,分发给2,3,4
mini2
mini3
mini4
7)创建文件夹
8)启动集群,由于集群是第一次配置,需要格式化:
hdfs namenode -format
出现下面图片,说明格式化成功,这个命令只能用一次,在公司中,集群是搭建好的,千万不要用这句话
9)开启集群
start-dfs.sh 开启集群
stop-dfs.sh 关闭集群
单个角色启动:
hadoop-daemon.sh start namenode 或是 datanode 或者Secondarynamenode
直接杀死角色 kill -9 进程id
查看hadoop进程 jps
10)出现下面的界面算是配置成功了
mini1中:
mini2中:
mini3中:
mini4中:
这样就对了。
六、WebUI界面
输入:mini1:50070 进入到这个界面,代表配置成功。
七、HDFS的Shell命令
1.向HDFS上传文件
hdfs dfs -put 本地文件路径 HDFS文件系统路径
2.将HDFS文件系统中的文件下载回来
hdfs dfs -get HDFS文件系统路径 本地文件系统路径
ps:HDFS有一个和put和get类似的方法,
put-----copyFromLocal
get-----copyToLocal
3.查看文件系统中的文件内容
cat:查看HDFS文件系统中的内容
hdfs dfs -cat HDFS文件系统中文件的路径
ps:不要查看非文件
在查看文件的同时追加文件到本地路径
4.HDFS文件系统中进行复制操作
cp:将HDFS文件系统中的文件进行复制,复制到HDFS系统中
hdfs dfs -cp 源HDFS文件系统中的文件路径 目标HDFS文件系统中的路径
5.HDFS文件系统中的文件进行移动操作
mv:将源文件移动目标路径,这个命令允许有多个源路径,此时目标路径必须是一个文件夹 (目录)不允许不同的文件系统互相移动文件
hdfs dfs -mv 源HDFS系统中的文件路径 目标HDFS文件系统中的路径
相当于剪切
6.查看文件系统中系统文件的大小
hdfs dfs -du HDFS文件系统中路径中的一个文件
7.在HDFS系统中创建文件夹
mkdir 创建文件夹
hdfs dfs -mkdir HDFS文件系统中的路径
创建多个文件夹添加 -p 就是多个文件夹
8.查看HDFS文件系统下的所有文件
hdfs dfs -ls HDFS文件系统路径
9.删除HDFS文件系统中的目录或文件
ps:只能是单个文件或空目录
hdfs dfs -rm HDFS文件系统路径
若参数文件夹中有多个文件 加-r
hdfs dfs -rm -r HDFS文件系统路径
10.更改文件的权限
hdfs dfs -chmod -R 权限值 HDFS文件系统路径下的文件夹
ps:并且文件夹下的所有子文件和文件夹都会被修改
11.回收站
Hadoop回收站trash,默认会关闭的,建议开启,
在core-site.xml中添加
hdfs dfs -chmod -R 777 /user
hdfs dfs -mv HDFS文件系统中回收站的路径下的文件 HDFS文件系统路径
清空回收站 hdfs dfs -rm -r HDFS文件系统中回收站的路径
例如:hdfs dfs -rm -r /user/root/.Trash