(Hadoop入门系列一)Hadoop集群搭建

Hadoop所需环境配置

操作系统:Ubuntu1604-64位
Hadoop版本:Apache hadoop 2.6.1

配置集群hostname

Hadoop集群由一个master节点和一个slave节点组成:

hostnameIP进程
hadoop-master10.111.131.65NameNode and JobTracker
hadoop-slave10.111.131.67DataNode and TaskTracker

集群内节点的hostname不能重复
把节点信息加入master和slave的/etc/hosts
为操作系统添加组hadoop,用户hadoop,后续操作以及开发都以hadoop登录操作

安装jdk1.8

安装和配置ssh

sudo apt-get install ssh openssh-server

配置master到slave节点ssh免密码登录

在master上执行
ssh-keygen -t rsa
全部采用默认参数,直接回车,在~/.ssh/下生成密钥
把~/.ssh/id_rsa.pub的内容加入slave节点的~/.ssh/authorized_keys
scp ~/.ssh/id_rsa.pub hadoop@hadoop-slave:/home/hadoop/
登录slave节点,执行
sudo mkdir -p ~/.ssh
cat /home/hadoop/id_rsa.pub >> ~/.ssh/authorized_keys
sudo chmod 700 ~/.ssh
sudo chmod 600 ~/.ssh/authorized_keys

修改sshd配置文件
sudo vi /etc/ssh/sshd_config
相关配置如下
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys

重启sshd
service sshd restart
测试是否配置成功
ssh hadoop@hadoop-slave
如不输入密码直接登录则表示配置成功

配置slave到master节点ssh免密码登录

在slave上执行
ssh-keygen -t rsa
全部采用默认参数,直接回车,在~/.ssh/下生成密钥
把~/.ssh/id_rsa.pub的内容加入master节点的~/.ssh/authorized_keys
scp ~/.ssh/id_rsa.pub hadoop@hadoop-master:/home/hadoop/
登录master节点,执行
sudo mkdir -p ~/.ssh
cat /home/hadoop/id_rsa.pub >> ~/.ssh/authorized_keys
sudo chmod 700 ~/.ssh
sudo chmod 600 ~/.ssh/authorized_keys

修改sshd配置文件
sudo vi /etc/ssh/sshd_config
相关配置如下
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys

重启sshd
service sshd restart
测试是否配置成功
ssh hadoop@hadoop-master
如不输入密码直接登录则表示配置成功

Hadoop的安装和配置

master节点

下载Hadoop包并解压到指定目录:
sudo mkdir -p /home/hadoop/hadoop
cd /home/hadoop/hadoop
sudo tar -xzvf hadoop-2.6.1.tar.gz

修改~/hadoop/hadoop-2.6.1/etc/hadoop/hadoop-env.sh

export JAVA_HOME=/usr/lib/java/jdk1.8.0_131
JAVA_HOME要用绝对路径,不能写成${JAVA_HOME}

修改~/hadoop/hadoop-2.6.1/etc/hadoop/core-site.xml

把下列内容加入configuration节点之间

<property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/hadoop/hadoop-2.6.1/tmp</value>
    <description>Abase for other temporary directories.</description>
</property>
<property>
    <name>fs.default.name</name>
    <value>hdfs://hadoop-master:9000</value>
</property>

修改~/hadoop/hadoop-2.6.1/etc/hadoop/hdfs-site.xml

把下列内容加入configuration节点之间

<property>
    <name>dfs.name.dir</name>
    <value>/home/hadoop/hadoop/hadoop-2.6.1/dfs/name</value>
    <description>Path on the local filesystem where the NameNode stores the namespace and transactions logs persistently.</description>
</property>
<property>
    <name>dfs.data.dir</name>
    <value>/home/hadoop/hadoop/hadoop-2.6.1/dfs/data</value>
    <description>Comma separated list of paths on the local filesystem of a DataNode where it should store its blocks.</description>
</property>
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>

修改~/hadoop/hadoop-2.6.1/etc/hadoop/mapred-site.xml

sudo cp mapred-site.xml.template mapred-site.xml
把下列内容加入configuration节点之间

<property>
    <name>mapred.job.tracker</name>
    <value>hadoop-master:9001</value>
    <description>Host or IP and port of JobTracker.</description>
</property>

修改~/hadoop/hadoop-2.6.1/etc/hadoop/masters

把master加入进去
hadoop-master

修改~/hadoop/hadoop-2.6.1/etc/hadoop/slaves

把slave加入进去
hadoop-slave
修改hadoop目录权限
sudo chmod 777 ~/hadoop/hadoop-2.6.1
至此master节点hadoop配置已完成

slave节点

把master配置好的hadoop文件夹复制到所有slave节点的相同位置
scp -r ~/hadoop/hadoop-2.6.1 hadoop@hadoop-slave:/home/hadoop/hadoop/hadoop-2.6.1

启动hadoop

在master节点上

格式化hdfs的namenode

cd /home/hadoop/hadoop/hadoop-2.6.1
bin/hdfs namenode -format

启动集群

sbin/start-dfs.sh

结果验证

若启动成功,在命令行输入
jps
会输出类似信息
4418 NameNode
5405 Jps
4606 SecondaryNameNode

在浏览器地址栏输入
http://10.111.131.65:50070/
可通过UI查看集群信息,也可验证集群是否部署成功。
这里写图片描述
关闭hdfs集群的命令
sbin/stop-dfs.sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值