一、建立hadoop运行账号(all/root)
二、配置hosts文件(namenode/root)
三、为hadoop账户配置ssh免密码连入(all/hadoop)
四、下载并解压jdk(namenode/root)
五、 下载并解压hadoop安装包(namenode/hadoop)
六、配置hadoop-env.sh(namenode/hadoop)
七、conf文件夹下修改site文件(namenode/hadoop)
八、conf文件夹下配置masters和slaves文件(namenode/hadoop)
九、向各节点复制jdk及hadoop(namenode/hadoop)
十、格式化hdfs(namenode/hadoop)
十一、启动hadoop((namenode/hadoop))
十二、用jps检验各后台进程是否成功启动(all/hadoop)
下面详细介绍各步骤的具体细节:
1、建立hadoop运行账户grid
useradd grid
passwd grid
2、设置个节点的静态IP地址,修改各节点的主机名,修改hosts的文件
(1)首先给各节点设置静态IP地址,但必须保证各节点的静态IP地址是同一个网段,也就是保证各节点之间是可以相互ping的通。
(2)为了便于管理各节点,将各节点的主机名进行自定义。
查看当前节点的主机名:hostname
修改主机名:hostname 主机名 (此时修改时临时有效,要永久有效,则需要修改/etc/sysconfig/network配置文件,修改相应的名字即可)
(3)将上面修改后的主机名和对应的ip地址绑定
修改/etc/hosts文件,即增加一行内容为:主机的ip地址 主机名
验证:就是互相ping一下主机名即可
3、 关闭防火墙,并设置开机不自动启动防火墙
(1)关闭防火墙
service iptables status 查看防火墙
service iptables stop 关闭防火墙
(2)设置开机自启动关闭
chkconfig --list 查看所有开启的服务,后面如跟on则表示该程序是开机自动启动的。为了想将防火墙彻底关闭,因此必须将开机自启动关闭。
chkconfig --list |grep iptables 查看防火墙是否是开机自启动。 (grep表示过滤的意思)
chkconfig iptables off 关闭防火墙的开机自启动功能。
4、为hadoop运行账户grid 设置免密码登录。(这一部至关重要)
(1)首先在各节点上用hadoop运行账户grid进行登陆。
(2)各节点分别执行命令 ssh-keygen -t rsa 产生密钥,产生的密钥位于~/.ssh文件夹中执行 ,-t rsa表明加密算法。
(3)根据各主机名的ip地址的不同,进行
(4)将其他节点的备份的公钥文件复制到namenode节点上
<2>使用ssh工具将jdk上传到linux中
<3>给jdk安装文件授予执行权限:chmod 744 文件名
<4>执行./jdk文件名。必须在usr/local/*中执行,否则在其他路径下执行找不到相应的文件。
<5>修改文件名 mv jdk-8u jdk
<6>修改环境变量即修改 vi /etc/profile文件即可。在该文件夹中添加两行内容
export JAVA_HOME=/usr/local/jdk
export PATH=.:$JAVA_HOME/bin:$PATH
保存退出
<7>执行 source /etc/profile 命令,让修改的环境变量立即生效
<2>重命名:mv hadoop1.1.2 hadoop
<3>配置环境变量,即增加hadoop的环境变量,即在/etc/profile中增加一行
export HADOOP_HOME=/home/grid/hadoop
export PATH=.:$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin
保存退出
<4>执行 source /etc/profile 命令,让修改的环境变量立即生效
修改 export JAVA_HOME=/usr/local/jdk //这里就是将前面的#号去掉,路径名就是jdk的安装路径名
(2)修改conf文件夹下修改core-site.xml、hdfs-site.xml、mapred-site.xml文件(namenode-hadoop)
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop0:9000</value> //这里需要注意需要修改namenode的主机名
<description>change your own hostname</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/grid/hadoop/tmp</value> //注意这里是hadoop安装路径
</property>
</configuration>
2、hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
3、mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop0:9001</value> //这里也需要相应的修改为对应的namenode主机名
<description>change your own hostname</description>
</property>
</configuration>
(3)修改conf文件夹下配置masters和slaves文件(namenode-hadoop)
hadoop0
在slave文件中添加datanode的主机名:
hadoop1
hadoop2
scp -r /etc/hosts root@hadoop1:/etc/
scp -r /etc/hosts root@hadoop2:/etc/
scp -r /usr/local/jdk root@hadoop1:/usr/local/
scp -r /usr/local/jdk root@hadoop2:/usr/local/
scp -r /etc/profile root@hadoop1:/etc/
scp -r /etc/profile root@hadoop2:/etc/
su hadoop
scp -r /home/grid/hadoop grid@hadoop1:/home/grid/
scp -r /home/grid/hadoop grid@hadoop2:/home/grid/
9、格式化hdfs(namenode/hadoop)
在hadoop0,hadoop1, hadoop2的grid用户下执行命令 hadoop namenode -format
都有提示 Storage directory /home/hadoop/hadoop-1.1.2/tmp/dfs/name has been successfully formatted.才证明成功
10、启动hadoop(namenode/hadoop)
在hadoop0 上执行 start-all.sh
11、用jps检验各后台进程是否成功启动(all/hadoop)
浙公网安备 33010602011771号