Linux下安装Hadoop(伪分布模式)
写在前面:在Linux下安装Hadoop时,应注意权限问题,将hadoop的权限赋给非root用户。
本文中未涉及如何在Linux下创建新用户。
第一步,安装JDK
1. 下载 java.sun.com
2. 解压tar.gz的文件
tar -xzvf jdk-7u17-linux-x64.tar.gz
3. 把解压出来的文件夹移动到/usr/local/jdk-1.7目录
mv /usr/local/src/jdk1.7.0_17 /usr/local/jdk-1.7
4. 修改profile
vi /etc/profile
在最后追加
export JAVA_HOME=/usr/local/jdk1.7.0_17
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
5. 使环境变量生效
source /etc/profile
6. 查看当前jdk
update-alternatives --display java
7. 配置默认jdk
update-alternatives --install /usr/bin/java java /usr/local/jdk1.7.0_17/bin/java 300
update-alternatives --install /usr/bin/javac javac /usr/local/jdk1.7.0_17/bin/javac 300
update-alternatives --install /usr/bin/javap javap /usr/local/jdk1.7.0_17/bin/javap 300
update-alternatives --install /usr/bin/javadoc javadoc /usr/local/jdk1.7.0_17/bin/javadoc 300
update-alternatives --config java
如果系统中安装了其他jdk,会提示,选择jdk7
8. 测试
java -version
第二步,安装SSHD服务
ubuntu安装sshd命令:sudo apt-get install openssh-server
ubuntu删除sshd命令:sudo apt-get remove openssh-server
第三步,配置无密登录
(应该非root用户下执行)
ssh-keygen
cd ~/.ssh
mv id_rsa.pub id_rsa_hadoop.pub
touch authorized_keys
cat id_rsa_hadoop.pub >> authorized_keys
第四步,下载Hadoop并解压
解压:tar -zxvf hadoop-1.0.3.tar.gz
移动:mv hadoop-1.0.3 /usr/local/hadoop
更改文件夹chown -R hadoop.hadoop hadoop
创建目录:mkdir /data /data/hadoop
更改文件夹chown -R hadoop.hadoop /data/hadoop
第五步,配置Hadoop
配置 conf/hadoop-env.sh
export JAVA_HOME=/usr/local/jdk-1.7
export HADOOP_LOG_DIR=/data/hadoop/logs
export HADOOP_PID_DIR=/data/hadoop/pids
修改/etc/profile
添加:export HADOOP_PID_DIR=/data/hadoop/pids
配置 core-site.xml
fs.default.name
hdfs://master:8020
hadoop.tmp.dir
/data/hadoop/tmp
配置 hdfs-site.xml
dfs.name.dir
/data/hadoop/name
dfs.data.dir
/data/hadoop/data
dfs.replication
2
dfs.permissions
false
hadoop.job.ugi
hadoop,supergroup
配置 mapred-site.xml
mapred.job.tracker
master:8021
mapred.tasktracker.map.tasks.maximum
2
mapred.map.tasks
2
mapred.tasktracker.reduce.tasks.maximum
2
mapred.reduce.tasks
1
mapred.compress.map.output
true
mapred.map.output.compression.codec
com.hadoop.compression.lzo.LzoCodec
第六步,启动关闭hadoop
bin/hadoop namenode -format (只在第一次启动时需要,用于格式化名称节点)
bin/start-all.sh
使用浏览器访问http://localhost:50070和http://localhost:50030查看Hadoop是否启动成功。
bin/stop-all.sh