配置Hadoop到Ubuntu Server上的过程记录

来源:互联网 发布:程序员的算法趣题 编辑:程序博客网 时间:2024/04/28 07:41

把Hadoop安装到了台式机的Ubuntu Server上了,记录过程如下:


免密码ssh设置

* 验证能否免密码ssh登陆localhost

$ ssh localhost

错误情况①:

ssh: connect to host localhost port 22: Connection refused。出现这种情况的原因是Ubuntu默认只装了openssh-client,而未装server。

正确情况①:第一次登陆,屏幕显示The authenticity of host ‘localhost (127.0.0.1)’ can’t be established等等,问是否continue connecting,输入yes即可。登陆成功后,输入exit断开连接,然后再验证能否免密码ssh登陆localhost,即可不输入密码登陆localhost。

* 安装openssh-server

验证是否安装了server:

①查看是否有ssh进程:ps -e | grep ssh。如果没有,则转入②;

②启动server进程:/etc/init.d/ssh -start,如果没有文件或目录,则确实未安装server,转入③;

③安装server:sudo apt-get install openssh-server

* 免密码ssh设置

再次验证能否免密码ssh登陆localhost

如果不输入口令就无法用ssh登陆localhost,执行下面的命令:
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

 

Hadoop配置

* hadoop下载、解压到给定目录

假定hadoop解压后所在目录为$HADOOP_HOME。后续操作中的目录若无特别说明,均是$HADOOP_HOME目录下的某个子目录。

* 设置Java路径到hadoop

输入命令:echo $PATH,查看java安装路径。在conf/hadoop-env.sh中找到export $JAVA_HOME一行,修改其路径为本机的java安装路径。

* 配置hadoop配置文件

配置伪分布模式,打开conf/core-site.xml文件,设置如下:

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

打开hdfs-site.xml,设置如下:

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

打开mapred-site.xml,设置如下:

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>

* 格式化hadoop文件系统

命令:bin/hadoop namenode -format。要在hadoop未启动的状态下使用此命令,否则无法运行成功。

 

运行hadoop

* 启动/关闭hadoop

启动命令:bin/start-all.sh

关闭命令:bin/stop-all.sh

切记:关机前一定要stop-all.sh,否则以后再次启动时,会进入安全模式。

* 查看当前目录

执行命令:hadoop fs -ls。输出结果:

ls: Cannot access .: No such file or directory.

这是这个目录为空所致。执行 hadoop fs -ls /可以看到一条结果。输入命令hadoop fs -mkdir hello,可以新建一个目录,然后再看。

* 上传文件到HDFS

执行命令:

hadoop fs -copyFromLocal <local-file> .

出现错误说只能复制到0个节点,而不是一个。

解决方案:①关闭ubuntu防火墙:sudo ufw disable。


0 0