您的位置:首页 > 运维架构

Hadoop分布式安装步骤

2014-10-30 11:38 253 查看
hadoop分布式部署步骤:

第一大步骤:伪分布式安装

1.1 设置ip地址

vi   /etc/sysconfig/network-scripts/ifcfg-eth?

BOOTPROTO=static

IPADDR=192.168.1.110

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

DNS1=192.168.1.1

虚拟机复制的时候需要注意的地方:IPADDR需要修改,同时mac地址也需要修改  ifconfig -a 查看mac地址

执行命令 service network restart

验证: ifconfig

1.2 关闭防火墙

执行命令 service iptables stop

验证: service iptables status

1.3 关闭防火墙的自动运行

执行命令 chkconfig iptables off

验证: chkconfig --list | grep iptables  --正常显示五个off

1.4 设置主机名

执行命令 (1)hostname chaoren  --零时更改

(2)vi /etc/sysconfig/network  --真正更改主机名  重启生效  立刻重启命令 :--   reboot -h now 

1.5 ip与hostname绑定
执行命令 vi /etc/hosts        --增加本机ip+主机名  例如:192.168.230.128 hadoop  

注意:需要把集群环境中的机器也增加进去

验证: ping hadoop

1.6 设置ssh免密码登陆

执行命令 

(1)cd /root/.ssh

(2)ssh-keygen -t rsa        --一路回车按下去
(3)cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys 或者cat id_rsa.pub >>authorized_keys

(4)ssh  hadoop   选择---   yes

验证: ssh hadoop

1.7 安装jdk

执行命令 (1)cd /usr/local

(2)chmod u+x jdk-6u24-linux-i586.bin

(3)./jdk-6u24-linux-i586.bin

(4)mv jdk-1.6.0_24  jdk

(5)vi /etc/profile 增加内容如下:

export JAVA_HOME=/usr/local/jdk

export PATH=.:$JAVA_HOME/bin:$PATH

(6)source /etc/profile

验证: java -version

1.8 安装hadoop

执行命令 (1)tar -zxvf hadoop-1.1.2.tar.gz

(2)mv hadoop-1.1.2 hadoop

(3)vi /etc/profile 增加内容如下:

export JAVA_HOME=/usr/local/jdk

export HADOOP_HOME=/usr/local/hadoop

export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH

(4)source /etc/profile

(5)修改conf目录下的配置文件hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml
1.hadoop-env.sh
export JAVA_HOME=/usr/local/jdk/

2.core-site.xml   

ps:NameNode所在节点是通过配置文件core-site.xml的fs.default.name的值体现的

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://centos:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/centos/tmp</value>
</property> 
</configuration>

3.hdfs-site.xml
<configuration>
<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>
<property>
  <name>dfs.permissions</name>
  <value>false</value>
</property>
</configuration>

4.mapred-site.xml 

ps:JobTracker所在节点是通过配置文件mapred-site.mlx的mapred.job.tracker的值体现的

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop0:9001</value>
</property>
</configuration>

(6)hadoop namenode -format  --格式化
注意:执行HDFS的格式化时发生了什么事情?

       (1)是NameNode创建自己的目录结构   version的ID  namenode与datanode要是一致的   不要多次格式化hdfs 

(7)start-all.sh

验证: (1)执行命令jps 如果看到5个新的java进程,分别是NameNode、SecondaryNameNode、DataNode、JobTracker、TaskTracker

(2)在浏览器查看,http://centos:50070  http://centos:50030  

操作完成上面步骤表示hadoop的伪分布就已经完成。

第二大步骤:hadoop分布式部署步骤

1)直接完整复制虚拟机

--删除复制之后的两个虚拟机的配置(即上面的伪分布的步骤)

这里我只删除了免密码登陆

命令:

cd /root/.ssh

rm -rf *  --删除密匙

ssh-keygen -t rsa        --一路回车按下去

cat id_rsa.pub >>authorized_keys

more authorized_keys --查看密匙是否成功

ssh localhost 

2)实现主机都能操作从节点,实现免密码登陆

现在就假设把 hadoop 的密码复制到hadoop0上去

ssh-copy-id -i hadoop0    --在hadoop主机上操作

同理把hadoop1的也复制到hadoop0上去

ssh-copy-id -i hadoop0    --在hadoop1主机上操作

3)hadoop0的密匙复制到hadoop 和hadoop1上去

scp /root/.ssh/authorized_keys   hadoop:/root/.ssh/    --在hadoop0主机上执行

4)如果删除的hadoop和jdk 文件夹 这里就需要复制过去了

   1)把hadoop的hadoop目录下的logs和tmp删除

   2)把hadoop中的jdk、hadoop文件夹复制到hadoop0和hadoop1节点
scp  -r /usr/local/jdk   hadoop0:/usr/local/
scp  -r /usr/local/hadoop   hadoop0:/usr/local/

   3)把hadoop的/etc/profile复制到hadoop0和hadoop1节点,在目标节点中执行source  /etc/profile

5)编辑hadoop的配置文件slaves,改为从节点的hostname,分别是hadoop0和hadoop1

  这里的步骤是把hadoop主机当作主节点 vi /etc/usr/local/hadoop/conf/slaves  

6)格式化,在hadoop节点执行hadoop namenode -format

7)启动,在hadoop节点执行start-all.sh
注意:对于配置文件core-site.xml和mapred-site.xml在所有节点中都是相同的内容
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  分布式 hadoop