-安装步骤说明:
1、安装jdk的操作
1-1 检查centos6.8自带的jdk
1-2 卸载自带的jdk(使用root帐号)
1-3 解压缩jdk(root帐号)
1-4 配置环境变量
1-5 检查jdk是否生效
2、配置ssh免密登录
2-1 为什么需要配置ssh免密登录:
2-2 安装ssh
2-3 验证ssh是否安装成功
2-4 生成公钥和私钥
2-5 复制公钥并改名
2-6 验证SSH免密是否生效
3、安装hadoop伪分布式环境
3-1 官网下载
3-2 解压缩
3-3 修改配置文件hadoop-env.sh
3-4 修改配置文件core-site.xml
3-5 修改配置文件 hdfs-site.xml
3-6 启动hdfs/停止hdfs
1)格式化文件系统(仅第一次需要执行)
2)启动文件系统
3)验证是否启动成功,两种方式:--jps方式验证 --浏览器访问验证
--开始操作--:
1、安装jdk的操作
1-1 检查centos6.8自带的jdk
使用的hadoop帐号,赋予管理员权限 [root@sf hadoop]# usermod -G root hadoop
#查询版本 [hadoop@sf package]$ java -version java version "1.7.0_99" OpenJDK Runtime Environment (rhel-2.6.5.1.el6-x86_64 u99-b00) OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode) #查询文件全名 [hadoop@sf package]$ rpm -qa | grep java tzdata-java-2016c-1.el6.noarch java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64 java-1.6.0-openjdk-1.6.0.38-1.13.10.4.el6.x86_64
1-2 卸载自带的jdk(使用root帐号)
[root@sf package]# rpm -e --nodeps tzdata-java-2016c-1.el6.noarch [root@sf package]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64 [root@sf package]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.38-1.13.10.4.el6.x86_64 [root@sf package]# rpm -qa | grep java [root@sf package]#
1-3 解压缩jdk(root帐号)
##解压缩 [root@sf app]# tar -zxvf jdk-8u131-linux-x64.tar.gz ##移动到自己的应用路径下 [root@sf package]# mv jdk1.8.0_131 /home/hadoop/app/
1-4 配置环境变量
[root@sf jdk1.8.0_131]# pwd /home/hadoop/app/jdk1.8.0_131 [root@sf jdk1.8.0_131]# vim /etc/profile ## /etc/profile里面添加的内容 export JAVA_HOME=/home/hadoop/app/jdk1.8.0_131 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=$JAVA_HOME/lib/:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH #操作提示:光标处插入 i,保存退出 ctrl+c,:wq,退出 :q ,强制退出 !q #执行配置文件使生效 [root@sf jdk1.8.0_131]# source /etc/profile
1-5 检查jdk是否生效
[root@sf jdk1.8.0_131]# java -version java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode) [root@sf jdk1.8.0_131]#
liunx中jdk安装结束。
2、配置ssh免密登录
2-1 为什么需要配置ssh免密登录:
2-2 安装ssh
#yum在线安装ssh [hadoop@sf app]$ sudo yum install ssh
2-3 验证ssh是否安装成功
[hadoop@sf app]$ ssh -version OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013 Bad escape character \'rsion\'. [hadoop@sf app]$
2-4 生成公钥和私钥
[hadoop@sf app]$ ssh-keygen -t rsa
注意:1、ssh和-keygen之间不能有空格 2、使用的不是root帐号
2-5 复制公钥并改名
在帐号所在的目录下面会生成一个.ssh文件,使用ll -la 或者ls -l可以看到
[hadoop@sf ~]$ cd .ssh [hadoop@sf .ssh]$ ll 总用量 8 -rw-------. 1 hadoop hadoop 1675 5月 31 22:38 id_rsa -rw-r--r--. 1 hadoop hadoop 391 5月 31 22:38 id_rsa.pub [hadoop@sf .ssh]$ pwd /home/hadoop/.ssh [hadoop@sf .ssh]$ cp id_rsa.pub authorized_keys [hadoop@sf .ssh]$
2-6 验证SSH免密是否生效
使用命令 ssh localhost 登入账户,需要密码
exit退出
然后ssh localhost 再登录的时候,不用输入密码,表示成功
注意:可能出现的问题:
@1、执行安装ssh的时候,提示:hadoop 不在 sudoers 文件中。此事将被报告。
解决方法:
使用root帐号打开/etc/sudoers,或者直接使用命令visudo
[root@sf hadoop]# visudo
3、安装hadoop伪分布式环境
3-1 官网下载
3-2 解压缩
[hadoop@sf package]$ ll 总用量 507672 drwxr-xr-x. 14 1106 4001 4096 3月 24 2016 hadoop-2.6.0-cdh5.7.0 -rw-r--r--. 1 root root 311585484 5月 31 20:32 hadoop-2.6.0-cdh5.7.0.tar.gz -rw-r--r--. 1 root root 185540433 5月 31 20:34 jdk-8u131-linux-x64.tar.gz -rw-r--r--. 1 root root 22724574 5月 31 20:31 zookeeper-3.4.9.tar.gz [hadoop@sf package]$ pwd /home/hadoop/package [hadoop@sf package]$ [hadoop@sf package]$ sudo tar -zxvf hadoop-2.6.0-cdh5.7.0.tar.gz [hadoop@sf package]$ sudo mv hadoop-2.6.0-cdh5.7.0 /home/hadoop/app
3-3 修改配置文件hadoop-env.sh
文件位置: /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/hadoop-env.sh
[hadoop@sf hadoop]$ pwd /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop [hadoop@sf hadoop]$ echo $JAVA_HOME /home/hadoop/app/jdk1.8.0_131 [hadoop@sf hadoop]$ sudo vim hadoop-env.sh
修改后:
3-4 修改配置文件core-site.xml
文件位置: /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/core-site.xml
查看本机hostname是否在hosts中,如果没有就添加进来,然后重启网络服务(root账户或者sudo权限)
#查看 [hadoop@sf ~]$ hostname sf [hadoop@sf ~]$ cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 [hadoop@sf ~]$
#vim /etc/hosts 127.0.0.1 sf localhost localhost.localdomain localhost4 localhost4.localdomain4 192.168.244.130 sf localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 sf
修改文件core-site.xml
[hadoop@sf hadoop]$ sudo vim core-site.xml #重启网络服务 [root@sf hadoop]# /etc/rc.d/init.d/network restart
目的:配置映射和临时存储文件目录
<configuration> <property> <name>fs.defaultFSname> <value>hdfs://192.168.244.130:8020value> property> <property> <name>hadoop.tmp.dirname> <value>/home/hadoop/app/tmpvalue> property> configuration>
注意 /home/hadoop/app/tmp 这里tmp目录自己新建
3-5 修改配置文件 hdfs-site.xml
文件位置: /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/hdfs-site.xml
作用:本地伪分布式,学习使用,不必3个副本,一个就够。
[hadoop@sf hadoop]$ sudo vim hdfs-site.xml
3-6 启动hdfs/停止hdfs
1)格式化文件系统(仅第一次需要执行)
[hadoop@sf bin]$ pwd /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/bin [hadoop@sf bin]$ sudo ./hdfs namenode -format
2) 启动文件系统
[hadoop@sf sbin]$ pwd /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/sbin [hadoop@sf sbin]$ sudo ./start-dfs.sh #停止 /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/sbin sudo ./stop-dfs.sh
3)验证是否启动成功:两种方式
--jps方式验证
--jps验证 [root@sf sbin]# jps 33911 Jps 32856 SecondaryNameNode 32589 NameNode 32703 DataNode [root@sf sbin]#
注意:很奇怪的问题,使用root帐号的时候,执行jps可以看见这些节点,
使用hadoop帐号的时候,就看不到。
如果有问题,查看tmp中的error
--浏览器访问验证
http://192.168.244.130:50070/
注意:此过程中容易出现的问题:
@1、格式化的时候提示:
SHUTDOWN_MSG: Shutting down NameNode at localhost/127.0.0.1
不用处理
@2、启动的时候提示:
18/06/01 00:15:49 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
不用处理:没有编译的hadoop都这样,不影响使用
@3、配置ssh免密码登录后,仍提示输入密码
启动/停止的时候需要各种密码,甚是烦人----原因:ssh配置不正确
[hadoop@sf ~]$ sudo vim /etc/selinux/config #SELINUX=enforcing 改成 SELINUX=disabled #权限问题? drwx------. 2 hadoop hadoop 4096 5月 31 22:44 .ssh -rw-r--r--. 1 hadoop hadoop 391 5月 31 22:43 authorized_keys /home/hadoop/.ssh [root@sf .ssh]# chmod 600 authorized_keys -rw-------. 1 hadoop hadoop 391 5月 31 22:43 authorized_keys
@4、浏览器访问不了
原因:关闭网络防火墙
方法:临时关闭
[root@sf test]# service iptables stop
@5、外部浏览器上使用ip可以访问,但是主机名不行
原因:ip可以ping通,vm和电脑是可以通信的,但是电脑的hosts里面没有配置vm的hostname,自然无法访问
@6、hadoop启动的时候需要输入密码(一般帐号和root账户都需要)