疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

hadoop环境配置--java环境配置


 

 一 本人遇到一些fedora的基本问题
   
    1.sudo -s这个命令最初是不能使用。(命令行操作)
   
    1)使用$ su -进入root权限($:代表是在用户操作态,#:表示root态。这是不用写的)
   
    2) 给/etc/sudoers文件赋予写权限-- 操作代码 # chmod u+w /etc/sudoers
   
    3)编辑/etc/sudoers-- 操作代码 # gedit /etc/sudoers
   
    4)在sudoers文件中找到root ALL = (ALL) ALL,在下一行中添加hadoop ALL = (ALL) ALL (hadoop是我的用户名)
   
    5)赋权限-- 操作代码 # chmod 0440 /etc/sudoers
   
    6)退出-- 操作代码 # exit
   
    2.网络配置(由于我的机器是封闭网络中,所以没有采用自动获取)
   
    step1:
   
    #su
   
    #passwd:*********step2:
   
    #cd /etc/sysconfig/network-scripts/
   
    #gedit ifcfg-eth0       将里面的内容修改如下:
   
    1 TYPE=Ethernet
   
    2 BOOTPROTO=static//不是dhcp或者none!!
   
    3 IPV6INIT=no
   
    4 NAME=system eth0//名字可以随便取的
   
    5 ONBOOT=yes
   
    6 HWADDR=00:E0:B0:E2:B2:2C//你电脑的硬件地址
   
    7 USERCTL=yes
   
    8 PEERDNS=yes
   
    9 NM_CONTROLLED=yes//这个要注意,必须是yes
   
    10 NETMASK=255.255.254.0//网络掩码
   
    11 IPADDR=**.**.**.**//此处写上你的ip
   
    12 DNS1=211.**.**.**//DNS
   
    13 GATEWAY=122.204.84.254//网关
   
    step3:
   
    #/sbin/service network restart二 java环境配置
   
    1.下载linux版本的jdk,我选择的是rpm的文件。
   
    2.进入root权限,执行# rpm -ivh /home/hadoop/Download/jdk.rpm 后面这个是jdk的路径
   
    3.还是在root权限中,在/etc/profile文件中添加以下:
   
    4.由于fedora里面自带openjdk,所以还需要在root权限下执行:
   
    #cd usr/bin
   
    #ln -s -f /usr/java/jdk/jre/bin/java#ln -s -f /java/jdk/bin/javac
   
    5.测试
   
    输入$java –version,如果现在是你安装的jdk版本,则表示安装成功
    [nextpage]
    三。ssh配置
   
    ssh远程登陆的时候命令是$ssh 用户名 @ ip地址。如果使用命令ssh 192.168.1.1,此时默认使用与此时主机一样的用户登陆。而使用hadoop时,默认使用主机的用户名登陆,所以取一样的用户名在登陆时免掉很多麻烦。至于解决办法,哪位有答案的,望赐教。
   
    1.修改三个节点的host文件(三个节点相同):
   
    sudo vi /etc/hosts
   
    加入以下三行:
   
    192.168.1.90 master
   
    192.168.1.91 slave1
   
    192.168.1.92 slave2
   
    2.在三个节点的hadoop用户目录下生成公钥/私钥对:
   
    ssh-keygen -t rsa
   
    每个节点都会生成。ssh目录(用ls -al可以查看到隐藏文件和文件属性)
   
    cd .ssh
   
    ls -al
   
    可以看到下列三个文件(分别代表私钥、公钥、已知主机):
   
    id_rsa id_rsa.pub known_hosts
   
    3.在每个节点的~/.ssh目录下新建authorized_keys文件:
   
    touch authorized_keys
   
    4.将每个节点的公钥都是用scp命令(安全拷贝)传送到另外两个节点:
   
    master结点的命令为:
   
    scp -r id_rsa.pub hadoop@slave1:~/.ssh/pubkey_master
   
    scp -r id_rsa.pub hadoop@slave2:~/.ssh/pubkey_master  slave1结点的命令为:
   
    scp -r id_rsa.pub hadoop@master:~/.ssh/pubkey_slave1
   
    scp -r id_rsa.pub hadoop@slave2:~/.ssh/pubkey_slave1  slave2结点的命令为:
   
    scp -r id_rsa.pub hadoop@master:~/.ssh/pubkey_slave2
   
    scp -r id_rsa.pub hadoop@slave1:~/.ssh/pubkey_slave2
   
    5.在每个结点的~/.ssh目录下,将另外两个节点传过来的公钥文件的内容附加到本目录下的authorized_keys文件中,并将authorized_keys文件的权限改为600:
   
    master结点命令为:
   
    cat pubkey_slave1》authorized_keys
   
    cat pubkey_slave2》authorized_keys
   
    chmod  600 authorized_keys  slave1结点命令为:
   
    cat pubkey_master》authorized_keys
   
    cat pubkey_slave2》authorized_keys
   
    chmod  600 authorized_keys  slave2结点命令为:
   
    cat pubkey_master》authorized_keys
   
    cat pubkey_slave1》authorized_keys
   
    chmod  600 authorized_keys
   
    至此SSH配置完毕,三个结点可以实现使用ssh不需要密码的相互访问。可以用以下代码测试:
   
    在master上:ssh hadoop@slave1(ssh 用户名@主机名)