Stay Hungry, Stay Foolish

ubuntu上配置分布式hadoop

Linux 5171℃ 0评论

配置java

1.下载java
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

$cd /opt/jvm
$tar -xf jdk-8u181-linux-x64.tar.gz

2.设置java

sudo update-alternatives --install /usr/bin/java java /opt/jvm/jdk1.8.0_181/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /opt/jvm/jdk1.8.0_181/bin/javac 300

3.修改默认java环境

sudo update-alternatives --config java
sudo update-alternatives --config javac

修改host

其中的hslave 和 hmaster应当是对应计算机的hostname

$vim /etc/hosts
10.0.0.243   hslave1
10.0.0.244   hslave2
10.0.0.249   hslave3
10.0.0.254   hmaster

配置hadoop

1.在master和slave中创建hadoop用户

$useradd -m hadoop
#设置密码
$passwd hadoop
#为hadoop添加sudo权限
$visudo
#在root ALL=(ALL) ALL下添加hadoop ALL=(ALL) ALL
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL
#保存后退出,并切换回hadoop用户
$su hadoop

master与slave之间免密登录

注:以下master和slave中的操作都是在hadoop用户下
1.在master节点:

cd ~/.ssh/ # 若没有该目录,请先执行一次 ssh localhost
ssh-keygen -t rsa 
#一直回车默认
#将在目录~/.ssh/下生成id_rsa.pub文件
$cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
#给授权文件权限:
$chmod 600  ~/.ssh/authorized_keys

将生成的id_rsa.put传输到所有slave节点
以slave1为例:

#将master上的authorized_keys传到slave1
sudo scp ~/.ssh/id_rsa.pub hadoop@slave1:~/ 

2.在每个slave节点

# 若没有~/.ssh/目录,请先执行一次 ssh localhost
sudo cat ~/id_rsa.pub>>~/.ssh/authorized_keys
sudo chmod 600 ~/.ssh/authorized_keys
sudo rm ~/id_rsa.pub

配置环境变量

在master和slave节点

$su hadoop
vim  ~/.bashrc

#在文件最后添加

#Java env
export JAVA_HOME=/opt/jvm/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib
#hadoop environment vars
export HADOOP_HOME=/opt/git/hadoop-2.7.7
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native"  

保存退出使配置生效

source ~/.bashrc

其中/opt/jvm/jdk1.8.0_181为java所在的路径,/opt/git/hadoop-2.7.7为hadoop所在的路径。如果不知道java的路径可以通过这篇文章查看

hadoop文件配置

sudo chown hadoop hadoop-2.7.7

#配置文件在如下文件夹
/opt/git/hadoop-2.7.7/etc/hadoop

0. hadoop-env.sh

export JAVA_HOME="/opt/jvm/jdk1.8.0_181"

1.core-site.xml

<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://hmaster:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>file:/opt/git/hadoop-2.7.7/tmp</value>
  </property>
</configuration>

2.hdfs-site.xml

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>2</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/opt/git/hadoop-2.7.7/tmp/dfs/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/opt/git/hadoop-2.7.7/tmp/dfs/data</value>
  </property>
  <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>hmaster:9001</value>
  </property>
  <property>
    <name>dfs.permissions</name>
    <value>false</value>
  </property>
</configuration>

3.mapred-site.xml

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>

4.yarn-site.xml

<configuration>
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hmaster</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
  </property>
  <property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
  </property>
</configuration>

初始化hadoop(只执行一次,初始化时,以后不用再次执行)
hadoop namenode -format
启动服务

cd /opt/git/hadoop-2.7.7/sbin
./start-all.sh

访问web页面
http://master:50070

喜欢 (0)
取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦


Warning: Use of undefined constant PRC - assumed 'PRC' (this will throw an Error in a future version of PHP) in C:\inetpub\wordpress\wp-content\themes\XHBlog\comments.php on line 17
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址