1. 修改linux配置
- 设置主机名称
vim /etc/hostname
在ubuntu上搭建单节点Hadoop
1. 修改linux配置
- 设置主机名称
vim /etc/hostname
保存退出。重启系统shutdown -r now
。查看主机名称hostname
- 配置解析主机名
vim /etc/hosts
,在末尾添加如下行:
保存退出,重启网络配置服务sudo /etc/init.d/networking restart
2. 安装JDK
忽略
3. ssh
用于配置免密登录。操作如下:
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
测试免密登录ssh localhost
对于ssh端口不是22的,需要指定端口。
4. 下载Hadoop
使用cdh,而不是社区版,这样可以避免依赖冲突。由于是海外网站,访问比较慢,可以提前到公司,下载会成功,否则比较慢或者失败。并且在windows上下在比在linux上下载快。下载命令:
wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz
5. 解压、配置、运行Hadoop
- 解压到指定目录
tar -zxvf /workspace/download/hadoop-2.6.0-cdh5.7.0.tar.gz -C /workspace/app/
- 配置Hadoop
在解压后的Hadoop目录下,编辑etc/hadoop/hadoop-env.sh
,指定Java的安装目录:
export JAVA_HOME=/usr/local/jdk #这是自己安装JDK的目录
export HADOOP_SSH_OPTS="-p 10022" # 针对shh端口不是22的情况
- 执行hadoop命令
bin/hadoop
会展示hadoop脚本的使用文档
6. 配置、启动hdfs
- 配置
修改etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:8020</value>
</property>
<!-- 下面的属性用于处理默认情况下重启系统导致Hadoop丢失数据的问题 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/workspace/app/tmp</value>
</property>
</configuration>
修改etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
- 格式化文件系统
第一次使用hdfs时,需要格式一次,后续不再需要。
bin/hdfs namenode -format
- 启动NameNode和DataNode主进程:
sbin/start-dfs.sh
过程中如果遇到警告,可以忽略。可以通过http://localhost:50070
浏览NameNode
6. 配置、启动yarn
- 配置
修改etc/hadoop/mapred-site.xml
,如果该文件不存在的话,可以从mapred-site.xml.template
复制出来。
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
修改etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
- 启动
$ sbin/start-yarn.sh
通过http://localhost:8088
浏览ResourceManager