hadoop
版本 2.7.3
下边将一步一步的介绍在ubuntu系统中搭建hadoop环境。
创建免密码登录的用户
首先请先确保安装ssh软件,然后生成密钥。
sudo adduser -ingroup hadoop hadoop
sudo adduser hadoop sudo
sudo apt-get install install ssh
su - hadoop
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
接下来验证ssh是否可以免密码登录
ssh localhost
成功登录,则继续往下边操作。
安装sun jdk
如果你的机器上已经安装了openjdk,请先卸载,如果没有,请按照下面方法继续操作。
在oracle官网上下载最新的jdk包,在这里我选则的是jdk1.8.0_121,具体下载地址,请访问 JAVA SEE 下载地址
将下载后的文件解压到/opt目录中,然后配置环境变量
hadoop@hzwy23:/opt/jdk1.8.0_121$ pwd
/opt/jdk1.8.0_121
hadoop@hzwy23:/opt/jdk1.8.0_121$
export JAVA_HOME=/opt/jdk1.8.0_121
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
接着source一下该文件,让环境变量生效
source ~/.profile
下载hadoop可执行包
hadoop下载地址
请选择binary包,这样就不用自己去编译hadoop,在这里,我下载的是2.7.3 binary包。
将下载下来的包解压到/opt目录中,接着配置环境变量
export HADOOP_HOME=/opt/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin
如上图所示,解压后的hadoop被放在/opt目录中,将HADOOP_HOME目录指向hadoop文件所在路径。
修改hadoop配置文件
hadoop配置文件在$HADOOP_HOME/etc/hadoop目录中,下边以最简单的方式启动hadoop,大部分参数沿用默认值。
1.修改core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
# The java implementation to use.
export JAVA_HOME=/opt/jdk1.8.0_121
3.修改hdfs-site.xml,使用单节点启动hadoop。
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/tmp/dfs/data</value>
</property>
</configuration>
到此,配置文件修改完成。再次source一下环境用户配置信息
source ~/.profile
启动hadoop服务
1.初始化namenode,仅仅第一次安装时使用,后边再次启动不需要执行。
hdfs namenode -format
2.启动hadoop服务
cd $HADOOP_HOME/sbin
./start-all.sh
等待命令成功执行后,查看jvm是否存在hadoop进程
hadoop@hzwy23:/opt/hadoop-2.7.3/sbin$ jps
5632 ResourceManager
6448 NodeManager
3746 NameNode
4554 Datanode
12763 Jps
5467 SecondaryNameNode
向hdfs传入文件
hdfs dfs -put $HADOOP_HOME/sbin/start-all.sh /
查看文件是否传入hdfs
hdfs dfs -ls /
如果能够查看到start-all.sh文件,表明hadoop单节点版本已经搭建完成。如果要在生产环境中使用hadoop,复杂程度远远比这个多,所以,再次,仅供入门参考。不过话又说回来,复杂的的东西也是从简单的东西窜起来的,打好基础很重要。