我爱编程

实验室Hadoop环境搭建

2016-04-21  本文已影响600人  CaptainXero

Hadoop分布式集群搭建流程记录


软件环境


主机IP


Step1:Ubuntu基本配置

```code

为root账户设置密码:sudo passwd root
测试root账户: su -
输入root密码,进入root终端
图形化界面下执行: gedit /usr/share/lightdm/lightdm.conf.d
在打开的文件末尾添加如下代码,保存并退出
user-session=ubuntu
greeter-show-manual-login=true
all-guest=false
重启计算机即可使用root登录图形界面

##注意
     * 使用root登录后虽然方便,但要谨慎操作,防止误操作删除重要文件
***

 * 更新Ubuntu源

  * `gedit /etc/apt/sources.list` 打开源列表
  * 清空原有的数据,并添加如下源  
  ```code
   #搜狐源:
deb http://mirrors.sohu.com/ubuntu/ vivid main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ vivid-security main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ vivid-updates main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ vivid-proposed main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ vivid-backports main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ vivid main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ vivid-security main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ vivid-updates main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ vivid-proposed main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ vivid-backports main restricted universe multiverse
   #阿里源:
deb http://mirrors.aliyun.com/ubuntu/ vivid main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ vivid-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ vivid-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ vivid-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ vivid-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-backports main restricted universe multiverse
#网易源:
deb http://mirrors.aliyun.com/ubuntu/ vivid main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ vivid-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ vivid-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ vivid-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ vivid-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-backports main restricted universe multiverse

添加完毕保存并退出,执行sudo apt-get update以及sudo apt-get dist-upgrade


Step2:配置JAVA环境

export JAVA_HOME=/home/jdk/java8
export JRE_HOME=/home/jdk/java8/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

Step3:配置SSH实现节点之间免密码安全连接

RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile %h/.ssh/authorized_keys # 公钥文件路径

  * 重启SSH服务,执行`service ssh restart`
  * 将公钥拷贝到要实现免密码登录的远程主机上:执行`ssh-copyid root@Slave1.HAdoop`拷贝到Slave1节点(本机是Masgter)
  * 验证免密码登录:
     * 本机执行`ssh root@Slave1.Hadoop`即可免密码登录Slave1
  * 其他节点之间同理操作,下面附上Slave2.Hadoop远程免密钥登录Master节点截图:

![Slave2.Hadoop远程Master](https://img.haomeiwen.com/i1863312/6dbd97ed27900622.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
***
#Step4:Hadoop集群部署
* 实验室配置路径交代:
  * 以Master配置为例,解压Hadoop,放在`/usr/hadoop`位置。
* 在"**/usr/hadoop**"下面创建**tmp**文件夹,并把Hadoop的安装路径添加到"**/etc/profile**"中
   *  执行`gedit /etc/profile`,在最下面加上如下命令:
```code
# set hadoop path
export HADOOP_HOME=/usr/hadoop
export $Path=$PATH:$HADOOP_HOME/bin
<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://Master.Hadoop:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/usr/hadoop/tmp</value>
                <description>Abase for other temporary directories.</description>
        </property>
</configuration>
<configuration>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>Master:50090</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>/usr/hadoop/tmp/dfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>/usr/hadoop/tmp/dfs/data</value>
        </property>
</configuration>
<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>Master:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>Master:19888</value>
        </property>
</configuration>
<configuration>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>Master.Hadoop</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
</configuration>
cd /usr
sudo rm -r ./hadoop/tmp     # 删除 Hadoop 临时文件
sudo rm -r ./hadoop/logs/*   # 删除日志文件
tar -zcf ~/hadoop.master.tar.gz ./hadoop   # 先压缩再复制
cd ~
scp ./hadoop.master.tar.gz Slave1.Hadoop:/usr/hadoop

在Slave1.Hadoop上执行:

sudo rm -r /usr/hadoop    # 删掉旧的(如果存在)
sudo tar -zxf ~/hadoop.master.tar.gz -C /usr
sudo chown -R hadoop /usr/hadoop

另外你也可以使用U盘进行拷贝(亲测)

start-all.sh   #这个可执行文件在`/usr/hadoop/sbin`下

通过命令 jps可以查看各个节点所启动的进程。正确的话,在 Master 节点上可以看到 如下进程:

测试启动结果
Slave节点可以看到如下进程:
Slave节点查看验证
注意:缺少进程代表出现问题,另外还需要在 Master 节点上通过命令 hdfs dfsadmin -report查看 DataNode 是否正常启动,如果 Live datanodes 不为 0 ,则说明集群启动成功。
通过Web查看集群 节点Slave2在线 通过Web查看集群

今后将分享Hadoop分布式集群的使用过程,406-让我们共同成长。


上一篇 下一篇

猜你喜欢

热点阅读