1.伪分布式的安装
1.1 修改ip
(1)打开VMWare或者VirtualBox的虚拟网卡
(2)在VMWare或者VirtualBox设置网络连接方式为host-only
(3)在linux中,修改ip。有上角的图标,右键,选择Edit Connections....
****ip必须与windows下虚拟网卡的ip在同一个网段,网关必须是存在的。
(4)重启网卡,执行命令service network restart
****报错,如no suitable adapter错误,
(5)验证:执行命令ifconfig
1.2 关闭防火墙
(1)执行命令:service iptables stop 关闭防火墙
(2)验证:执行命令service iptables status
1.3 关闭防火墙的自动开启
(1)执行命令chkconfig iptables off
(2)验证:执行命令chkconfig --list|grep iptables
1.4 修改hostname
(1)执行命令hostname master 修改会话中的hostname
(2)验证:执行命令hostname
(3)执行命令vi /etc/sysconfig/network
修改文件中的hostname: HOSTNAME=master
(4)验证:执行命令reboot -h now 重启机器
1.5 设置ip与hostname绑定
(1)执行命令vi /etc/hosts
在文本最后增加一行192.168.80.100 master
(2)验证:ping master
(3)在window中配置:主机名对应的ip
C:\Windows\System32\drivers\etc\hosts
192.168.80.100 master
1.6 ssh免密码登陆
(1)执行命令ssh-keygen -t rsa (然后一路Enter) 产生秘钥位于/root/.ssh/
(2)执行命令cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys 产生授权文件
(3)验证:ssh localhost (ssh 主机名)
1.7 安装jdk
(1)使用winscp把jdk、hadoop复制到linux的/home/big_data/zip
(2)cp /home/big_data/zip/* /home/big_data/
(3)cd /home/big_data
(4)tar -zxvf jdk-7u60-linux-i586.tar.gz
(5)重命名 mv jdk1.7.0_60 jdk
(6)执行命令 vi /etc/profile 设置环境变量
增加两行
export JAVA_HOME= /home/big_data/jdk export PATH=.:$JAVA_HOME/bin:$PATH
保存退出
执行命令 source /etc/profile
(7)验证:执行命令java -version
1.8 安装hadoop
(1)执行命令 tar -zxvf hadoop-1.2.1.tar.gz 解压缩
(2)执行命令 mv hadoop-1.2.1 hadoop
(3)执行命令 vi /etc/profile 设置环境变量
增加一行 export HADOOP_HOME=/home/big_data/hadoop
修改一行 export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
保存退出
执行命令 source /etc/profile
(4)验证:执行命令 hadoop
(5)修改位于conf/的配置文件hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml
<1>文件hadoop-env.sh的第9行(指定jdk的安装路径)
export JAVA_HOME=/home/big_data/jdk/
<2>文件core-site.xml (hadoop的核心配置文件,用于配置namenode的地址和端口)
<configuration> <property> <name>fs.default.name</name> <value>hdfs://master:9000</value> <description>change your own hostname</description> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/big_data/hadoop/tmp</value> </property> </configuration>
<3>文件hdfs-site.xml (配置replication,即数据保存份数)
<configuration> <property> <name>dfs.replication</name> #表示设置副本数,默认是3 <value>1</value> </property> <property> <name>dfs.name.dir</name> # 先创建 mkdir -p /home/big_data/hadoop/hdfs <value>/home/big_data/hadoop/hdfs/name</value> </property> <property> <name>dfs.data.dir</name> <value>/home/big_data/hadoop/hdfs/data</value> </property> <property> <name>dfs.permissions</name> #表示是否设置权限控制 <value>false</value> </property> </configuration>
如果是super-user(超级用户),它是nameNode进程的标识。系统不会执行任何权限检查
<4>文件mapred-site.xml (配置jobtracker的地址和端口)
<configuration> <property> <name>mapred.job.tracker</name> <value>master:9001</value> <description>change your own hostname</description> </property> </configuration>
(6)执行命令 hadoop namenode -format 进行格式化 (格式化hadoop的文件系统HDFS)
如果报错:
[root@master hdfs]# hadoop namenode -format
14/07/18 05:25:26 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = master/192.168.80.100
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 1.2.1
STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152; compiled by 'mattf' on Mon Jul 22 15:23:09 PDT 2013
STARTUP_MSG: java = 1.7.0_60
************************************************************/
Re-format filesystem in /home/big_data/hadoop/hdfs/name ? (Y or N) n
Format aborted in /home/big_data/hadoop/hdfs/name
14/07/18 05:25:31 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at master/192.168.80.100
************************************************************/
请先删除 rm -rf /home/big_data/hdfs/*
(7)执行命令 start-all.sh 启动hadoop
(8)验证:
<1>执行命令jps 查看java进程,发现5个进程,分别是NameNode、SecondaryNameNode、DataNode、JobTracker、TaskTracker
<2>通过浏览器查看:http://master:50070 和 http://master:50030
*****修改windows的C:/Windows/system32/drivers/etc/目录下的hosts文件
1.9如果去掉警告提示:
[root@cloud4 ~]# hadoop fs -ls /
Warning: $HADOOP_HOME is deprecated.(去掉警告)
方法如下:
[root@cloud4 ~]# vi /etc/profile (添加一句话)
# /etc/profile
export HADOOP_HOME_WARN_SUPPRESS=1
export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/usr/local/hadoop
export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
[root@cloud4 ~]# source /etc/peofile (立即生效)
先来爽一把,代码测试:
mkdir input
cp conf/* input/
bin/hadoop jar hadoop-examples-1.2.1.jar wordcount file:////home/big_data/hadoop/input output
hadoop fs -cat output/p*
好了,看到这个结果,你可以笑一把,期待我们下一章博客的到来吧???
哈哈
------------------------------------------------------------------------------------------------------------
本文author:数据的开拓者成员之一 江中炼
QQ群:248087140
座右铭:
你在你擅长的领域牛逼,
并带着一群小白变牛逼,
别人会发自内心的去尊重你的。
--可点击加入我们