一、实践环境
Ubuntu14.04 + JDK1.8.0_25 + Hadoop2.5.1
一共三台linux机器(virtualbox虚拟机,桥接网络配置静态ip),信息如下:
机器名 | IP | 作用 |
master | <ip> | Namenode, master |
slave1 | <ip> | Datanode, slave |
slave2 | <ip> | Datanode, slave |
二、安装配置linux系统
1. 在三台机器上安装好ubuntu系统。
2. 更新一下系统软件, sudoapt-get update。
3. 修改机器名, sudo gedit/etc/hostname:
每台机器都要修改,对于slave机器,修改名称为slave1, slave2….
4. 修改hosts文件,sudo gedit/etc/hosts:
每台机器上的hosts文件内容都相同。
5. 在每台机器上新建一个名为jsj的用户:
sudo adduser jsj
更改jsj文件夹的权限:
sudo chown –R jsj:jsj jsj
三、安装配置SSH
1. 安装ssh服务:sudoapt-get install ssh
2. 在每台机器的/home/jsj目录下都用jsj用户新建一个.ssh/目录
3. 在每台机器上都生成ssh密钥: ssh –keygen –t rsa
4. 在master主机上,把id_rsa.pub添加到authorized_keys文件中:
jsj@master:/home/jsj/.ssh/$catid_rsa.pub >> authorized_keys
5. 在master主机上,将slave1,slave2的id_rsa.pub添加到authorized_keys文件中:
ssh slave1 cat /home/jsj/.ssh/id_rsa.pub >> authorized_keys
ssh slave2 cat /home/jsj/.ssh/id_rsa.pub >> authorized_keys
6. 在master上通过scp命令将authorized_keys复制到slave1,slave2机器上:
scp authorized_keys jsj@slave1:/home/jsj/.ssh/
scp authorized_keys jsj@slave2:/home/jsj/.ssh/
7. 验证是否成功,可以通过sshlocalhost, ssh slave1, ssh slave2 验证是否配置成功。
四、安装JDK
1. 下载jdk-8u25-linux-x64.gz
2. 在/usr/lib目录下新建文件夹jvm/,将jdk压缩包解压到此目录下。
3. 配置环境变量,修改/etc/profile文件:
4. 使设置生效:$source /etc/profile
五、Hadoop 2.5.1安装配置
1. 下载hadoop-2.5.1.tar.gz,在master机器上修改好配置文件,然后scp同步到其他slave上即可。
2. 将hadoop-2.5.1.tar.gz解压到/home/jsj/目录下。
3. 配置环境变量 sudo gedit/etc/profile
4. 修改/home/jsj/Hadoop-2.5.1/etc/hadoop目录下的配置文件
修改hadoop-env.sh文件,修改JAVA_HOME的值如下:
5. 修改yarn-env.sh文件,修改JAVA_HOME的值如下:
6. 修改文件slaves,这个文件里面保存所有的slave节点:
7. 修改core-site.xml文件:
8. 修改hdfs-site.xml文件:
9. 修改mapred-site.xml文件:
10. 修改yarn-site.xml文件:
11. 复制到其他节点
将master节点上配好的hadoop复制到其他节点,使用命令:
scp –r /home/jsj/hadoop-2.5.1 jsj@slave1:/home/jsj/hadoop-2.5.1
scp –r /home/jsj/hadoop-2.5.1 jsj@slave2:/home/jsj/hadoop-2.5.1
12. 运行hadoop
①在master机器上的/home/jsj/hadoop-2.5.1 目录下执行命令格式化namenode:
bin/hdfs namenode -format
②然后执行 sbin/start-dfs.sh 启动hdfs,执行 sbin/start-yarn.sh 启动yarn.
③最后用命令jps查看hadoop的运行状态。