1 准备Linux环境
1.修改主机名称
vi /etc/sysconfig/network
NETWORK=yes
HOSTNAME=www.hadoopone.com
centos7 修改主机名
hostnamectl set-hostname www.hadoopone.com
--修改完成主机名称之后要重启才能生效
2.修改IP地址
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.80.128
NETMASK=255.255.255.0
GETWAY=192.168.80.1
DNS1=114.114.114.114
DNS2=8.8.8.8
3.重启网络
service network restart
4.配置主机名和IP地址的映射关系
vi/etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1
localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.80.128 www.hadoopone.com
5.关闭防火墙
service iptables status
service iptables stop
6.设置防火墙开机不启动
chkconfig iptables --list
chkconfig iptables off
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。
6. 上传JDK
mkdir /usr/java
7.解压JDK
tar -zxvf jdk-8u121-linux-i586.tar.gz -C /usr/java
-z 有gzip属性的
-x 解压
-v 显示所有过程
-f 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名
-C 大C参数很有用,改变文件目录,多层时用
8.配置环境变量
vi /etc/profile
export
JAVA_HOME=/usr/java/jdk1.8.0_111
export
PATH=$PATH:$JAVA_HOME/bin
当环境变量配置成PATH=$JAVA_HOME/bin时,会导致所有的命令不可用(ls,vi等)
解决方法:使用Vi编辑器命令所在的绝对路径对profile文件进行编辑
/bin/vi /etc/profile
9.刷新环境变量的配置文件-profile
source /etc/profile
10.验证JDK是否安装成功
错误:-bash: /usr/java/jdk1.8.0_121/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
原因:操作系统是64的,下载了32位的JDK
错误 :-bash: ls: command not found
环境变量文件出问题
解决办法:登录到虚拟机,修改环境变量配置文件
11.删除错误的jdk安装目录
rmdir 目录非空,就陷入深深的苦恼之中。
rm -rf 命令:
直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字
-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思
12.上传
hadoop安装包
mkdir /bigdata
13.解压hadoop安装包
tar -zxvf hadoop-2.6.5.tar.gz -C /bigdata/
14.在hadoop安装目录下有几个比较重要的目录
sbin: 启动活停止hadoop相关服务的脚本
bin: 对hadoop相关服务(HDFS,YARN)进行操作的脚本
etc:hadoop的配置文件目录
share:hadoop的依赖jar包和文档,文档可以被删除
lib:hadoop的本地库(对数据库进行压缩解压缩功能的)
15.配置hadoop(伪分布式),修改其中的5个配置文件即可
/bigdata/hadoop-2.6.5/etc/hadoop
ESC : set nu 显示文件行号
1 hadoop-env.sh hadoop环境相关的配置文件
vi hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_121
2 core-site.xml hadoop核心配置文件,会覆盖默认的配置文件的属性core-default.xml
vi core-site.xml
fs.defaultFS
可以写主机名和IP地址,
hdfs://www.hadoopone.com:9000
hadoop.tmp.dir
/bigdata/tmp
3 hdfs-site.xml
dfs.replication
1
4 mapred-site.xml.template
重命名文件 mv mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
mapreduce.framework.name
yarn
5 yarn-site.xml
vi yarn-site.xml
yarn.resourcemanager.hostname
www.hadoopone.com
yarn.nodemanager.aux-services
mapreduce_shuffle
16 初始化HDFS(格式化HDFS) 格式化namenode
cd /bigdata/hadoop-2.6.5/bin
./hdfs namenode -format
格式化成功:Storage directory /bigdata/tmp/dfs/name has been successfully formatted.
jps查看java进程状态
17 启动HDFS服务
需要切换到hadoop-2.6.5目录下:
--sbin/start-all.sh(hdfs,yarn)
sbin/start-dfs.sh(hdfs,yarn)
启动成功之后有四个进程
DataNode
NameNode
SecondaryNameNode
浏览器访问
192.168.3.111:50070有正常显示,这hdfs启动成功
18 启动yarn服务
需要切换到hadoop-2.6.5目录下:
sbin/start-yarn.sh
ResourceManager
NodeManager
浏览器访问
192.168.3.111:8088有正常显示,这hdfs启动成功
NameNode HDFS 老大 管理整个文件系统
DateNode HDFS 小弟
SecondaryName NameNode助理 帮助NameNode同步源数据
ResourceManager yarn老大
NodeManager yarn 的小组长
19 配置hosts文件
20 在one上面通过ssh命令在two上面创建文件夹
ssh
[email protected] mkdir /Two
密码输入正确之后,还在one主机
21 免密登录
ssh-copy-id
[email protected]
报错:/usr/bin/ssh-copy-id: ERROR: No identities found
原因:one服务器没有生成公钥和私钥
生成:ssh-keygen -t rsa
查看: cd ~/.ssh ls
ssh-copy-id
[email protected]
查看是否拷贝成功:
进入two服务器的(~)目录下
使用ls -la 查看是否有 .ssh
如果有进入.ssh目录
cd .ssh/
cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAx/64Pa/dPDWHtfza0s4VhlFlsJrYldMW+EbFxIAq/FtxsE/N28863Og4DmuiLD/p/j3bl+eyz0xztr9kz80iOW1rNWW7RchITR0jlKIgKQX3EQQQi4OtQXja9pZQ28zEiIyfJOD07KGhEBeFCcvXDx0985RBeYhAgFm86xxW48CVnRHsAJpmU3us5u5c8A709Y0O9X7yzPA1LRAxySCh/ar0eBUQNJktaTKg/PBTgJdJ/AqMsXzJsOMO/wBv5kB0YYCmJbzWaU06Yi2N8RnO6/wfc4lZAAb4R71vCflh+0rgglSLXHoV5Ejl61WtzUOBTeJyWzDqXCEkj2WFB9Qi4Q==
[email protected]
有www.hadoopone.com显示成功
查看one服务器的keys:
进入two服务器的(~)目录下
cd .ssh ls
cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAx/64Pa/dPDWHtfza0s4VhlFlsJrYldMW+EbFxIAq/FtxsE/N28863Og4DmuiLD/p/j3bl+eyz0xztr9kz80iOW1rNWW7RchITR0jlKIgKQX3EQQQi4OtQXja9pZQ28zEiIyfJOD07KGhEBeFCcvXDx0985RBeYhAgFm86xxW48CVnRHsAJpmU3us5u5c8A709Y0O9X7yzPA1LRAxySCh/ar0eBUQNJktaTKg/PBTgJdJ/AqMsXzJsOMO/wBv5kB0YYCmJbzWaU06Yi2N8RnO6/wfc4lZAAb4R71vCflh+0rgglSLXHoV5Ejl61WtzUOBTeJyWzDqXCEkj2WFB9Qi4Q==
[email protected]
显示免密登录配置成功
22 列出HDFS跟目录下的所有文件
hdfs dfs -ls hdfs://www.hadoopone.com:9000/
hdfs dfs -ls /
22 上传整个文件夹
hdfs dfs -put news /
hdfs dfs -rmr aaa.txt 删除
23 上传文件权限不足
错误:Permission denied: user=hadoop, access=WRITE, inode="/":root:supergroup:drwxr-xr-x
修改文件:haoop 配置文件中hdfs-site.xml 中设置权限为false
dfs.replication
1
dfs.permissions.enabled
false
24 上传中报错:could only be replicated to 0 nodes instead of minReplication
原因:由于上次运行其它版本的Hadoop在/tmp/hadoop-root/dfs/data目录下有残留的不兼容的数据
解决方式 : 删除tmp/dfs/data 中的所有内容