1.本地安装jdk
请参考linux安装jdk:juejin.im/post/5bc6f5…
2.安装SSH、配置SSH无密码登陆
集群、单节点模式都需要用到 SSH 登陆(类似于远程登陆,你可以登录某台 Linux 主机,并且在上面运行命令),一般情况下,CentOS 默认已安装了 SSH client、SSH server
- 检查是否安装了SSH
rpm -qa | grep ssh
如果返回的结果如下图所示,包含了 SSH client 跟 SSH server,则不需要再安装。
openssh-7.4p1-13.el7_4.x86_64
openssh-server-7.4p1-13.el7_4.x86_64
libssh2-1.4.3-10.el7_2.1.x86_64
复制代码
- 若需要安装,则可以通过 yum 进行安装(安装过程中会让你输入 [y/N],输入 y 即可):
sudo yum install openssh-clients
sudo yum install openssh-server
- 测试 SSH 是否可用:
ssh localhost
此时会有如下提示(SSH首次登陆提示),输入 yes 。然后按提示输入密码 hadoop,这样就登陆到本机了。
但这样登陆是需要每次输入密码的,我们需要配置成SSH无密码登陆比较方便。
- SSH无密码登录
首先输入 exit 退出刚才的 ssh,就回到了我们原先的终端窗口,然后利用 ssh-keygen 生成密钥,并将密钥加入到授权中:
exit # 退出刚才的 ssh localhost
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa # 会有提示,都按回车就可以
cat id_rsa.pub >> authorized_keys # 加入授权
chmod 600 ./authorized_keys # 修改文件权限
复制代码
~的含义 在 Linux 系统中,~ 代表的是用户的主文件夹,即 “/home/用户名” 这个目录,如你的用户名为 hadoop,则 ~ 就代表 “/home/hadoop/”。 此外,命令中的 # 后面的文字是注释。
此时再用 ssh localhost 命令,无需输入密码就可以直接登陆了。
- 远程免密登录
- 将文件拷贝至远程服务器
scp ~/.ssh/id_rsa.pub root@<remote_ip>:pub_key
- 将内容追加到authorized_keys文件中, 不过要登录远程服务器来执行这条命令
cat ~/pub_key >>~/.ssh/authorized_keys
3.安装 CDH5.7.0(Hadoop2.6.0)
- hadoop安装参考地址: hadoop.apache.org/docs/curren…
- CDH5.7.0下载地址: archive.cloudera.com/cdh5/
- 解压hadoop-2.6.0-cdh5.7.0.tar.gz
tar -zxvf hadoop-2.6.0-cdh5.7.0.tar.gz
- 修改hadoop-2.6.0-cdh5.7.0/etc/hadoop目录下的 hadoop-env.sh
#设置为Java安装的根目录
export JAVA_HOME=/usr/local/src/jdk1.7
至此独立模式已完成
伪分布模式
- 修改hadoop-2.6.0-cdh5.7.0/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>/usr/local/src/tmp</value>
</property>
</configuration>
复制代码
- 修改hadoop-2.6.0-cdh5.7.0/etc/hadoop目录下的 hdfs-site.xml
<configuration>
<!-- DataNode存储block的副本数量,默认值是3个 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
复制代码
- 格式化文件系统
bin/hdfs namenode -format
- 启动NameNode守护进程和DataNode守护进程
sbin/start-dfs.sh
- 检查是否启动
jsp
9100 Jps
8853 DataNode
8745 NameNode
9000 SecondaryNameNode
复制代码
访问页面:http://localhost:50070/ 6. 关闭NameNode守护进程和DataNode守护进程
sbin/stop-dfs.sh
YARN环境搭建
- 修改hadoop-2.6.0-cdh5.7.0/etc/hadoop目录下的 mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
复制代码
- 修改hadoop-2.6.0-cdh5.7.0/etc/hadoop目录下的 yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
复制代码
- 启动YARN相关的进程
sbin/start-yarn.sh
复制代码
- 验证
jps
1900 NodeManager
1802 ResourceManager
复制代码
访问页面:http://localhost:8088/
5. 停止YARN相关的进程
sbin/stop-yarn.sh