Hadoop Enviroment 配置

本文详细介绍了如何配置Hadoop集群环境,包括设置IP与主机名对应、添加用户、准备Hadoop目录结构、配置SSH、设置环境变量、配置Hadoop、部署到其他机器以及测试Hadoop集群的启动和操作。通过这些步骤,可以成功搭建一个双节点的Hadoop集群。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hadoop Enviroment


假设计算环境中有两台机器,一台机器为Namenode(主机名:bccdb-1,Ip:9.186.102.138),一台机器为Datanode(主机名:bccdb-2,Ip:9.186.52.159)

1. 配置IP与主机名的对应关系
   编辑两台机器的/etc/hosts文件为
   127.0.0.0       localhost       localhost
   9.186.102.138   bccdb-1         bccdb-1
   9.186.52.159    bccdb-2         bccdb-2
   设置完成后,在bccdb-1机器上ping bccdb-2,确保可以通过,然后在bccdb-2机器上ping bccdb-1,确保可以通过。

2. 添加用户bccdb
   在两台机器上运行useradd bccdb, 然后运行usermod -U bccdb, 建立bccdb这个帐户,帐户的更目录默认为/home/bccdb

3. 准备Hadoop目录结构
   建立目录/home/bccdb/HadoopInstall, 拷贝hadoop-0.19.0.tar.gz到/home/bccdb/HadoopInstall下,解压缩hadoop-0.19.0.tar.gz形成目录/home/bccdb/HadoopInstall/hadoop-0.19.0,用ln -s hadoop-0.19.0 hadoop建立软链接。建立目录/home/bccdb/HadoopInstall/hadoop-config,拷贝/home/bccdb/HadoopInstall/hadoop/conf/下的hadoop_site.xml,slaves,hadoop_env.sh,masters四个文件到/home/bccdb/HadoopInstall/hadoop-config下。

4. 配置SSH
   在bccdb-1机器上运行ssh-keygen -t rsa (交互时直接回车设置为空密码)。到/home/bccdb/.ssh目录下运行cp id_rsa.pub authorized_keys,生成authorized_keys,chmod 600 authorized_keys.
   登陆到bccdb-2机器,建立目录/home/bccdb/.ssh。然后拷贝bccdb-1机器上的authorized_keys文件到/home/bccdb/.ssh目录下,用命令scp bccdb-1:/home/bccdb/.ssh/authorized_keys /home/bccdb/.ssh/

scp bccdb-1:/home/bccdb/.ssh/id_rsa /home/bccdb/.ssh/

scp bccdb-1:/home/bccdb/.ssh/id_rsa.pub /home/bccdb/.ssh/

进入/home/bccdb/.ssh目录,然后chmod 600 authorized_keys, 重要:执行chmod 700 .和chmod 700 ..命令。用ls -la查看时权限必须为
drwx------  2 bccdb bccdb 4096 12月 24 13:42 .
drwx------  5 bccdb bccdb 4096 12月 24 13:56 ..
-rw-------  1 bccdb bccdb  223 12月 24 11:41 authorized_keys
注意,每个机器上的都应该是这样的。
编辑每个机器上的/etc/ssh/sshd_config文件
vi /etc/ssh/sshd_config
编辑使以下两行有效
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
然后重新启动sshd服务/etc/rc.d/init.d/sshd restart
现在我们可以检查ssh是否配置正确:在bccdb-1机器上执行ssh bccdb-1,如果不需要密码直接登陆,则bccdb-1配置正确,然后执行ssh bccdb-2,如果不需要密码直接登陆,则bccdb-2也配置正确。

5. 设置环境变量
   在每台机器上都编辑vi ~/.bashrc文件,加入(注意请更改自己的jdk路径,请用jdk1.6以上版本)
   export HADOOP_CONF_DIR=/home/bccdb/HadoopInstall/hadoop-config
   export HADOOP_HOME=/home/bccdb/HadoopInstall/hadoop
   export JAVA_HOME=/usr/java/jdk1.6.0_01
   export PATH=$JAVA_HOME/bin:$PATH

6. 配置Hadoop
   编辑/home/bccdb/HadoopInstall/hadoop-config/slaves, 删除localhost,添加bccdb-2。表示bccdb-2是一台slave node.
   编辑/home/bccdb/HadoopInstall/hadoop-config/hadoop-site.xml为

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
 <name>fs.default.name</name>
 <value>hdfs://bccdb-1:9000</value>
 <description>The name of the default file system. Either the literal string "local" or a host:port for

DFS.</description>
</property>
<property>
 <name>mapred.job.tracker</name>
 <value>bccdb-1:9001</value>
 <description>The host and port that the MapReduce job tracker runs at. If "local", then jobs are run

in-process as a single map and reduce task.</description>
</property>
<property>
 <name>hadoop.tmp.dir</name>
 <value>/home/bccdb/HadoopInstall/tmp</value>
 <description>A base for other temporary directories.</description>
</property>
<property>
 <name>dfs.name.dir</name>
 <value>/home/bccdb/HadoopInstall/filesystem/name</value>
 <description>Determines where on the local filesystem the DFS name node should store the name table.

If this is a comma-delimited list of directories then the name table is replicated in all of the

directories, for redundancy. </description>
</property>
<property>
 <name>dfs.data.dir</name>
 <value>/home/bccdb/HadoopInstall/filesystem/data</value>
 <description>Determines where on the local filesystem an DFS data node should store its blocks. If

this is a comma-delimited list of directories, then data will be stored in all named directories,

typically on different devices. Directories that do not exist are ignored.</description>
</property>
<property>
 <name>dfs.replication</name>
 <value>1</value>
 <description>Default block replication. The actual number of replications can be specified when the

file is created. The default is used if replication is not specified in create time.</description>
</property>
</configuration>

7. 部署Hadoop到其他机器上
   scp -r /home/bccdb/HadoopInstall bccdb-2:/home/bccdb/

  至此,部署完毕。

 

测试:
1. 启动Hadoop
  启动之前,我们先要格式化namenode,先进入~/HadoopInstall/hadoop目录,执行下面的命令
        bin/hadoop namenode -format
  不出意外,应该会提示格式化成功。如果不成功,就去hadoop/logs/目录下去查看日志文件下面就该正式启动hadoop啦,在bin/下面有很多启动脚本,可以根据自己的需要来启动。
       bin/start-all.sh   启动所有进程
       bin/stop-all.sh    停止所有进程

2.  建立目录
    bin/hadoop dfs -mkdir testdir

3.  复制文件
   bin/hadoop dfs -put /home/dbrg/large.zip testfile.zip

4.  查看现有文件
   bin/hadoop dfs -ls

 

本文很多内容参照http://tech.ddvip.com/2008-09/122172785667255.html配置。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值