花了1天时间最终把环境搭建好了。整理了一下,希望对想学习hadoop的有所帮助。
资料下载:http://pan.baidu.com/s/1kTupgkn包括了linux虚拟机。jdk, hadoop1.0
环境搭建准备工作:hadoop_master 192.168.50.158hadoop_slave 192.168.50.136
网络配置:1:设置IP2:重新启动网卡 service network restart. 验证命令 ifconfig3:设置主机名 hostname hadoop 运行命令 vi /ect/sysconfig/network4:把hostname和IP绑定运行命令 vi /etc/hosts
192.168.50.158 master192.168.50.136 slave
验证:ping hadoop5:关闭防火墙 service iptables stop关闭防火墙自己主动执行: chkconfig iptables off验证: chkconfig --list |grep iptables
免password登陆ssh1:ssh-keygen -t rsa产生的密钥位于~/.ssh目录中2:cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys 本机就能够免password登录了3:配置多机器面password登录拷贝id_rsa.pub到须要登录的机器上: scp .ssh/id_rsa.pub chenlb@192.168.1.181:/home/chenlb/id_rsa.pub把文件的内容追加到authorized_keys上 cat id_rsa.pub >> .ssh/authorized_keyschmod 600 .ssh/authorized_keys配置完毕后ssh ip(对方的电脑)
配置环境变量1:拷贝jdk到/user/local文件夹下2:运行命令 chmod u+x jdk*.bin3:vi /etc/profileexport JAVA_HOME = /user/local/jdkexport PATH=.:$JAVA_HOME/bin:$PATH让配置文件生效: source /etc/profile
安装 hadoop1:tar -zxvf hadoop.tar.gz2:改名字 mv hadoop.1.2 hadoop3:vi /etc/profileexport HADOOP_NAME=/user/local/hadooppath环境变量须要改动一下。加入hadoop的bin
4:改动配置文件,配置文件在hadoop的conf文件夹下hadoop-env.shexport JAVA_HOME=/usr/local/jdk/
也能够配置垃圾回收机制:
比如,配置Namenode时,为了使其可以并行回收垃圾(parallelGC)。 要把以下的代码增加到hadoop-env.sh :
export HADOOP_NAMENODE_OPTS="-XX:+UseParallelGC ${HADOOP_NAMENODE_OPTS}"
其他可定制的经常使用參数还包含:
- HADOOP_LOG_DIR - 守护进程日志文件的存放文件夹。假设不存在会被自己主动创建。
- HADOOP_HEAPSIZE - 最大可用的堆大小,单位为MB。
比方。1000MB。 这个參数用于设置hadoop守护进程的堆大小。缺省大小是1000MB。
core-site.xml<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop0:9000</value> 定义HadoopMaster的URI和port
<description>change your own hostname</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
hdfs-site.xml<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop0:9001</value> <!--hadoop0指的是你在hosts中配置的名字-->
<description>change your own hostname</description>
</property>
</configuration>
配置完毕后。假设是配置集群就须要在配置文件下的slaves和masters配置相应的datanode和secordaryNamenode。
5:对hadoop进行格式化 hadoop namenode -format格式化假设没有成功的话须要删除 /usr/local/hadoop/tmp目录