Hadoop2.7伪分布式搭建
软件版本:
系统:CentOS 7 64位
jdk:1.8.0_181
hadoop:hadoop 2.7.2
环境准备:
1.安装Java环境(省略)
2. 创建用户(work):
root用户下:
useradd -gwork work
passwd work
3. 配置SSH免密码登陆
集群、单节点模式都需要用到 SSH 登陆,一般情况下,CentOS 默认已安装了 SSH client、SSH server,执行命令查看是否包含了SSH client和SSH server:
rpm -qa | grep ssh
如果不存在,可以通过yum进行安装:
sudo yum install openssh-clients
sudo yum install openssh-server
测试下ssh是否可用:
ssh localhost
这样登陆是需要每次输入密码的,需要配置成SSH无密码登陆。首先输入exit 退出刚才的 ssh,就回到了我们原先的终端窗口。然后利用 ssh-keygen 生成密钥,并将密钥加入到授权中。work用户下:
cd ~/.ssh/
ssh-keygen -t rsa
cat id_rsa.pub >> authorized_keys
chmod 600 ./authorized_keys
再用 ssh localhost 命令, 无需输入密码就可以直接登陆了
4. 上传hadoop安装包
5. hadoop伪分布式部署
hadoop伪分布式配置
# 编辑profile
vim ~/.bash_profile
# 文件末尾新增
export HADOOP_HOME=/data/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
# 使配置生效
source ~/.bash_profile
Hadoop 可以在单节点上以伪分布式方式运行,配置伪分布式前,我们需设置HADOOP环境变量。
修改hadoop配置文件位于$HADOOP_HOME/etc/hadoop/ 中:(core-site.xml 和 hdfs-site.xml)
core-site.xml:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/hadoop/tmp/dfs/data</value>
</property>
</configuration>
配置完成后,格式化NameNode
./bin/hdfs namenode -format
启动NaneNode 和 DataNode 进程:
./sbin/start-dfs.sh
测试hdfs集群:
./bin/hadoop fs -mkdir /home
./bin/hadoop fs -mkdir /home/test
./bin/hadoop fs -put ./bin/* /home/test
./bin/hadoop fs -ls /home/test