paulwong

          #

          【轉載】經典漫畫講解HDFS原理

          分布式文件系統比較出名的有HDFS  和 GFS,其中HDFS比較簡單一點。本文是一篇描述非常簡潔易懂的漫畫形式講解HDFS的原理。比一般PPT要通俗易懂很多。不難得的學習資料。


          1、三個部分: 客戶端、nameserver(可理解為主控和文件索引,類似linux的inode)、datanode(存放實際數據)

          在這里,client的形式我所了解的有兩種,通過hadoop提供的api所編寫的程序可以和hdfs進行交互,另外一種就是安裝了hadoop的datanode其也可以通過命令行與hdfs系統進行交互,如在datanode上上傳則使用如下命令行:bin/hadoop fs -put example1 user/chunk/


          2、如何寫數據過程





          3、讀取數據過程



          4、容錯:第一部分:故障類型及其檢測方法(nodeserver 故障,和網絡故障,和臟數據問題)




          5、容錯第二部分:讀寫容錯



          6、容錯第三部分:dataNode 失效



          7、備份規則



          8、結束語

          posted @ 2013-10-26 09:15 paulwong 閱讀(638) | 評論 (0)編輯 收藏

          OAUTH 2.0資源

          http://wenku.baidu.com/view/0c80c91bb7360b4c2e3f647c.html


          OAuth 2.0 Tutorial
          http://tutorials.jenkov.com/oauth2/index.html


          New JavaScript SDK & OAuth 2.0 based FBConnect Tutorial
          http://thinkdiff.net/facebook/new-javascript-sdk-oauth-2-0-based-fbconnect-tutorial/


          Twitter OAuth
          http://robfig.github.io/revel/samples/twitter-oauth.html










          posted @ 2013-10-24 11:27 paulwong 閱讀(489) | 評論 (0)編輯 收藏

          vi 常用命令行

          1.vi 模式
            a) 一般模式: vi 處理文件時,一進入該文件,就是一般模式了.
            b) 編輯模式:在一般模式下可以進行刪除,復制,粘貼等操作,卻無法進行編輯操作。等按下‘i,I,o,O,a,A,r,R’等
          字母之后才能進入編輯模式.通常在linux中,按下上述字母時,左下方會出現'INSERT'或者‘REPLACE’字樣,才可以
          輸入任何文字到文件中.要回到一般模式,按下[ESC]鍵即可.
            c) 命令行模式:在一般模式中,輸入“: 或者/或者?”,即可將光標移動到最下面一行,在該模式下,您可以搜索數據,而且讀取,
             存盤,大量刪除字符,離開vi,顯示行號等操作.

          2.vi 常用命令匯總:

          2.1 一般模式
            a) 移動光標:
            --> 上下左右方向鍵 ↑↓← →
            --> 翻頁 pagedown / pageup 按鍵
            --> 數字 0 : 將光標移動到當前行首
             --> $ :   將光標移動到當前行尾
             --> G : 移動到這個文件的最后一行 nG : n 為數字,移動到這個文件的第n行.
            --> gg: 移動到這個文件的第一行 相當于 1G

            b) 搜索與替換
            --> /word : 從光標開始,向下查詢一個名為word的字符串。
            --> :n1、n2s/word1/word2/g : n1 與n2 為數字.在第n1與n2行之間尋找word1這個字符串,
            并將該字符串替換為word2。
             --> :1、$s/word1/word2/g : 從第一行到最后一行尋找word1字符串,并將該字符串替換為word2
            --> :1、$s/word1/word2/gc: 從第一行到最后一行尋找word1字符串,并將該字符串替換為word2。
            并且在替換之前顯示提示符給用戶確認(conform)是否需要替換。
             c) 刪除,復制,粘貼
             --> x,X : 在一行中,x為向后刪除一個字符(相當于del鍵),X為向前刪除一個字符(相當于backspace鍵)。
            --> dd : 刪除光標所在的那一整行。
            --> ndd : n 為數字。從光標開始,刪除向下n列。
             --> yy : 復制光標所在的那一行。
             --> nyy : n為數字。復制光標所在的向下n行。
             --> p,P : p 為將已復制的數據粘貼到光標的下一行,P則為貼在光標的上一行。
            --> u : 復原前一個操作
             --> CTRL + r : 重做上一個操作。
            --> 小數點'.': 重復前一個動作。

          2.2 編輯模式:
            a) i, I : 在光標所在處插入輸入文字,已存在的文字向后退。i 為‘從當前光標所在處插入’,I 為‘在當前所在行的一個非空格符處開始插入’。
             b) a, A : a 為‘從當前光標所在處的下一個字符開始插入’。A 為‘從光標所在行的最后一個字符處開始插入’。
            c) o,O : 這是英文o的大小寫。o為‘在當前光標所在行的下一行處插入新的一行’。O表示‘在當前光標所在行的上一行插入新的一行’。
            d) r,R : 替換:r 會替換光標所在的那一個字符。 R : 會一直替換光標所在的字符,直到按下esc 鍵為止。
            e) ESC : 進入一般模式。

          2.3 命令模式:
            a) :w : 將編輯的數據寫入硬盤
             b) :q : 離開vi
             c) :q! : 強制離開,不存儲
            d) :wq : 存儲后離開
            e) :wq! : 強制存儲后離開

          3. vim 附加命令行
          3.1 塊選擇(visual block)
            v 字符選擇,將光標經過的地方反白顯示
            V 行選擇,會將光標經過的行反白選擇
            ctrl + v 塊選擇,可以用長方形的方式選擇數據
            y 復制反白的地方
            d 將反白的地方刪除掉

          3.2 多文件編輯
            :n 編輯下一個文件
              :N 編輯上一個文件
            :files 列出當前vim 打開的所有文件

          3.3 多窗口功能
          :sp 【filename】打開一個新窗口,如果加filename,表示在新窗口打開一個新文件
             否則表示兩個窗口為同一個文件內容
          ctrl+wj 先按下ctrl ,再按下w后,放開所有按鍵,然后按下j,則光標可移動到下方的窗口
          ctrl+wk 同上,不過光標移動到上面的窗口
          ctrl+wq 其實就是:q結束離開。

          posted @ 2013-10-19 20:05 paulwong 閱讀(271) | 評論 (0)編輯 收藏

          一些數據切分、緩存、rpc框架、nosql方案資料

          1、數據切分

                  1.1、mysql中間件研究(Atlas,cobar,TDDL) 

                  1.2、利用 MySQL Proxy 實現數據切分及整合 

                  1.3、基于MySQL分庫分表方案簡介 

                  1.4、tddl和diamond  

          2、緩存

                  2.1、java客戶端三種方式操作 

                  2.2、myibatis配置memcached評測 

                  2.3、Memcached + Spring Caching 

                  2.4、memcachedb-持久化存儲的緩存系統 

                  2.5、memcachedb讓memcache的數據持久化 

                  2.6、淘寶kv緩存框架tair 

                  2.7、ibatis之擴展緩存ibatis-tair-cache 

          3、rpc框架

                  3.1、dubbo 

                  3.2、hsf 未開源

                  3.3、服務框架HSF分析之一容器啟動

          4、noSql

                  4.1、學習NoSQL數據庫的必讀資料 

          posted @ 2013-10-14 10:14 paulwong 閱讀(2491) | 評論 (0)編輯 收藏

          啟用TOMCAT的SSL

          本教程使用 JDK 6 和 Tomcat 7,其他版本類似。

          基本步驟:

          使用 java 創建一個 keystore 文件
          配置 Tomcat 以使用該 keystore 文件
          測試
          配置應用以便使用 SSL ,例如 https://localhost:8443/yourApp
          1. 創建 keystore 文件

          執行 keytool -genkey -alias tomcat -keyalg RSA 結果如下
          loiane:bin loiane$ keytool -genkey -alias tomcat -keyalg RSA
          Enter keystore password:  password
          Re-enter new password: password
          What is your first and last name?
            [Unknown]:  Loiane Groner
          What is the name of your organizational unit?
            [Unknown]:  home
          What is the name of your organization?
            [Unknown]:  home
          What is the name of your City or Locality?
            [Unknown]:  Sao Paulo
          What is the name of your State or Province?
            [Unknown]:  SP
          What is the two-letter country code for this unit?
            [Unknown]:  BR
          Is CN=Loiane Groner, OU=home, O=home, L=Sao Paulo, ST=SP, C=BR correct?
            [no]:  y
           
          Enter key password for
              (RETURN if same as keystore password):  password
          Re-enter new password: password


          這樣就在用戶的主目錄下創建了一個 .keystore 文件

          2. 配置 Tomcat 以使用 keystore 文件

          打開 server.xml 找到下面被注釋的這段
          <!--
          <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
              maxThreads="150" scheme="https" secure="true"
              clientAuth="false" sslProtocol="TLS" />
          -->

          干掉注釋,并將內容改為
          <Connector SSLEnabled="true" acceptCount="100" clientAuth="false"
              disableUploadTimeout
          ="true" enableLookups="false" maxThreads="25"
              port
          ="8443" keystoreFile="/Users/loiane/.keystore" keystorePass="password"
              protocol
          ="org.apache.coyote.http11.Http11NioProtocol" scheme="https"
              secure
          ="true" sslProtocol="TLS" />

          3. 測試

          啟動 Tomcat 并訪問 https://localhost:8443. 你將看到 Tomcat 默認的首頁。

          需要注意的是,如果你訪問默認的 8080 端口,還是有效的。

          4. 配置應用使用 SSL

          打開應用的 web.xml 文件,增加配置如下:
          <security-constraint>
              <web-resource-collection>
                  <web-resource-name>securedapp</web-resource-name>
                  <url-pattern>/*</url-pattern>
              </web-resource-collection>
              <user-data-constraint>
                  <transport-guarantee>CONFIDENTIAL</transport-guarantee>
              </user-data-constraint>
          </security-constraint>

          將 URL 映射設為 /* ,這樣你的整個應用都要求是 HTTPS 訪問,而 transport-guarantee 標簽設置為 CONFIDENTIAL 以便使應用支持 SSL。

          如果你希望關閉 SSL ,只需要將 CONFIDENTIAL 改為 NONE 即可。

          如果是MAVEN的TOMCAT插件,則加入如下配置
          <build>
                  <finalName>test-dropbox</finalName>
                  <plugins>
                      <plugin>
                          <groupId>org.apache.maven.plugins</groupId>
                          <artifactId>maven-compiler-plugin</artifactId>
                          <version>2.5.1</version>
                          <configuration>
                              <source>1.6</source>
                              <target>1.6</target>
                          </configuration>
                      </plugin>
                      <plugin>
                          <groupId>org.apache.tomcat.maven</groupId>
                          <artifactId>tomcat7-maven-plugin</artifactId>
                          <version>2.0</version>
                          <configuration>
                              <httpsPort>8443</httpsPort>
                              <keystorePass>password</keystorePass>
                              <keystoreFile>C:\Users\PAUL\.keystore</keystoreFile>
                          </configuration>
                      </plugin>
                  </plugins>
              </build>






          posted @ 2013-10-14 08:02 paulwong 閱讀(1832) | 評論 (0)編輯 收藏

          xshell ubuntu 連接

          用xshell連接vm上的ubuntu
          1.
          File->new
          在host里面填寫你要連接的主機的ip地址 192.168.1.x


          2.點Authentication出現下面的對話框
          User Name 里面填的是你要連接要主機上的用戶名 隨便填寫
          Password 你設定的密碼,不要忘了。
          然后你可以測試下是否可以進去了,
          File->open
          選擇你新建的 點擊connect。
          碰到的問題,我在點了connect 在xshell下面出現如下的代碼:
          Xshell displays "Could not connect to 'hostname' (port 22): Connection failed." message.

          說明沒有開啟SSH的22端口
          在ubuntu終端下運行
          sudo netstat –antup
          看下面是否有一個22端口,如果沒有需要安裝SSHD服務,可以直接運行安裝服務
          sudo apt-get install openssh-server

          安裝完之后再查看一下是否開啟了22端口,如果開啟了,那么用xshell來連接基本上就沒什么問題了
          還有一個是在xshell中的中文亂碼問題
          輸入:
          Locale
          輸出:
          LANG=zh_CN.UTF-8
          LC_CTYPE=”zh_CN.UTF-8″
          LC_NUMERIC=”zh_CN.UTF-8″
          LC_TIME=”zh_CN.UTF-8″
          LC_COLLATE=”zh_CN.UTF-8″
          LC_MONETARY=”zh_CN.UTF-8″
          LC_MESSAGES=”zh_CN.UTF-8″
          LC_PAPER=”zh_CN.UTF-8″
          LC_NAME=”zh_CN.UTF-8″
          LC_ADDRESS=”zh_CN.UTF-8″
          LC_TELEPHONE=”zh_CN.UTF-8″
          LC_MEASUREMENT=”zh_CN.UTF-8″
          LC_IDENTIFICATION=”zh_CN.UTF-8″
          LC_ALL=
          說明系統的中文編碼是采用utf8的,為了在xshell中正常的顯示中文,我們要把xshell編碼方式改成utf8
          [文件]–>[打開]–>在打開的session中選擇連接的那個 ,點擊properties -> [Terminal ] ,在右邊的translation先選擇utf8,然后重新連接服務器即可。

          如何將windwos上的文件傳輸到虛擬機上的linux 上
          輸入:
          rz –help
          如果出現
          程序“rz”尚未安裝。 您可以使用以下命令安裝:
          sudo apt-get install lrzsz
          說明你還沒有安裝rz 輸入:
          sudo apt-get install lrzsz
          安裝rz
          切換到你要存放文件的目錄
          File->Transfer->Send ZMODEM,出現一個對話框,選擇你要傳輸的文件就可以了。

          posted @ 2013-10-13 08:28 paulwong 閱讀(429) | 評論 (0)編輯 收藏

          Disable ipv6 on ubuntu

          1. For disable IPv6 on Ubuntu Server, we need add these configuration lines in /etc/sysctl.conf
            # IPv6 configuration
            net.ipv6.conf.all.disable_ipv6 = 1
            net.ipv6.conf.default.disable_ipv6 = 1
            net.ipv6.conf.lo.disable_ipv6 = 1

          2. Reload configurationf or sysctl.conf
            sysctl -p
          3. Check IPv6 is disabled on Ubuntu Server
             root@ip-10-48-234-13:/# ip addr
            1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
            link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
            inet 127.0.0.1/8 scope host lo
            2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
            link/ether 12:31:3c:03:e9:fb brd ff:ff:ff:ff:ff:ff
            inet 10.48.234.13/23 brd 10.48.235.255 scope global eth0




          posted @ 2013-10-08 21:19 paulwong 閱讀(335) | 評論 (0)編輯 收藏

          卸載CENTOS的OPENJDK

          先查看

          rpm -qa | grep java


          顯示如下信息:

          javapackages-tools-0.9.1-1.2.amzn1.noarch
          java-1.6.0-openjdk-1.6.0.0-62.1.11.11.90.55.amzn1.x86_64
          tzdata-java-2013c-2.18.amzn1.noarch


          卸載:

          rpm -e --nodeps javapackages-tools-0.9.1-1.2.amzn1.noarch
          rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-62.1.11.11.90.55.amzn1.x86_64
          rpm -e --nodeps tzdata-java-2013c-2.18.amzn1.noarch


          還有一些其他的命令

          rpm -qa | grep gcj
          rpm -qa | grep jdk


          如果出現找不到openjdk source的話,那么還可以這樣卸載

          yum -y remove java java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
          yum -y remove java java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5


          <1># rpm -qa|grep jdk ← 查看jdk的信息或直接執行 
          或 
          # rpm -q jdk 
          或 
          # java -version 
          <2># rpm -qa | grep gcj ← 確認gcj的版本號 
          <3># yum -y remove java-1.4.2-gcj-compat ← 卸載gcj 

          安裝SUN JDK
          http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html#jdk-6u45-oth-JPR

          posted @ 2013-10-02 19:00 paulwong 閱讀(331) | 評論 (0)編輯 收藏

          ELASTICSEARCH資源

          加索引:
          http://www.elasticsearch.org/guide/reference/api/index_/


          查詢:
          http://www.elasticsearch.org/blog/your-data-your-search/


          JAVA API,注意端口是9300,不是9200
          http://stackoverflow.com/questions/16670219/why-cant-i-connect-to-elasticsearch-through-java-api
          http://www.elasticsearch.org/guide/reference/java-api/client/


          書籍
          http://fuxiaopang.gitbooks.io/learnelasticsearch/getting_started/README.html


          posted @ 2013-09-12 17:51 paulwong 閱讀(772) | 評論 (0)編輯 收藏

          KAFKA資源

          Running a Multi-Broker Apache Kafka 0.8 Cluster on a Single Node
          http://www.michael-noll.com/blog/2013/03/13/running-a-multi-broker-apache-kafka-cluster-on-a-single-node/


          Kafka部署與代碼實例
          http://shift-alt-ctrl.iteye.com/blog/1930791 

          Flume-ng+Kafka+storm的學習筆記
          http://blog.csdn.net/zxcvg/article/details/18600335


          Storm應用系列之——集成Kafka(0.8版的KAFKA)
          http://blog.csdn.net/xeseo/article/details/18615761

          posted @ 2013-09-11 15:22 paulwong 閱讀(469) | 評論 (0)編輯 收藏

          僅列出標題
          共115頁: First 上一頁 60 61 62 63 64 65 66 67 68 下一頁 Last 
          主站蜘蛛池模板: 武隆县| 辽阳市| 靖江市| 中宁县| 邵武市| 福泉市| 茂名市| 长治市| 玛曲县| 高尔夫| 凌海市| 株洲市| 磐石市| 商河县| 林芝县| 清水县| 娄底市| 大关县| 阳西县| 新巴尔虎左旗| 丰顺县| 灵宝市| 健康| 达州市| 尉氏县| 疏勒县| 简阳市| 永丰县| 湟中县| 漯河市| 格尔木市| 肥城市| 同心县| 崇礼县| 杭州市| 彭阳县| 沧源| 大田县| 政和县| 莱芜市| 江永县|