环境:VMware Workstation 10、centos 64位、jdk1.7、hadoop1.2.1
首先在VMware Workstation点击编辑-->虚拟网络编辑器
子网Ip10.10.0.0 子网掩码:255.255.255.0
在win7中配置vmware10。去掉VMware Bridge Protocol并且去掉ipv6(重要),配置ip地址为10.10.0.254方便vmware中linux配置ip
在linux中配置eth0网卡
注意onboot=yes(开机启动网卡),ipv6init=no,bootproto=none(禁止dhcp)
输出命令:service network restart 重启网卡
ipconfig -a 查看网络,显示已经配置完毕
chkconfig --list|grep iptabls 3为on显示iptables为running,也可以输入命令service iptables status
暂时关闭iptables(重启后iptables又开启) service iptables stop
永久关闭iptables chkconfig iptables off, reboot -h now 重启
查看iptables 状态为关闭。已经关闭iptables
使用ftp工具。protocol一定要选择SFTP ssh,使用ssh协议,一般都linux都自带
mkdir 创建文件夹 -p递归创建
mkdir -p /hadoop --jdk,hadoop安装包文件夹
mkdir -p /data/tmp --hadoop.tmp.dir文件放在这下面,是hadoop文件系统依赖的基础配置
mkdir -p /data/data --这是datanode结点被指定要存储数据的本地系统路径
mkdir -p /data/name --把namenode的文件系统信息放在这个下面
chown -R /data hadoop:cloudadmin 修改/data文件夹权限 -R递归
chown -R /hadoop hadoop:cloudadmin 同上
创建三个文件夹
groupadd -g 3000 cloudadmin 创建用户组,指定用户组id。假如几台机器这样创建比较好。
useradd -u 3001 -g cloudadmin hadoop 创建 hadoop用户,并放在cloudadmin用户组下面
passwd hadoop 设置hadoop用户密码
通过ftp工具上传hadoop-1.2.1.tar.gz到/hadoop文件下
tar -xvf hadoop-1..2.1.tar.gz 解压到当前目录下
已经看到解压的hadoop-1.2.1
上传jdk1.7并且解压
pwd查看当前路径
并且java环境变量echo "export JAVA_HOME = /usr/chenzj/jdk1.7.0_79">>/etc/profile 路径根据自己的jdk路径 ,>>为linux管道符,不懂的同学可以百度看下
将JAVA_HOME写入到PATH中 echo "export PATH=\$JAVA_HOME/bin:\$PATH">>/etc/profile \是区分$符号
运行java -version 查看到java已经配置完毕
su hadoop 切换到hadoop用户
ssh-keygen -t rsa生成公钥和私钥
touch authorized_keys 创建文件
cat id_rsa.pub>>authorized_keys 将公钥写入authorized_keys
ssh localhost第一次需要密码,第二次就不用了。因为添加了公钥到authorized_keys文件中。不懂的可以度娘
进入hadoop conf目录下
修改core-site.xml
fs.default.name 这是一个描述namenode 结点的URL(包括协议、主机名称、端口号),集群里面的每一台机器都需要知道namenode的地址,Datanode结点会先在namenode上注册,这样它们的数据才可以被使用。独立的客户端程序通过这个URL跟datanode交互,以取得块列表
hadoop.tmp.dir这个上面已经介绍
配置hdfs-site.xml文件
dfs.name.dir和dfs.data.dir上面已经介绍主要是存放namenode和datanode的文件系统信息
dfs.replication 它决定着系统里面的文件块数据备份个数。对于一个实际的应用,它应用被设为3
配置mapred-site.xml主要是配置jobtracker
这里应该是<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
这里忘了截图 hadoop-env.sh 中JAVA_HOME=/usr/chenzj/jdk1.7 根据自己实际。也可以JAVA_HOME=${JAVA_HOME}
bin/hadoop namenode -format --hadoop文件系统格式化
这里显示/data/name has been successfully formatted 说明配置文件没有问题。如何有问题需要去logs中查看*.log的信息。以解决。这里后面在说
bin/start-all.sh启动hadoop。这里是启动所有。也可以bin/start-dfs.sh bin/start-mapred.sh分别启动namenode 和 jotracker
jps查看java进程
如果显示namenode、datanode、jobtracker、tasktracker、secondarynamenode显示hadoop启动成功。
伪分布式安装完成