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

Hadoop所需环境配置

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

配置集群hostname

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

hostname IP 进程
hadoop-master 10.111.131.65 NameNode and JobTracker
hadoop-slave 10.111.131.67 DataNode 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.dirname>
    <value>/home/hadoop/hadoop/hadoop-2.6.1/tmpvalue>
    <description>Abase for other temporary directories.description>
property>
<property>
    <name>fs.default.namename>
    <value>hdfs://hadoop-master:9000value>
property>

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

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

<property>
    <name>dfs.name.dirname>
    /home/hadoop/hadoop/hadoop-2.6.1/dfs/name
    Path on the local filesystem where the NameNode stores the namespace and transactions logs persistently.
property>
<property>
    <name>dfs.data.dirname>
    /home/hadoop/hadoop/hadoop-2.6.1/dfs/data
    Comma separated list of paths on the local filesystem of a DataNode where it should store its blocks.
property>
<property>
    <name>dfs.replicationname>
    1
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.trackername>
    <value>hadoop-master:9001value>
    <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查看集群信息,也可验证集群是否部署成功。
(Hadoop入门系列一)Hadoop集群搭建_第1张图片
关闭hdfs集群的命令
sbin/stop-dfs.sh

你可能感兴趣的:(Hadoop)