一、准备linux环境
1、更改VMware适配器设置
由于是在单机环境下进行学习的,因此选择适配器模式是host-only模式,如果想要联网,可以选择桥接模式,配置的方式差不多。
点击VMware快捷方式,右键打开文件所在位置 -> 双击vmnetcfg.exe -> VMnet1 host-only ->修改subnet ip 设置网段:192.168.85.0 子网掩码:255.255.255.0 -> apply -> ok
回到windows --> 打开网络和共享中心 -> 更改适配器设置 -> 右键VMnet1 -> 属性 -> 双击IPv4 -> 设置windows的IP:192.168.85.100 子网掩码:255.255.255.0 -> 点击确定
在虚拟软件上 --My Computer -> 选中虚拟机 -> 右键 -> settings -> network adapter -> host only -> ok
2、修改主机名
在linux命令窗口敲入以下命令
vim /etc/sysconfig/network
修改主机名(带#号的为必须修改项)
NETWORKING=yes HOSTNAME=hucc01 ###
3、修改ip
修改ip有三种方式:
第一种:通过Linux图形界面进行修改(比较简单)
进入Linux图形界面 -> 右键点击右上方的两个小电脑 -> 点击Edit connections -> 选中当前网络System eth0 -> 点击edit按钮 -> 选择IPv4 -> method选择为manual -> 点击add按钮 -> 添加IP:192.168.85.11 子网掩码:255.255.255.0 网关:192.168.85.1 -> apply
第二种:通过Linux命令窗口进行修改(难度适中)
进入linux命令窗口,输入以下命令
setup
选择网络配置 -> 设备配置 -> etho -> 配置好相对应静态IP、子网掩码、默认网关IP等信息即可。
第三种:修改配置文件方式(程序猿专用,一般人不会)(带#号的为必须修改项)
在linux命令窗口敲入以下命令
vim /etc/sysconfig/network
修改ip信息
DEVICE="eth0" BOOTPROTO="static" ### HWADDR="00:0C:29:3C:BF:E7" IPV6INIT="yes" NM_CONTROLLED="yes" ONBOOT="yes" TYPE="Ethernet" UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c" IPADDR="192.168.85.11" ### NETMASK="255.255.255.0" ### GATEWAY="192.168.85.1" ###
4、修改主机名与IP的映射关系
在linux命令窗口敲入以下命令
vim /etc/hosts
修改映射关系,添加如下内容
192.168.1.44 hucc01
5、关闭防火墙
#查看防火墙状态
service iptables status
#关闭防火墙
service iptables stop
#查看防火墙开机启动状态
chkconfig iptables --list
#关闭防火墙开机启动
chkconfig iptables off
6、重启linux
reboot
二、安装jdk
1、卸载centerOS自带的openJDK
如果不卸载centerOS自带的openJDK,那么自己安装jdk1.7.0_55将不会生效。
java -version
查看当前的java版本
rpm -qa | grep jdk
查看centerOS上所有的openJDK版本
逐个删除即可
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.i686 rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.i686
再次查看centerOS上所有的openJDK版本
rpm -qa | grep jdk
如果没有内容则删除成功了
2、下载并上传jdk
到oracle官网下载jdk的linux版本,我下载的是jdk-7u55-linux-i586.tar.gz。
使用SecureFX将压缩包上传到linux上。
3、解压jdk
#创建文件夹
mkdir /usr/local/src
#解压
tar -zxvf jdk-7u55-linux-i586.tar.gz -C /usr/local/src/
4、将java添加到环境变量中
vim /etc/profile
#在文件最后添加
export JAVA_HOME=/usr/local/src/jdk1.7.0_55 export PATH=$PATH:$JAVA_HOME/bin
#刷新配置
source /etc/profile
三、安装hadoop
1、下载并上传hadoop安装包
从官网http://archive.apache.org/dist/下载hadoop-2.2.0.tar.gz压缩包
使用SecureFX将压缩包上传到linux上
2、解压hadoop
#解压
tar -zxvf hadoop-2.2.0.tar.gz -C /usr/local/src/
3、修改配置文件(一共5个)
(1)修改hadoop-env.sh
vim /usr/local/src/hadoop-2.2.0/etc/hadoop/hadoop-env.sh
设置vim带行号
:set nu! #带行号
#在27行修改
export JAVA_HOME=/usr/local/src/jdk1.7.0_55
(2)修改core-site.xml
vim /usr/local/src/hadoop-2.2.0/etc/hadoop/core-site.xml
在<configuration>标签对中添加如下信息
<!-- 指定HDFS老大(namenode)的通信地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://hucc01:9000</value> </property> <!-- 指定hadoop运行时产生文件的存储路径 --> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/src/hadoop-2.2.0/tmp</value> </property>
(3)修改hdfs-site.xml
vim /usr/local/src/hadoop-2.2.0/etc/hadoop/hdfs-site.xml
在<configuration>标签对中添加如下信息
<!-- 设置hdfs副本数量 --> <property> <name>dfs.replication</name> <value>1</value> </property>
(4)修改mapred-site.xml
在/usr/local/src/hadoop-2.2.0/etc/hadoop/目录下并没有mapred-site.xml文件,但是有一个mapred-site.xml.template文件,因此需要将mapred-site.xml.template重命名成mapred-site.xml。
cd /usr/local/src/hadoop-2.2.0/etc/hadoop/ mv mapred-site.xml.template mapred-site.xml vim mapred-site.xml
在<configuration>标签对中添加如下信息
<!-- 通知框架MR使用YARN --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
(5)修改yarn-site.xml
vim yarn-site.xml
在<configuration>标签对中添加如下信息
<!-- reducer取数据的方式是mapreduce_shuffle --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>
4、将hadoop添加到环境变量
vim /etc/profile
#修改profile的内容
export JAVA_HOME=/usr/local/src/jdk1.7.0_55 export HADOOP_HOME=/usr/local/src/hadoop-2.2.0 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
#刷新配置
source /etc/profile
5、格式化HDFS(namenode)
第一次使用时要格式化
hadoop namenode -format
6、启动hadoop
cd /usr/local/src/hadoop-2.2.0/sbin/ sh start-all.sh
启动过程中需要多次输入yes和你linux登陆口令
7、验证hadoop是否安装成功
jps
如果出现这样的界面,那么恭喜你,你的hadoop伪分布式搭建成功了!
也可以用浏览器访问:http://192.168.85.11:50070 (HDFS管理界面) http://192.168.85.1:8088 (MR管理界面)
如果嫌输入ip麻烦,也可以修改windows的hosts配置文件
在这个文件中添加linux主机名和IP的映射关系
在C:\Windows\System32\drivers\etc\hosts文件中添加
192.168.85.11 hucc01
之后可以用浏览器访问:http://hucc01:50070 (HDFS管理界面)
http://hucc01:8088 (MR管理界面)
四、配置ssh免登陆
1、生成ssh免登陆密钥
#进入根目录
cd
#查看隐藏文件
ls -la
你会发现有一个.ssh的文件夹
#进入.ssh文件夹
cd .ssh
#生成秘钥,需要按4次回车
ssh-keygen -t rsa
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
2、将公钥拷贝到要免登陆的机器上
#将公钥拷贝到需要免登陆的机器上(需要输入一次密码)
ssh-copy-id -i 192.168.85.11
3、测试ssh免登陆是否成功
#关闭hadoop
cd /usr/local/src/hadoop-2.2.0/sbin/ sh stop-all.sh
本来关闭hadoop也需要密码的,如果你没有输入密码就关闭成功了,那么,恭喜你,你的ssh免登陆也配置成功了!
如果不放心,你还可以尝试再次启动hadoop,你会发现还是不需要密码就启动成功了。
五、总结
总的来说,感觉hadoop的伪分布式搭建并不算难,难的是不知道如何入门,如何下手,大数据总给我一种很神秘的感觉,就让我通过博客的方式将这神秘的面纱一层一层的揭开把。fighting!