hadoop+eclipse集群搭建及测试
前段时间搭了下hadoop,每次都会碰到很多问题,也没整理过,每次搜索都麻烦,现在整理下
一.准备工作
1.准备俩计算机,安装linux系统,分别装好jdk(虚拟机操作一样)
nano /etc/hostname 修改hostname
nano /etc/hosts 添加ip及hostname信息
2.计算机信息如下
主机名 | ip地址 | 作用 | 启动的进程 |
test1 | 192.168.155.2 | master/slave | namenode,jobtracker,secondarynamenode |
test2 | 192.168.155.3 | slave | datanode,tasktracker |
注:要配置多个节点的集群操作一样,我就按着两台来了,配置差不多就行。我的环境:ubuntu13.0.4+jdk1.7+hadoop1.0.4+hbase0.94.3
特别提醒:各台机子使用相同用户名,各安装目录均相同,比如hadoop目录都为/home/smallby/hadoop-1.0.4
3.用户选择
分别创建用户hadoop,属于hadoop用户组
useradd hadoop cd /home/hadoop chown -R hadoop /usr/local/hadoop-0.20.203/ chgrp -R hadoop /usr/local/hadoop-0.20.203/
4.ssh免登陆
4.1.安装ssh
sudo apt-get install ssh
netstat -nat 查看22端口是否开启了。
ssh localhost 测试ssh,输入密码,回车
4.2.ssh免登陆配置
ssh-keygen -t rsa 生成的密钥对id_rsa,id_rsa.pub
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 把id_rsa.pub追加到授权的key里面去,若无权限使用chmod赋权限
ssh localhost 再次测试,输入yes,发现本机已不用输入密码登陆
scp ~/.ssh/authorized_key test2:/home/hadoop/.ssh/ 测试test2节点,ssh test2,输入yes,成功免密码登陆
二.配置阶段
1.配置hadoop
下载解压缩hadoop-1.0.4至home目录,在home下可看到hadoop-1.0.4目录,进入conf目录
1.1修改hadoop-env.sh
尾部添加 export JAVA_HOME=/home/hadoop/jdk1.7.0_51 为安装jdk的目录
1.2修改core-site.xml
<configuration> <property> <name>fs.default.name</name> <value>hdfs://test1:9000</value> //namenode路径 </property> <property> <name>hadoop.tmp.dir</name> //hadoop临时路径 <value>/home/hadoop/hadoop_1.0.4/var</value> </property> </configuration>
1.3修改hdfs-site.xml
<configuration> <property> <name>dfs.name.dir</name> <value>/home/hadoop/name1, /home/hadoop/name2</value> //hadoop的name目录路径 <description> </description> </property> <property> <name>dfs.data.dir</name> <value>/home/hadoop/data1, /home/hadoop/data2</value> <description> </description> </property> <property> <name>dfs.replication</name> <value>2</vaue> //俩节点,备份2份。这里的数目不能超过节点数 </property> </configuration>
1.4修改mapred-site.xml
<configuration> <property> <name>mapred.job.tracker</name> <value>test1:9001</value> </property> <property> <name>mapred.local.dir</name> <value>/home/hadoop/hadoop_1.0.4/var</value> </property> </configuration>
1.5修改masters,slaves
masters test1
slaves test1
test2
2.配置环境变量
nano ~/.bashrc
尾部添加
#java
export JAVA_HOME=/home/hadoop/jdk1.7.0_51
export PATH=$PATH:$JAVA_HOME/bin
#hadoop
export HADOOP_HOME=/home/hadoop/hadoop-1.0.4
export PATH=$PATH:$HADOOP_HOME/bin
. ~/.bashrc
3.向节点中传送hadoop文件
scp -r /home/hadoop/hadoop-1.0.4 hadoop@test2:/home/hadoop/
4.格式化namenode
hadoop namenode -format
5.启动hadoop
start-all.sh
使用jps在test1看到datanode,namenode,jobtracker,tasktracker,secondnamenode
test2看到datanode,tasktracker
进入test1:50030看到俩节点
6.停止hadoop
stop-all.sh
时间仓促,hbase和eclipse还没整理