一.配置环境变量
由于centos自带open-jdk,我们可以查看一下自己java路径,一般在/usr/lib/jvm中查看:
我们选择1.8版本的,配置我们的的vi /etc/profile
文件,添加如下内容:
#set java enviroment
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161.2.b14.el7.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
#set hadoop enviroment
使用命令source ~/.bashrc
使得环境变量生效。
至此jdk就配置成功了。
二.配置SSH无密码登录
1.首先检查自己服务器 上是否已经安装好SSH client、SSH serve,指令:
rpm -qa | grep ssh
执行后出现5个文件,则不需要安装:
若需要安装,则可以通过 yum 进行安装
如下图,我这里是缺少第一个,所以我装第一个
sudo yum install openssh-askpass
安装完之后,执行如下命令测试一下 SSH 是否可用:
ssh localhost
此时会有如下提示(SSH首次登陆提示),输入 yes 。然后按提示输入 hadoop用户的登录密码,这样就实现登录到本机了。
但是上述的登陆是需要每次输入密码的,我们可以配置成SSH无密码登陆,这样会比较方便。
2.SSH无密登录
执行exit
,回到原先的终端命令窗口
执行exit
,退出刚才的 ssh localhost
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa # 会有提示,都按回车就可以
cat id_rsa.pub >> authorized_keys # 加入授权
chmod 600 ./authorized_keys # 修改文件权限
三.安装hadoop
(1)下载Hadoop(下载到根目录下)
wget https://archive.apache.org/dist/hadoop/core/hadoop-2.10.0/hadoop-2.10.0.tar.gz
(2)解压
tar zxvf hadoop-2.10.0.tar.gz
(3)配置
cd hadoop-2.10.0/etc/hadoop
1.
vi hadoop-env.sh # 修改Java环境变量
将文件中的
export JAVA_HOME=${JAVA_HOME}
修改为
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64 //=后面为自己Java的绝对地址
2.
vi hdfs-site.xml
#在后面添加
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/tmp/hadoop_data/dfs/name</value>
</property>
<property>
<name>dfs.namenode.data.dir</name>
<value>file:/tmp/hadoop_data/dfs/data</value>
</property>
</configuration>
3.
vi core-site.xml
#在后面添加
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/tmp/hadoop_data</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://0.0.0.0:9000</value>
</property>
</configuration>
4.创建存储目录
cd tmp
mkdir hadoop_data
5.运行Hadoop
cd hadoop-2.10.0/bin
./hdfs namenode -format
6.
cd hadoop-2.10.0/sbin # 启动fdfs
./start-dfs.sh
7.测试(输入http://localhost:50070/可以观察到集群的基本信息)
四.问题
1.在配置环境变量的时候,一定要看清自己的Java路径,在profile文件中添加正确,否则会出现找不到JAVA_HOME的情况
五.HDFS的命令行操作
haddop fs -ls / (查询目录)
hadoop fs -mkdir /test (在根目录下创建一个目录test)
hadoop fs -put ./test.txt /test (将本地的test.txt文件上传到HDFS根目录下的test文件夹中去)
hadoop fs -get /test/test.txt (从HDFS目录中获取文件)
hadoop fs -cp /test/test.txt /test1 (HDFS内部的复制)
hadoop fs -rm /test1/test.txt (移除)
hadoop fs -mv /test/test.txt /test1 (移动)
hadoop fs -rm -r /test1 (删除文件夹)
hadoop fs -help ls (查阅帮助,该命令为查看ls命令)
上传文件(将hadoop-2.10.0.tar.gz上传到hdfs/路径)
执行“-put”命令:
hdfs dfs -put </hadoop-2.10.0.tar.gz></>
下载文件(将hadoop-2.10.0.tar.gz下载到/usr中)
执行“-get”命令
hdfs dfs -get </hadoop-2.10.0.tar.gz></usr>