hadoop 分布式集群安装

来源:互联网 发布:人工智能程序发展 编辑:程序博客网 时间:2024/04/30 04:24

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(153, 255, 153);">1、 更改主机名(root)</span>

     vim /etc/sysconfig/network

2、设置虚拟机静态IP如下(root)

          hadoop1         192.168.80.101 

            hadoop2         192.168.80.102

      hadoop3         192.168.80.103 

     使更改生效: service network restart

物理机地址:192.168.80.1

测试:虚拟机互ping,虚拟机与物理机互ping

3、修改host(root)

vim /etc/hosts

添加:

192.168.80.101  hadoop1

192.168.80.102  hadoop2

192.168.80.103  hadoop3

4、关闭防火墙 (root)

       service iptables stop

              不关闭后面DataNode启动不了,系统重启后防火墙也会重启

     永久关闭防火墙:

<span style="white-space:pre"></span>chkconfig  iptables off

       

5、创建hadoop用户(root)

在三个虚拟机中分别创建同一个用户andy

<span style="white-space:pre"></span>useradd andy
<span style="white-space:pre"></span>设置密码: passswd andy

6、设置SSH自动登录(andy)

分别用andy用户登录三个虚拟机

<span style="white-space:pre"></span>生成密匙对:ssh-keygen -t rsa
<span style="white-space:pre"></span>cd ~/.ssh
<span style="white-space:pre"></span>cp id_rsa.pub authorized_keys
  将其他两个虚拟机的id_rsa中的内容追加到authorized_keys中,然后将authorized_keys文件考到另两台机器中

<span style="white-space:pre"></span>scp  authorized_keys hadoop2:/home/andy/.ssh/
<pre name="code" class="html"><span style="white-space:pre"></span>scp  authorized_keys hadoop3:/home/andy/.ssh/
测试:ssh hadoop2
不用输入密码就能登入hadoop2

7、安装JDK(root)

将JDK解压缩后拷贝到 /usr/目录下

设置环境变量

   <span style="white-space:pre"></span> vim /etc/profile
<span style="white-space:pre"></span>添加:  export JAVA_HOME=/usr/jdk
<span style="white-space:pre"></span>export PATH=.:$PATH:$JAVA_HOME/bin\
<span style="white-space:pre"></span>测试: java -version
8、安装hadoop(root)

将hadoop解压后拷贝到/usr/目录下
cd /usr/hadoop/conf/

设置环境变量

添加:

<span style="white-space:pre"></span>export HADOOP_HOME=/usr/hadoop<span style="white-space:pre"></span>export  PATH=$PATH:$HADOOP_HOME/bin
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre"></span>    更改生效:source /etc/profile</span>

8.1、修改hadoop-env.sh         

<span style="white-space:pre"></span>添加:export  JAVA_HOME=/usr/jdk
8.2、修改core-site.xml

<configuration>

  <property>

     <name>hadoop.tmp.dir</name>

     <value>/usr/hadoop/tmp</value>

  </property>

  <property>

     <name>fs.default.name</name>

     <value>hdfs://hadoop1:9000</value>

  </property>

</configuration>

8.3、修改hdfs-site.xml

<configuration>

    <property>

       <name>dfs.replication</name>

       <value>2</value>

    </property>

</configuration>

8.4、修改mapred-site.xml

<configuration>

   <property>

      <name>mapred.job.tracker</name>

      <value>http://hadoop1:9001</value>

   </property>

</configuration>

8.5、修改masters

<span style="white-space:pre"></span>vim masters
<span style="white-space:pre"></span>添加:hadoop1
8.6、修改slaves

<span style="white-space:pre"></span>vim slaves
<span style="white-space:pre"></span>添加:hadoop2
<span style="white-space:pre"></span>      hadoop3
9、将配置好的hadoop拷贝到hadoop1、hadoop2的/usr目录下(root)

<span style="white-space:pre"></span>scp -r hadoop root@hadoop2:/usr/
<span style="white-space:pre"></span>scp -r hadoop root@hadoop3:/usr/
由于root没有设置免密码登录,因此这里需要输入root密码

10、更改hadoop属主(root)

<span style="white-space:pre"></span>chown -R andy hadoop
11、格式化namenode(andy)

<span style="white-space:pre"></span>用andy用户登录hadoop1: hadoop namode -format
12、启动(andy)

<span style="white-space:pre"></span>start-all.sh
验证:jps

hadoop1有4个进程: SecondaryNameNode、 Jps、 NameNode、JobTracker
hadoop2有3个进程:  Jps、 DataNode、TaskTracker
hadoop1有3个进程: Jps、 DataNode、TaskTracker


13、重新格式化

删除所有虚拟机的tmp目录下面的所有内容

           <name>hadoop.tmp.dir</name>

     <value>/usr/hadoop/tmp</value>








hadoop1有4个进程: SecondaryNameNode、 Jps、 NameNode、JobTracker
hadoop1有4个进程: SecondaryNameNode、 Jps、 NameNode、JobTracker
0 0