平台:VM虚拟机。一共创建了三个,分别为一个master和两个slave,模拟一个小集群。
系统:Ubuntu
Java版本:jdk1.8.0_25
hadoop版本:hadoop-1.2.1
(一)在三台主机上创建相同的专用hadoop用户
:~$ sudo adduser hadoop
按向导创建用户即可
(二)修改hostname和hosts (ip及主机名按实际修改)
:~$ sudo gedit hostname
master #(其他主机为slave1/slave2)
:~$ sudo gedit hosts
192.168.163.130 master192.168.163.131 slave1192.168.163.132 slave2
(三)安装及配置Java环境(压缩包离线安装)红色部分按具体情况修改替换
1,在/lib下创建jdk安装目录jvm(可有可无)
:~$ sudo mkdir/lib/jvm
2,解压jdk安装包到/lib/jvm
:~$ sudo tar zxvfjdk-8u25-linux-x64.tar.gz -C/lib/jvm
3,修改/etc/profile,在文件末尾加上如下内容
:~$ sudo gedit /etc/profile
#set java environment
export JAVA_HOME=/lib/jvm/jdk1.8.0_25
export JRE_HOME=/lib/jvm/jdk1.8.0_25
export CLASSPPATH=".:$JAVA_HOME/lib:$CALSSPATAH"
export PATH="$JAVA_HOME/bin:$PATH"
4,使修改生效并查看是否安装成功
:~$ source /etc/profile
:~$ java -version
(四)安装及配置ssh
1,安装ssh,若无法获取,尝试先在终端输入sudo apt-get update
:~$ sudo apt-get install ssh
切换到创建好的hadoop用户。
2,采用dsa密钥认证,按向导,提示时一路按回车即可免密登录
:~$ ssh-keygen -t dsa
注意:以上四个操作在三个主机上都必须完成,接下来的操作只需操作master主机即可。
2,采用dsa密钥认证,按向导,提示时一路按回车即可免密登录
:~$ ssh-keygen -t dsa
(五)实现master主机免密登录其他slave主机
hadoop@master:~$ cp ~/.ssh/id_dsa.pub ~/.ssh/authorized_keys
hadoop@master:~$ scp ~/.ssh/authorized_keys slave1:~/.ssh/
hadoop@master:~$ scp ~/.ssh/authorized_keys slave2:~/.ssh/
测试能否免密连接
hadoop@master:~$ ssh slave1
hadoop@master:~$ ssh slave2
(六)hadoop安装及配置(压缩包)
1,解压到hadoop用户目录
hadoop@master:~$ sudo tar zxvfhadoop-1.2.1.tar.gz
2,修改hadoop-env.sh
hadoop@master:~$ gedit hadoop-1.2.1/conf/hadoop-env.sh
export JAVA_HOME=/lib/jvm/jdk1.8.0_25
3,修改core-site.xml
hadoop@master:~$ gedit hadoop-1.2.1/conf/core-site.xml
<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration><property><name>fs.default.name</name><value>hdfs://master:9000</value></property><property><name>hadoop.tmp.dir</name><value>/tmp</value></property></configuration>
4,修改hdfs-site.xml
hadoop@hadoop@master:~$ gedit hadoop-1.2.1/conf/hdfs-site.xml
<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration><property><name>dfs.replication</name><value>2</value></property></configuration>
5, 修改mapred-site.xml
hadoop@master:~$ gedit hadoop-1.2.1/conf/mapred-site.xml
<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration><property><name>mapred.job.tracker</name><value>hdfs://master:9001</value></property></configuration>
6, 修改master
hadoop@master:~$ gedit hadoop-1.2.1/conf/master
master
7, 修改slave
hadoop@master:~$ gedit hadoop-1.2.1/conf/slave
slave1slave2
8,向其他主机拷贝已配置的hadoop
hadoop@master:~$ scp -r hadoop-1.2.1 slave1:/home/hadoop
hadoop@master:~$ scp -r hadoop-1.2.1 slave2:/home/hadoop
9,格式化节点并启动hadoop
hadoop@master:~$ hadoop-1.2.1/bin/hadoop namenode -format
hadoop@master:~$ hadoop-1.2.1/bin/start-all.sh
至此,hadoop的简单集群已配置完成,可以通过jps查看或登录http://master:50030或http://master:50070