环境
CentOS 6.8 64位 1核 2GB
JDK 1.7.0_55 64 位
Hadoop 1.1.2
用户及目录配置
- 创建 yohann 用户
使用 root 用户创建了一个 yohann 用户,并授权 sudo 命令的使用。
- 创建 /app 目录
1 | $ mkdir /app |
在系统根目录下创建 /app 目录,用于存放 hadoop 等组件运行包。
- 修改 /app 目录拥有者为 yohann
1 | $ chown yohann:yohann –R /app |
防火墙配置
- 查看防火墙状态
1 | $ sudo service iptables status |
如下所示表示 iptables 已经开启。
- 关闭防火墙
1 | $ sudo service iptables stop |
SElinux配置
- 查看 SElinux 状态
1 | $ getenforce |
如上所示表示 SElinux 已经关闭。
- 修改 /etc/selinux/config 文件
将
SELINUX=enforcing
改为SELINUX=disabled
。
Host配置
- 设置机器名
1 | $ sudo vi /etc/sysconfig/network |
使用 yohann 用户登录,修改服务器机器名为hadoop。
- 查看服务器内网IP
1 | $ ifconfig |
如上面返回,10.0.2.14 是当前服务器的内网IP。
- 设置 host 映射文件
1 | $ sudo vi /etc/hosts |
配置主机名对应的IP地址。
- 执行 ping 验证是否设置成功
1 | $ ping hadoop |
JDK安装及配置
- 下载 JDK 64bit 安装包
访问 https://www.oracle.com/java/technologies/javase/javase7-archive-downloads.html ,找到 jdk-7u55-linux-x64.gz 进行下载。
- 创建 /app/lib 目录
1 | $ mkdir /app/lib |
- 把下载的安装包解压并移动到 /app/lib 目录下
1 | $ tar -zxf jdk-7u55-linux-x64.gz && mv jdk1.7.0_55/ /app/lib |
- 修改 /etc/profile 文件,设置 JDK 路径
1 | export JAVA_HOME=/app/lib/jdk1.7.0_55 |
- 编译并验证
1 | $ source /etc/profile |
- 更新 OpenSSL
1 | $ sudo yum update openssl |
SSH免密配置
- 修改 /etc/ssh/sshd_config 文件
1 | RSAAuthentication yes |
修改以上三项配置。
- 重启 sshd
1 | $ sudo service sshd restart |
- 生成私钥和公钥
1 | $ ssh-keygen -t rsa |
- 进入 /home/yohann/.ssh 目录
1 | $ cd /home/yohann/.ssh |
- 复制公钥 id_rsa.pub 命名为 authorized_keys
1 | $ cp id_rsa.pub authorized_keys |
- 设置 authorized_keys 读写权限
1 | $ chmod 400 authorized_keys |
- 测试 ssh 免密是否生效
1 | $ ssh hadoop |
Hadoop配置
- 下载 hadoop 安装包到 /app/lib 目录
1 | $ wget -P /app/lib https://archive.apache.org/dist/hadoop/core/hadoop-1.1.2/hadoop-1.1.2-bin.tar.gz |
- 进入 /app/lib 目录
1 | $ cd /app/lib |
- 解压 hadoop 安装包
1 | $ tar -xzf hadoop-1.1.2-bin.tar.gz |
- 移动 hadoop-1.1.2 到上一级目录
1 | $ mv hadoop-1.1.2 ../ |
- 在 hadoop-1.1.2 目录下创建子目录
1 | $ cd /app/hadoop-1.1.2 |
- 修改 hdfs/data 目录的权限
1 | $ chmod -R 755 hdfs/data |
- 修改 /app/hadoop-1.1.2/conf/hadoop-env.sh
1 | export JAVA_HOME=/app/lib/jdk1.7.0_55 |
设置 hadoop 中 jdk 和 hadoop/bin 路径。
- 编译并验证
1 | $ source /app/hadoop-1.1.2/conf/hadoop-env.sh |
- 进入 /app/hadoop-1.1.2/conf/ 目录
1 | $ cd /app/hadoop-1.1.2/conf/ |
- 修改 core-site.xml 文件
1 | <configuration> |
- 修改 hdfs-site.xml 文件
1 | <configuration> |
- 修改 mapred-site.xml 文件
1 | <configuration> |
- 配置主从节点
1 | $ echo 'hadoop' > masters |
- 格式化 namenode
1 | $ cd /app/hadoop-1.1.2/bin |
启动Hadoop
- 在 /app/hadoop-1.1.2/bin 目录下启动
1 | $ ./start-all.sh |
- 查看启动进程
1 | $ jps |
确保以上进程都存在。