Debian安装hadoop[大象]-1.2.1
作者:
网站:现在都说2.X不稳定,很多都用1.2.x,许多网上课程也是基于1.2.x版本,这里我也就用1.2.1来做一个学习记录,下一篇也许会是2.2.0了。
# 系统: debian 7.2.0 amd64
# 环境: 本地 VMWare Workstation 10.0 - NAThadoop是用运行在java虚拟机上的,所以,我们需要先安装jdk jre
安装jdk jre
apt-get install openjdk-7-jdk openjdk-7-jre
下载并解压
curl --progress http://archive.apache.org/dist/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz | tar xz
建立用户
adduser hadoop
为用户生成密钥
sudo -u hadoop mkdir -p /home/test/.sshsudo -u hadoop ssh-keygen -t dsasudo -u hadoop cat /home/test/.ssh/id_dsa.pub > /home/test/.ssh/authorized_keyssudo -u hadoop chmod 600 /home/test/.ssh/authorized_keys
建立目录
mkdir -p /app/hadoopmkdir -p /app/hadoop/core/tmpmkdir -p /app/hadoop/core/hdfsmkdir -p /app/hadoop/core/hdfs/namemkdir -p /app/hadoop/core/hdfs/data
移动目录
mv hadoop* /app/hadoop/core
权限
chmod 755 /app/hadoop/core/hdfs/data
修改配置
# 添加jresed '/^# export JAVA_HOME/a\export JRE_HOME=\/usr\/lib\/jvm\/java-7-openjdk-amd64\/jre' -i /app/hadoop/core/conf/hadoop-env.sh# 添加jdksed '/^# export JAVA_HOME/a\export JAVA_HOME=\/usr\/lib\/jvm\/java-7-openjdk-amd64' -i /app/hadoop/core/conf/hadoop-env.sh# 修改PATH路径sed '/^# export HADOOP_CLASSPATH=/a\export PATH=$PATH:\/app\/hadoop\/core\/bin' -i /app/hadoop/core/conf/hadoop-env.sh# 修改HADOOP_HOME路径sed '/^# export HADOOP_CLASSPATH=/a\export HADOOP_HOME=\/app\/hadoop\/core' -i /app/hadoop/core/conf/hadoop-env.sh
生效配置
source /app/hadoop/core/conf/hadoop-env.sh
确认hadoop是否能正常运行
hadoop version
修改core-site.xml
vim /app/hadoop/core/conf/core-site.xml
# 在<configuration>与</configuration>之间加入
fs.default.name hdfs://localhost:888 hadoop.tmp.dir /app/hadoop/core/tmp
修改hdfs-site.xml
vim /app/hadoop/core/conf/hdfs-site.xml
# 在<configuration>与</configuration>之间加入
dfs.replication 1 dfs.name.dir /app/hadoop/core/hdfs/name dfs.data.dir /app/hadoop/core/hdfs/data
修改mapred-site.xml
vim /app/hadoop/core/conf/mapred-site.xml
# 在<configuration>与</configuration>之间加入
mapred.job.tracker localhost:889
格式化HDFS
source hadoop-env.shhadoop namenode -format
启动
sh /app/hadoop/core/bin/start-all.sh
检查 / 查看JAVA虚拟机线程数,去除jps本身后,是否等于5
jps |grep -v "Jps"|wc -l
# 如果不等于5 / 则用jps命令查看去除jps本身后其他JAVA虚拟机线程数
# 理论上应该有 DataNode/NameNode/SecondaryNameNode/JobTracker/TaskTracker等5个进程jps |grep -v "Jps"
运行状态
http://localhost:50030/ - Hadoop Map/Reduce Administrationhttp://localhost:50060/ - Task Tracker Statushttp://localhost:50070/ - NameNode info
停止hadoop
sh /app/hadoop/core/bin/stop-all.sh