Ubuntu下Hadoop的安装与使用

1、创建hadoop用户
打开终端
sudo useradd -m hadoop -s /bin/bash
sudo passwd hadoop//为hadoop设置密码
sudo adduser hadoop sudo//为 hadoop 用户增加管理员权限
2、更新apt并安装vim
sudo apt-get update
3、安装SSH、配置SSH无密码登陆
集群、单节点模式都需要用到 SSH 登陆,
Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server:
sudo apt-get install openssh-server
ssh localhost                                   #安装后使用命令登录本机,首次登录选择yes需要输入密码hadoop
我们需要配置成SSH无密码登陆,避免多次输入密码
(1.exit                                   # 退出刚才的 ssh localhost
(2.cd ~/.ssh/                      # 若没有该目录,请先执行一次ssh localhost
(3.ssh-keygen -t rsa              # 会有提示,都按回车就可以
(4.cat ./id_rsa.pub >> ./authorized_keys  # 加入授权
4、安装java环境
sudo apt-get install default-jre default-jdk
vim ~/.bashrc #打开当前登录用户的环境变量配置文件.bashrc:
在文件最前面添加如下单独一行(注意,等号“=”前后不能有空格),然后保存退出:
export JAVA_HOME=/usr/lib/jvm/default-java
source ~/.bashrc    # 使变量设置生效
执行上述命令后,可以检验一下是否设置正确:
echo $JAVA_HOME      # 检验变量值
java -version # 查看版本
5、安装hadoop 2
通过 http://mirrors.cnnic.cn/apache/hadoop/common/下载,
一般选择下载最新的稳定版本即下载 “stable” 下的 hadoop-2.x.y.tar.gz 这个格式的文件。
我们选择将 Hadoop 安装至 /usr/local/ 中:
sudo tar -zxf ~/下载/hadoop-2.6.9.tar.gz -C /usr/local    # 解压到/usr/local中
cd /usr/local/
sudo mv ./hadoop-2.6.9/ ./hadoop              # 将文件夹名改为hadoop
sudo chown -R hadoop ./hadoop          # 修改文件权限
Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息:
cd /usr/local/hadoop
./bin/hadoop version
6、Hadoop单机配置(非分布式)
我们选择运行 grep 例子,我们将 input 文件夹中的所有文件作为输入,
筛选当中符合正则表达式 dfs[a-z.]+ 的单词并统计出现的次数,最后输出结果到 output 文件夹中。
cd /usr/local/hadoop
mkdir ./input
cp ./etc/hadoop/*.xml ./input   # 将配置文件作为输入文件
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'
cat ./output/*          # 查看运行结果
执行成功后,输出了作业的相关信息,输出的结果是符合正则的单词 dfsadmin 出现了1次。
7、Hadoop伪分布式配置
进入/usr/local/hadoop/etc/hadoop/中ll,对 core-site.xml 和 hdfs-site.xml 文件进行配置
core-site.xml修改如下:
1. <configuration>
2.     <property>
3.         <name>hadoop.tmp.dir</name>
4.         <value>file:/usr/local/hadoop/tmp</value>
5.         <description>Abase for other temporary directories.</description>
6.     </property>
7.     <property>
8.         <name>fs.defaultFS</name>
9.         <value>hdfs://localhost:9000</value>
10.     </property>
11. </configuration>
修改配置文件 hdfs-site.xml
1. <configuration>
2.     <property>
3.         <name>dfs.replication</name>
4.         <value>1</value>
5.     </property>
6.     <property>
7.         <name>dfs.namenode.name.dir</name>
8.         <value>file:/usr/local/hadoop/tmp/dfs/name</value>
9.     </property>
10.     <property>
11.         <name>dfs.datanode.data.dir</name>
12.         <value>file:/usr/local/hadoop/tmp/dfs/data</value>
13.     </property>
配置完成后,执行 NameNode 的格式化:
./bin/hdfs namenode -format
成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示,
若为 “Exitting with status 1” 则是出错。

接着开启 NameNode 和 DataNode 守护进程。
./sbin/start-dfs.sh  #start-dfs.sh是个完整的可执行文件
若出现如下SSH提示,输入yes即可。
8、运行Hadoop伪分布式实例
./bin/hdfs dfs -mkdir -p /user/hadoop
./bin/hdfs dfs -mkdir input
./bin/hdfs dfs -put ./etc/hadoop/*.xml input
复制完成后,可以通过如下命令查看文件列表:
./bin/hdfs dfs -ls input
伪分布式运行 MapReduce 作业的方式跟单机模式相同,
区别在于伪分布式读取的是HDFS中的文件
(可以将单机步骤中创建的本地 input 文件夹,输出结果 output 
文件夹都删掉来验证这一点)
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+'
查看运行结果的命令(查看的是位于 HDFS 中的输出结果):
./bin/hdfs dfs -cat output/*
这里我们的hadoop已经安装完成了。
若要关闭hadoop,则运行
./sbin/stop-dfs.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值