Hadoop+Spark+Scala+R+PostgreSQL+Zeppelin安装过程-Hadoop安装及测试

原文地址:http://blog.****.net/meng___xia/article/details/54617959


在上一篇环境安装完成的基础上进行Hadoop的安装和配置。
3.7Hadoop安装
需要在3台服务器上都安装 Hadoop。首先通过sftp将下载下来的二进制的 Hadoop包上传到Master,
将Hadoop 压缩包 hadoop-2.6.3.tar.gz移动到/usr/local/program/目录下,使用tar zxvf  hadoop-2.6.3.tar.gz 解压缩。
进入 /usr/local/program/hadoop-2.6.3/etc/hadoop查看配置文件如下
Hadoop+Spark+Scala+R+PostgreSQL+Zeppelin安装过程-Hadoop安装及测试
3.7.1 Hadoop环境变量配置
1、首先将Hadoop的安装路径配置到环境变量中
vi /etc/profile
export JAVA_HOME=/usr/local/program/jdk1.7.0_80
export JRE_HOME=/usr/local/program/jdk1.7.0_80/jre
export CLASS_PATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export HADOOP_HOME=/usr/local/program/hadoop-2.6.3
export HADOOP_CONF_DIR=/usr/local/program/hadoop-2.6.3/etc/hadoop
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$PATH
保存退出后source /etc/profile 使改动生效。

2、并把jdk的环境变量加入到Hadoop的环境变量中
vi /usr/local/program/hadoop-2.6.3/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/local/program/jdk1.7.0_80
保存退出。
vi /usr/local/program/hadoop-2.6.3/etc/hadoop/yarn-env.sh
export JAVA_HOME=/usr/local/program/jdk1.7.0_80
保存退出。
3、Hadoop version 验证效果
Hadoop+Spark+Scala+R+PostgreSQL+Zeppelin安装过程-Hadoop安装及测试
3.7.2 Hadoop 文件配置
首先在Master先配置,然后分发到各个slave上
1、core-site.xml
主要是配置HDFS的地址和端口号
文件名 core-site.xml
参数名称 属性值 备注
fs.defaultFS hdfs://bigdata1:9000 接收Client连接的RPC端口,用于获取文件系统metadata信息。
hadoop.tmp.dir /usr/local/program/hadoop-2.6.3/tmp 需要事先在目录下创建tmp文件,如没有配置hadoop.tmp.dir参数,此时系统默认的临时目录为:/tmp/hadoo-hadoop。而这个目录在每次重启后都会被干掉,必须重新执行format才行,否则会出错。
hadoop.proxyuser.hadoop.hosts *
hadoop.proxyuser.hadoop.groups *
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <property> 
    <name>io.file.buffer.size</name> 
        <value>131072</value> 
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/program/hadoop-2.6.3/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property> 
        <name>hadoop.proxyuser.hadoop.hosts</name> 
        <value>*</value> 
    </property> 
    <property> 
        <name>hadoop.proxyuser.hadoop.groups</name> 
        <value>*</value> 
    </property>
2、 hdfs.xml
修改Hadoop中HDFS的配置,配置的备份方式默认为3。 replication 是数据副本数量,默认为3,salve少于3台就会报错 .
文件名 hdfs.xml
参数名称 属性值 备注
dfs.namenode.secondary.http-address master:9001 secondary name node web 监听端口
dfs.namenode.name.dir file:/usr/local/program/hadoop-2.6.3/name data node的数据目录,以,号隔开,hdfs会把数据存在这些目录下,一般这些目录是不同的块设备,不存在的目录会被忽略掉
dfs.namenode.data.dir file:/usr/local/program/hadoop-2.6.3/data Determines where on the local filesystem the DFS name node should store the name table(fsimage). If this is a comma-delimited list of directories then the name table is replicated in all of the directories, for redundancy. name node的元数据保存,以,号隔开,hdfs会把元数据冗余复制到这些目录,一般这些目录是不同的块设备,不存在的目录会被忽略掉
dfs.replication 1 一个文件上传到hdfs上的副本数。
dfs.webhdfs.enabled TRUE 默认访问namenode的hdfs使用50070端口,访问datanode的webhdfs使用50075端口。访问文件、文件夹信息使用namenode的IP和50070端口,访问文件内容或者进行打开、上传、修改、下载等操作使用datanode的IP和50075端口。要想不区分端口,直接使用namenode的IP和端口进行所有的webhdfs操作,就需要在所有的datanode上都设置hefs-site.xml中的dfs.webhdfs.enabled为true
<configuration> 
<property> 
<name>dfs.namenode.secondary.http-address</name> 
<value>master:9001</value> 
</property> 
<property> 
<name>dfs.namenode.name.dir</name> 
<value>file:/usr/local/program/hadoop-2.6.3/name</value> 
</property> 

<property> 
<name>dfs.namenode.data.dir</name> 
<value>file:/usr/local/program/hadoop-2.6.3/data</value> 
</property> 

<property> 
<name>dfs.replication</name> 
<value>1</value> 
</property> 
<property> 
<name>dfs.webhdfs.enabled</name> 
<value>true</value> 
</property> 
</configuration>
3、 mapred-site.xml
文件名 mapred-site.xml
参数名称 属性值 备注
mapreduce.framework.name yarn 选择调度方式
 
mapreduce.jobhistory.address master:10020 MapReduce JobHistory Server地址
mapreduce.jobhistory.webapp.address master:19888 MapReduce JobHistory Server Web UI地址

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>

        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>master:10020</value>
        </property>

        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>master:19888</value>
        </property>


</configuration>
4、yarn-site.xml
文件名 yarn-site.xml
参数名称 属性值 备注
yarn.nodemanager.aux-services mapreduce_shuffle yarn提供了一个yarn.nodemanager.aux-services的配置项,通过该配置,用户可以自定义一些服务,例如Map-Reduce的shuffle功能就是采用这种方式实现的。
yarn.nodemanager.aux-services.mapreduce.shuffle.class org.apache.hadoop.mapred.ShuffleHandler 为了能够运行MapReduce程序,需要让各个NodeManager在启动时加载shuffle server,shuffle server实际上是Jetty/Netty Server,Reduce Task通过该server从各个NodeManager上远程拷贝Map Task产生的中间结果
yarn.resourcemanager.scheduler.address master:18030 参数解释:ResourceManager 对ApplicationMaster暴露的访问地址。ApplicationMaster通过该地址向RM申请资源、释放资源等。
yarn.resourcemanager.resource-tracker.address master:18031 参数解释:ResourceManager 对NodeManager暴露的地址.。NodeManager通过该地址向RM汇报心跳,领取任务等。
yarn.resourcemanager.address master:18032 ResourceManager 对客户端暴露的地址。客户端通过该地址向RM提交应用程序,杀死应用程序等。
yarn.resourcemanager.admin.address master:18033 ResourceManager 对管理员暴露的访问地址。管理员通过该地址向RM发送管理命令等。
yarn.resourcemanager.webapp.address master:18088 ResourceManager对外web ui地址。用户可通过该地址在浏览器中查看集群各类信息。
<configuration>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
                <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>
        <property>
                <name>yarn.resourcemanager.address</name>
                <value>master:18032</value>
        </property>
        <property>
                <name>yarn.resourcemanager.scheduler.address</name>
                <value>master:18030</value>
        </property>
        <property>
                <name>yarn.resourcemanager.resource-tracker.address</name>
                <value>master:18031</value>
        </property>
        <property>
                <name>yarn.resourcemanager.admin.address</name>
                <value>master:18033</value>
        </property>
        <property>
                <name>yarn.resourcemanager.webapp.address</name>
                <value>master:18088</value>
        </property>
</configuration>
5、修改master和slaves文件
vi master
Master
保存退出
vi slaves
Slave01
Slave02
保存退出
6、分发配置好的安装文件
scp -r hadoop-2.6.3 [email protected]:/usr/local/program/
scp -r hadoop-2.6.3root@Slave02:/usr/local/program/
7、格式化namenode
在Master上进入目录/usr/local/program/hadoop-2.6.3/bin中执行
./hdfs namenode -format
8、验证是否成功
cd /usr/local/program/hadoop-2.6.3/sbin/
./start-dfs.sh
./start-yarn.sh
1、在服务器上输入jps,出现标红的进程
Hadoop+Spark+Scala+R+PostgreSQL+Zeppelin安装过程-Hadoop安装及测试
Hadoop+Spark+Scala+R+PostgreSQL+Zeppelin安装过程-Hadoop安装及测试
 2、Hadoop Web界面(HDFS)
http://192.168.50.230:50070/dfshealth.html#tab-overview
Hadoop+Spark+Scala+R+PostgreSQL+Zeppelin安装过程-Hadoop安装及测试
3、Yarn资源管理界面
http://192.168.50.230:18088/cluster
Hadoop+Spark+Scala+R+PostgreSQL+Zeppelin安装过程-Hadoop安装及测试
4、测试上传文件到hdfs上
mkdir test1
cat > test1/cst_test1
hello world!
lt's a lovely day!
Hadoop+Spark+Scala+R+PostgreSQL+Zeppelin安装过程-Hadoop安装及测试
5、运行 Wordcount示例
进入/usr/local/program/hadoop-2.6.3/目录下
执行bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.3.jar wordcount /test1 /out1
Hadoop+Spark+Scala+R+PostgreSQL+Zeppelin安装过程-Hadoop安装及测试
Hadoop+Spark+Scala+R+PostgreSQL+Zeppelin安装过程-Hadoop安装及测试
Hadoop+Spark+Scala+R+PostgreSQL+Zeppelin安装过程-Hadoop安装及测试
Hadoop+Spark+Scala+R+PostgreSQL+Zeppelin安装过程-Hadoop安装及测试