• 伪分布模式安装hadoop


    准备工具:

    虚拟机:VMware

    Linux系统:CentOS

    hadoop-1.1.2.tar.gz

    jdk-7u75-linux-x64.gz

    CentOS的网络配置

    1、设置主机中VMware Network Adapter VMnet1的IPv4协议如下:

    wpsD0D8.tmp

    2、修改虚拟机虚拟网络的VMnet1的ip

    wpsD0E9.tmp

    3、CentOS中网络配置:

    wpsD0F9.tmp

    3、重启网卡: net service restart

    伪分布模式安装步骤

    1.1 设置ip地址

    执行命令 service network restart

    验证: ifconfig

    1.2 关闭防火墙

    执行命令 service iptables stop

    验证: service iptables status

    1.3 关闭防火墙的自动运行

    执行命令 chkconfig iptables off

    验证: chkconfig --list | grep iptables

    扩展:

    [root@localhost ~]# service   iptables status

    停止防火墙:

    [root@localhost ~]# service   iptables stop

    启动防火墙:

    [root@localhost ~]# service   iptables start

    重启防火墙:

    [root@localhost ~]# service   iptables restart

    永久关闭防火墙:

    [root@localhost ~]# chkconfig   iptables off

    永久关闭后启用:

    [root@localhost ~]# chkconfig   iptables on

    以上两步,我的操作老是显示服务不存在,也许是我主机中防火墙被关闭了吧!

    1.4 设置主机名

    执行命令 (1)hostname staven

    (2)vi /etc/sysconfig/network

    wps11D7.tmp

    1.5 ip与hostname绑定

    执行命令 vi /etc/hosts

    验证: ping staven

    1.6 设置ssh免密码登陆

    执行命令 (1)ssh-keygen -t rsa

    (2)cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

    验证: ssh staven

    扩展:

    ssh配置

    主机A:10.0.5.199

    主机B:10.0.5.198

    需要配置主机A无密码登录主机A,主机B

    先确保所有主机的防火墙处于关闭状态。

    在主机A上执行如下:

    1. cd ~/.ssh

    2. ssh-keygen -t rsa  --------------------然后一直按回车键,就会按照默认的选项将生成的密钥保存在.ssh/id_rsa文件中。(linux下可以用用ssh-keygen生成公钥/私钥对)

    3. cp id_rsa.pub authorized_keys

    这步完成后,正常情况下就可以无密码登录本机了,即ssh localhost,无需输入密码。

    4. scp authorized_keys summer@10.0.5.198:/home/summer/.ssh   ------把刚刚产生的authorized_keys文件拷一份到主机B上.

    5. chmod 600 authorized_keys

    进入主机B的.ssh目录,改变authorized_keys文件的许可权限。

    (4和5可以合成一步,执行:  ssh-copy-id -i summer@10.0.5.198 )

    可能遇到的问题:

    1.ssh连接The authenticity of host can't be established

    解决办法:

    mv  /home/staven/.ssh/known_hosts known_hosts.bak

    再连:ssh  -o StrictHostKeyChecking=no  192.168.56.100

    或者修改/etc/ssh/ssh_config文件的配置,以后则不会再出现此问题

    最后面添加:

    StrictHostKeyChecking no

    UserKnownHostsFile /dev/null

    2.进行ssh登录时,出现:”Agent admitted failure to sign using the key“ .

    解决办法:

    ssh-add

    强行将私钥 加进来。

    3.如果无任何错误提示,可以输密码登录,但就是不能无密码登录,在被连接的主机上(如A向B发起ssh连接,则在B上)执行以下几步:

    chmod o-w ~/

       chmod 700 ~/.ssh

       chmod 600 ~/.ssh/authorized_keys
    4.如果执行了第2步,还是不能无密码登录,再试试下面几个

    ps -Af | grep agent

    检查ssh代理是否开启,如果有开启的话,kill掉该代理,然后执行下面,重新打开一个ssh代理,如果没有开启,直接执行下面:

    ssh-agent

    还是不行的话,执行下面,重启一下ssh服务

    sudo service sshd restart

    5. 执行ssh-add时提示“Could not open a connection to your authenticationh agent”而失败

    解决办法:执行: ssh-agent bash

    1.7 安装jdk

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

    (2)chmod u+xjdk-7u75-linux-x64.gz

    (3)tar -zxvf jdk-7u75-linux-x64.gz

    (4)mv jdk1.7.0_75  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/

    注意:hadoop-env.sh中export JAVA_HOME=/cygdrive/d/JDK 注意:export前面符号“#”是注释,要去掉;JAVA_HOME值一定要设置成你的JDK的安装路径。

    2.core-site.xml

    
    

    <configuration>

    
    

        <property>

    
    

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

    
    

            <value>hdfs://staven:9000</value>

    
    

        </property>

    
    

        <property>

    
    

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

    
    

            <value>/usr/local/hadoop/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

    <configuration>

        <property>

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

            <value>staven:9001</value>

        </property>

    </configuration>

    (6)hadoop namenode -format

    (7)start-all.sh

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

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

    1.9 启动时没有NameNode的可能原因:

    (1)没有格式化

    (2)环境变量设置错误

    (3)ip与hostname绑定失败

  • 相关阅读:
    金额相关的测试用例
    Python练习题--持续更新
    Python基础--函数
    Python基础--文件操作和集合
    Python基础--数据类型
    Python基础--字典
    分布式理论(七)—— 一致性协议之 ZAB
    分布式理论(六)—— Raft 算法
    分布式理论(五)—— 一致性算法 Paxos
    分布式理论(四)—— 一致性协议之 3PC
  • 原文地址:https://www.cnblogs.com/staven/p/4437990.html
Copyright © 2020-2023  润新知