花了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
免密码登陆ssh1:ssh-keygen -t rsa产生的密钥位于~/.ssh文件夹中2:cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys 本机就可以免密码登录了3:配置多机器面密码登录拷贝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的bin4:修改配置文件,配置文件在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和端口
<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文件夹